T05 · Unauthorized Access and Privilege Escalation
- Location
agents/council-sun-tzu.md:6- Finding
Overbroad Shell, Filesystem, and Network Permissions Granted to All Council Agents
- Content
View full analysis
Vulnerability Details
File Location:
agents/council-ada.md:6,agents/council-aristotle.md:6,agents/council-aurelius.md:6,agents/council-feynman.md:6,agents/council-lao-tzu.md:6,agents/council-machiavelli.md:6,agents/council-musashi.md:6,agents/council-socrates.md:6,agents/council-sun-tzu.md:6,agents/council-torvalds.md:6, andagents/council-watts.md:6
Vulnerability Type: Excessive tool permissions and violation of least privilege
Risk Level: MediumComplete vulnerable code snippet:
yaml tools: ["Read", "Grep", "Glob", "Bash", "WebSearch", "WebFetch"]The same tool declaration appears at line 6 in every listed agent definition.
Technical Analysis
All 11 council personas receive local file-reading, unrestricted shell-execution, search, and network-fetch capabilities. Their declared function is primarily to perform textual analysis from different intellectual perspectives. Most of that functionality does not inherently require command execution or network access.
The combination is security-sensitive:
Read,Grep, andGlobcan inspect files available to the agent's operating-system account.Bashcan execute commands with the permissions of the Claude Code process.WebSearchandWebFetchprovide outbound network channels.- Together, these tools can form an access-and-egress chain if an untrusted problem statement, repository document, or retrieved page contains instructions that influence the agent.
The agent definitions contain no path restrictions, command allowlist, outbound-domain allowlist, or requirement to obtain explicit user approval before using these capabilities. Consequently, the permission set exceeds the minimum privileges needed for persona-based deliberation.
The static pre-scan specifically identified
agents/council-sun-tzu.md. Direct inspection found no URL, upload command, secret-collection logic, or explicit instruction to t ...[truncated 1753 chars]- Remediation
View remediation
Remediation Suggestions
- Remove
Bash,WebSearch, andWebFetchfrom personas whose duties are limited to conceptual analysis. - Default purely deliberative personas to no tools, or grant only narrowly required read-only tools.
- If repository analysis is required, constrain
Read,Grep, andGlobto the active workspace and explicitly exclude home-directory credentials, SSH material, environment files, and system configuration. - Require explicit user confirmation before any shell command or outbound network request.
- Apply command allowlists and sandboxing to any agent that genuinely requires
Bash. - Restrict outbound requests to approved domains and prohibit placing local file contents, credentials, tokens, or user data in URLs or request bodies.
- Treat problem statements, repository files, other agents' output, and fetched web content as untrusted data rather than executable instructions.
- Separate local inspection and network access so that a single agent cannot both collect local data and transmit it externally without an approval boundary.
- Document why each granted tool is necessary and periodically review the declarations for least-privilege compliance.
- Remove
