T05 · Unauthorized Access and Privilege Escalation
- Location
SKILL.md:13- Finding
Unnecessary Shell Execution Permission Violates Least Privilege
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 13-16
Vulnerability Type: Excessive tool permissions
Risk Level: MediumVulnerable Code
yaml tools: - read - exec - writeTechnical Analysis
The skill requests the
exectool, which grants the agent a shell-command execution channel. The documented functionality is limited to analyzing resume text, improving its wording, and exporting generated content as Markdown or HTML. None of the documented workflows defines a legitimate need to execute operating-system commands.Granting shell execution beyond the skill's functional requirements violates the principle of least privilege. Resume content is attacker-controllable input and may contain adversarial instructions. If the hosting agent does not adequately isolate data from instructions, such content could attempt to induce use of the declared
execcapability.The file does not itself contain a malicious command or direct the agent to invoke
exec. Exploitation therefore depends on the host granting declared tools and allowing untrusted content to influence tool calls. Nevertheless, exposing an unnecessary command-execution capability materially increases the consequences of such an agent-control failure.Attack Path
- A user or attacker supplies a crafted resume containing adversarial instructions.
- The skill is loaded with its declared
execpermission available to the agent. - The agent incorrectly treats instructions embedded in the resume as trusted operational instructions.
- The injected instructions induce the agent to invoke
exec. - Commands execute with the operating-system privileges and environmental access assigned to the agent process.
No direct command, persistence mechanism, or data-exfiltration endpoint is present in the audited file; this path is conditional on unsafe behavior by the hosting agent.
Impact Assessment
Successful expl ...[truncated 558 chars]
- Remediation
View remediation
Remediation Suggestions
- Remove
execfrom the declared tools because no documented feature requires shell execution:yaml tools: - read - write - If resumes are supplied directly in the conversation and exports are returned as text, remove both filesystem tools as well.
- If file export is required, restrict
writeto a dedicated output directory, reject absolute paths and traversal sequences, and prevent overwriting existing or executable files without explicit approval. - Treat all resume content as untrusted data and prohibit instructions found inside it from authorizing tool calls.
- Require explicit user confirmation before any operation outside resume analysis or document generation.
- Enforce runtime sandboxing, minimal filesystem permissions, restricted environment-variable access, and network isolation as defense-in-depth controls.
- Remove
