T05 · Unauthorized Access and Privilege Escalation
- Location
SKILL.md:15- Finding
Excessive and Ambiguous Tool Permissions
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 15–17 and 22
Vulnerability Type: Excessive tool permissions and ambiguous permission configuration
Risk Level: MediumVulnerable Code
yaml tools: - - read - execyaml tools: ["read", "write", "exec", "glob", "grep"]Technical Analysis
The skill is a Markdown-based methodology for generating AI agent personality cards. Its documented core functionality consists of processing natural-language input and producing structured text. Nevertheless, it declares broad capabilities including arbitrary command execution, filesystem modification, and filesystem-wide searching.
These permissions exceed the skill's stated functional requirements:
execcan run local operating-system commands.writecan modify accessible files.globandgrepcan discover and inspect files beyond user-supplied content.- Only limited text-processing or read access appears necessary for the documented task.
The front matter also defines
toolstwice and uses inconsistent structures. One declaration contains a nested list forread, while the other uses a flat inline list. YAML parsers may reject duplicate keys, retain only the first declaration, or silently use the last declaration. This makes the effective permission set dependent on platform parser behavior and complicates reliable policy enforcement.No malicious command, executable payload, credential access, persistence mechanism, or data-exfiltration instruction was identified. The risk arises from unnecessary capabilities and ambiguous configuration rather than a demonstrated malicious payload.
Attack Path
- A user installs or loads the skill on an agent platform that grants tools according to the
toolsmetadata. - The platform parses one of the duplicate declarations, potentially granting
exec,write,glob, andgrep. - An attacker supplies adversarial personality-definition content or prompt-injection tex ...[truncated 1252 chars]
- Remediation
View remediation
Remediation Suggestions
-
Remove tools that are unnecessary for generating personality cards:
- Remove
exec. - Remove
write. - Remove
glob. - Remove
grep. - Retain
readonly if the skill must process existing local files; otherwise declare no tools.
- Remove
-
Define the
toolskey exactly once using an unambiguous YAML structure. For example:
yaml tools: []If local reading is genuinely required:
yaml tools: - read-
Enforce least privilege at the hosting-platform level rather than relying solely on skill metadata:
- Require explicit user approval for filesystem or command operations.
- Restrict file access to a dedicated project directory.
- Run agents under an unprivileged operating-system account.
- Deny network and shell access by default.
- Apply command allowlists if execution is later introduced.
-
Add automated metadata validation that rejects duplicate YAML keys and malformed nested tool declarations before the skill is published or loaded.
-
Document each requested tool and its exact use case so reviewers can verify that every permission is necessary for the skill's declared behavior.
-
