T05 · Unauthorized Access and Privilege Escalation
- Location
SKILL.md:6- Finding
Unnecessary High-Risk Tool Permissions Violate Least Privilege
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 6
Vulnerability Type: Excessive tool authorization
Risk Level: MediumVulnerable Code
yaml allowed-tools: Read, Write, Edit, Bash, WebFetchTechnical Analysis
The skill is a documentation-only business coaching assistant. Its declared workflow consists of asking contextual questions and returning strategic recommendations and action items. This conversational functionality does not require filesystem access, file modification, shell execution, or outbound network access.
Nevertheless, the skill authorizes five powerful tools:
Readcan access local files available to the agent.WriteandEditcan create or alter local files.Bashcan execute operating-system commands within the agent's security context.WebFetchcan communicate with external resources and retrieve remote content.
Granting these capabilities without a legitimate functional requirement violates the principle of least privilege. The reviewed instructions do not directly command malicious tool use, but the excessive authorization increases the consequences of malicious user input, indirect prompt injection, or future changes to the skill.
Attack Path
A plausible exploitation path is:
- A user loads or invokes the skill, causing its broad tool authorization to become available.
- The attacker supplies business context containing adversarial instructions or prompt-injected content.
- The injected content attempts to persuade the agent that reading local files, running shell commands, modifying files, or contacting an external endpoint is necessary for its coaching task.
- If the agent follows those instructions without adequate authorization checks, it invokes one or more of the unnecessarily permitted tools.
- The attacker may obtain information exposed in tool output, cause unauthorized file changes, execute commands, or induce outbound communication within the permissions of the ...[truncated 800 chars]
- Remediation
View remediation
Remediation Suggestions
- Remove the
allowed-toolsdeclaration entirely if the platform treats an omitted declaration as no tool access. - Otherwise, replace it with an explicitly empty tool allowlist.
- Do not grant
Bash,Write,Edit,Read, orWebFetchbecause none is necessary for the documented conversational workflow. - If a future feature requires a tool, authorize only the narrowest tool needed for that specific operation.
- Require explicit user confirmation before any future filesystem modification, command execution, sensitive file access, or outbound network request.
- Apply host-level sandboxing, path restrictions, command allowlisting, outbound network controls, and sensitive-output filtering as defense-in-depth measures.
- Reassess tool permissions whenever the skill's functionality changes, documenting the business justification for each granted capability.
- Remove the
