T05 · Unauthorized Access and Privilege Escalation
- Location
SKILL.md:15- Finding
Excessive Tool Permissions Violate Least Privilege
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:15
Vulnerability Type:T05: Unauthorized Access and Privilege Escalation
Risk Level: MediumVulnerable Code
yaml allowed-tools: Read Edit Write Glob Grep Bash(go:*) Bash(golangci-lint:*) Bash(git:*) Agent WebFetch WebSearchTechnical Analysis
The skill is a static guide that recommends Go resources, communities, newsletters, blogs, videos, and developers. Its documented functionality does not require modifying files, executing shell commands, invoking Git or Go tooling, or delegating work to sub-agents.
Nevertheless, the configuration authorizes
Edit,Write, multipleBash(...)command families, andAgent. It also grants network capabilities throughWebFetchandWebSearch. This unnecessarily broad authorization violates the principle of least privilege and increases the consequences of malicious or untrusted instructions entering the agent context.The reviewed skill does not itself instruct the agent to abuse these permissions. Exploitation therefore depends on another source of attacker-controlled instructions, such as prompt injection in user input or remotely retrieved content.
Attack Path
- The skill is loaded, activating its broad tool allowlist.
- An attacker introduces malicious instructions through user-controlled context or content processed during the session.
- Those instructions persuade the agent to invoke an unnecessary authorized capability, such as
Edit,Write,Bash(git:*), orAgent. - The agent modifies workspace files, runs permitted Go or Git commands, delegates attacker-directed activity, or retrieves additional untrusted content.
- The resulting operation affects the workspace or expands the attack surface beyond the skill's legitimate informational purpose.
Impact Assessment
Successful exploitation could permit modification of files available to the agent, execution of authorized Go, GolangCI-Lint, or Git command famil ...[truncated 343 chars]
- Remediation
View remediation
Remediation Suggestions
- Remove
EditandWrite, because the skill only presents informational content. - Remove
Bash(go:*),Bash(golangci-lint:*), andBash(git:*); none are needed for the documented behavior. - Remove
Agentto prevent unnecessary delegation and capability expansion. - Remove
WebFetchandWebSearchif the bundled static resource list is authoritative. - If current information must be retrieved, retain only the minimum network capability and require explicit user approval before accessing external content.
- Prefer an empty tool allowlist for normal use of this static guide.
- Add automated validation that rejects tool permissions not directly justified by the skill's documented operations.
- Remove
