T05 · Unauthorized Access and Privilege Escalation
- Location
SKILL.md:15- Finding
Unnecessary Shell Execution and Local File Read Permissions
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:15
Vulnerability Type: Excessive agent tool permissions
Risk Level: Mediumyaml allowed-tools: Bash, ReadTechnical Analysis
The Skill declares access to both
BashandRead, although its documented purpose is to generate travel and hospitality advertising briefs. The workflow inSKILL.mdonly requires gathering campaign requirements, producing content, optionally enriching assets, and refining the result. It does not document any need to execute operating-system commands or read arbitrary local files.Granting these tools violates the principle of least privilege.
Readcan expose files available to the agent process, whileBashcan execute commands with the privileges of that process. The declaration does not itself perform unauthorized actions, but it creates an unnecessary capability boundary that could be abused if the Skill instructions, external inputs, or upstream package are later compromised.Attack Path
- A user installs and loads the Skill, granting it the declared
BashandReadtools. - The Skill processes malicious campaign content, compromised instructions, or a malicious future version of the Skill.
- Those instructions cause the agent to invoke
Readagainst accessible local files or execute commands throughBash. - The resulting data could be disclosed through generated output, or commands could modify resources available to the agent account.
This exploitation path is conditional; the reviewed files contain no instruction that currently invokes these tools maliciously.
Impact Assessment
Successful abuse could read data accessible to the agent process and execute shell commands under the agent's operating-system identity. The precise scope depends on runtime sandboxing, filesystem permissions, command restrictions, and whether credentials or sensitive files are available to that identity. No privilege-e ...[truncated 98 chars]
- A user installs and loads the Skill, granting it the declared
- Remediation
View remediation
Remediation Suggestions
Remove
BashandReadfromallowed-toolsbecause they are not required by the documented content-generation workflow. Grant only the chat and image-generation capabilities necessary for the Skill's stated purpose.If local file access is genuinely required, replace unrestricted access with a narrowly scoped interface that:
- Allows reads only from explicitly approved input paths.
- Rejects traversal and symbolic-link escapes.
- Prevents access to credentials, configuration files, and unrelated user data.
- Records file-access events for review.
If command execution is essential, document the exact commands and arguments, use a strict allowlist, avoid shell interpretation, run the command in a sandbox with minimal filesystem and network access, and require explicit user approval before execution.
