T05 · Unauthorized Access and Privilege Escalation
- Location
SKILL.md:18- Finding
Excessive and Inconsistent Tool Permissions for a Search-Only Skill
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 5 and 18-21
Vulnerability Type: Excessive tool permissions and inconsistent access-control declarations
Risk Level: MediumVulnerable Code
yaml allowed-tools: read execyaml tools: - exec - read - writeTechnical Analysis
The skill is presented as an Internet search and summarization assistant, but its manifest requests generic command execution and local file operations. These capabilities exceed the least-privilege requirements of a search-only workflow.
The two permission declarations are also inconsistent:
allowed-toolspermitsreadandexec, while the separatetoolslist additionally declareswrite. Depending on which field the hosting agent prioritizes, the skill may receive write access despite that capability being absent fromallowed-tools.Generic
execaccess is particularly sensitive because it can provide indirect access to files, processes, environment variables, and network utilities available to the agent account. The document recommends sandboxing and command allowlisting, but it does not technically define or enforce either control.Attack Path
- A user or untrusted search result supplies content crafted to influence the agent's next tool call.
- The skill processes that content while operating with
exec,read, or potentiallywritepermission. - The agent invokes an overly broad tool instead of a dedicated search interface.
- Depending on host enforcement and sandbox configuration, the invocation reads local files, executes operating-system commands, or modifies files accessible to the agent account.
- Retrieved local information could subsequently appear in generated output or be transmitted through an available network channel.
This path is conditional on the host granting the declared tools and failing to enforce an independent command allowlist or sandbox boun ...[truncated 724 chars]
- Remediation
View remediation
Remediation Suggestions
- Remove
exec,read, andwriteunless a concrete search operation strictly requires them. - Replace generic command execution with a dedicated, narrowly scoped web-search or HTTP API tool.
- Maintain one authoritative permission declaration and ensure all manifest fields specify the same minimal tool set.
- If command execution is unavoidable, enforce a host-side allowlist containing exact executable paths, fixed arguments, and strict time and resource limits.
- Never concatenate user input, search queries, URLs, or search-result content into shell commands.
- Run the skill in a sandbox with a read-only filesystem, an empty or filtered environment, no access to credentials, and network access limited to approved search endpoints.
- Require explicit user confirmation before any local file access or state-changing operation.
- Add automated manifest validation that rejects conflicting tool declarations.
- Remove
