T05 · Unauthorized Access and Privilege Escalation
- Location
SKILL.md:5- Finding
Static Prompt Pack Requests Excessive Agent Tool Privileges
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:5,SKILL.md:23, andSKILL.md:35
Related Location:README.md:9-12andREADME.md:26
Vulnerability Type: Excessive tool permissions and violation of least privilege
Risk Level: MediumVulnerable Code
SKILL.md:5declares broad permissions for the entire skill:yaml allowed-tools: [exec, message, memory, web_search, web_fetch]SKILL.md:20-23recommends assigning execution capabilities to agents created from the prompts:markdown ## Quick Install 1. In OpenClaw: `clawhub install openclaw-coworker-prompts` 2. Create a new agent using one of the prompts from `prompts/` directory. 3. Assign relevant tools (web, code, exec) for the agent's role.SKILL.md:28-35recommends additional privileged file and execution tools even for the sample code-review agent:markdown ## Sample Agent Create an agent with this prompt:You are a senior software engineer. Review pull requests for bugs, security issues, and best practices. Comment line-by-line with constructive feedback.
text Enable tools: `exec`, `web_search`, `read`, `edit`.The related guidance in
README.md:9-12reinforces broad tool assignment:markdown 1. Copy the desired agent definition 2. In OpenClaw, create a new agent or skill with that task prompt 3. Assign tools (web, code, exec, etc.) as needed 4. Start workingThe DevOps prompt in
README.md:26also directs an agent to execute operational procedures:text You are an on-call SRE. Analyze logs, identify root cause of outages, and execute runbooks. Communicate status clearly to stakeholders. Post-mortem: document timeline and fix.Technical Analysis
The package consists entirely of static documentation and prompt definitions. Distributing or selecting these prompts does not inherently require command execution, file modification, messaging, persistent memory, or unrestricted network access. Nevertheless, the skill globall ...[truncated 3040 chars]
- Remediation
View remediation
Remediation Suggestions
- Remove the global
allowed-toolsdeclaration or default it to an empty list for this static prompt package. - Define a separate, minimal permission profile for each prompt instead of granting capabilities package-wide.
- Prefer read-only tools. Do not recommend
exec,edit,message, ormemoryunless a specific workflow demonstrably requires them. - For code-review agents, restrict file access to the target repository and use read-only repository APIs rather than shell execution or unrestricted editing.
- For operational agents, replace generic “execute runbooks” language with “propose runbook steps for user approval” by default.
- Require explicit user confirmation immediately before commands, file changes, messages, external submissions, or persistent-memory writes.
- Apply command allowlists, workspace path restrictions, network destination allowlists, execution timeouts, and sandboxing where privileged tools are necessary.
- Treat repositories, logs, documents, web results, and other task inputs as untrusted data. Explicitly instruct agents not to follow tool-use directives embedded in such content.
- Prevent secrets and sensitive task data from being included in outbound requests or persistent memory without explicit authorization.
- Update
README.mdandSKILL.mdso installation guidance explains the risks of tool assignment and provides secure, least-privilege examples.
- Remove the global
