T05 · Unauthorized Access and Privilege Escalation
- Location
SKILL.md:1- Finding
Unnecessary Shell and Filesystem Capabilities Violate Least Privilege
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:1-5
Vulnerability Type: Excessive agent tool permissions
Risk Level: MediumVulnerable Configuration:
yaml --- name: Generate Roofing Contractor Client Education Handout description: "Create a polished explainer handout with visuals, FAQs, and clear next steps for a roofing contractor. Use when handling client education work for..." allowed-tools: Bash, Read metadata:Technical Analysis
The skill explicitly authorizes the
BashandReadtools, while its documented purpose and workflow are limited to generating and refining a roofing client-education handout. The listed workflow does not identify any operation that requires shell command execution or access to local files.Granting
Bashunnecessarily expands the skill's authority from content generation to arbitrary command execution within the permissions of the hosting agent process. GrantingReadsimilarly exposes locally readable files without a documented functional requirement. This violates the principle of least privilege and increases the consequences of prompt injection, malicious source material, or accidental tool invocation.The configuration does not itself contain a malicious command, and exploitation depends on untrusted instructions or model behavior causing the authorized tools to be invoked.
Attack Path
- A user activates the skill to prepare a roofing handout.
- The skill is loaded with
BashandReadauthorization. - The agent processes attacker-controlled or otherwise untrusted content, such as copied roofing information or instructions embedded in source material.
- That content attempts to induce the agent to read local files or issue shell commands.
- Because the unnecessary tools are authorized, the agent may execute the requested operation within its runtime permission boundary.
- Any resulting access is limited by the operating-system pri ...[truncated 567 chars]
- Remediation
View remediation
Remediation Suggestions
- Remove
BashandReadfromallowed-toolsbecause neither capability is required by the documented workflow. - Permit only the content-generation interfaces needed for the skill, such as the declared chat and image-generation capabilities.
- If local file input is later required, expose a narrowly scoped read interface restricted to user-selected files rather than general filesystem access.
- If shell execution becomes necessary for a future feature, use an explicit command allowlist, argument validation, sandboxing, and per-invocation user approval.
- Add a permissions review to release checks so that every authorized tool maps to a documented workflow requirement.
- Remove
