T05 · Unauthorized Access and Privilege Escalation
- Location
SKILL.md:10- Finding
Excessive Access to Historical Sessions, Cross-Project Code, and Shell Execution
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:10,SKILL.md:34,SKILL.md:43-46
Vulnerability Type: Violation of least privilege through unnecessary tool permissions
Risk Level: MediumEvidence
yaml allowed-tools: Read, Grep, Glob, Bash, WebSearch, WebFetch, Write, mcp__solograph__web_search, mcp__solograph__kb_search, mcp__solograph__project_info, mcp__solograph__codegraph_query, mcp__solograph__codegraph_explain, mcp__solograph__project_code_search, mcp__solograph__session_searchmarkdown - If MCP `session_search` available: check if this idea was researched before in past sessionsmarkdown - If MCP `project_info` available: check existing projects for reusable code - If MCP `codegraph_explain` available: get architecture overview of similar existing projects - If MCP `codegraph_query` available: find shared packages across projects - If MCP `project_code_search` available: search for reusable patterns, services, infrastructure across existing projectsTechnical Analysis
The skill's declared purpose is to research an idea from market, user, and technical perspectives. That workflow legitimately requires web-search and document-writing capabilities, but it does not inherently require unrestricted shell access, searches of historical sessions, or access to source code and metadata from unrelated projects.
Granting
Bashwithout defining a necessary shell operation expands the skill's execution authority beyond its documented requirements. Similarly,mcp__solograph__session_searchcan expose prior conversation content, while the project and code-graph tools can disclose proprietary source code, architecture, services, or infrastructure belonging to projects outside the current research scope.The instructions explicitly encourage agents to use these capabilities, but do not require user approval, constrain searches to a named project, limit returned data, or prohibi ...[truncated 1899 chars]
- Remediation
View remediation
Remediation Suggestions
- Remove
Bashfromallowed-toolsbecause no shell operation is required by the documented workflow. - Remove
mcp__solograph__session_searchby default. If prior-session research is an optional feature, require explicit informed user approval before each search. - Restrict
project_info,codegraph_query,codegraph_explain, andproject_code_searchto the current repository or to a project explicitly selected by the user. - Require a confirmation prompt that identifies the target session or project before any cross-session or cross-project access occurs.
- Apply backend authorization filters so the agent cannot enumerate projects, sessions, or code beyond the approved scope.
- Minimize retrieved data and redact secrets, personal information, credentials, internal URLs, and unrelated proprietary content before writing
docs/research.md. - Treat all web and MCP search results as untrusted data rather than executable instructions. Explicitly prohibit following tool-use directions embedded in retrieved content.
- Add provenance metadata to synthesized findings so reviewers can identify whether information came from the public web, a prior session, or an internal project.
- If shell access is later required for a specific feature, replace unrestricted
Bashwith a narrowly scoped operation, enforce repository-root confinement, use command allowlisting, and require approval for side-effecting commands.
- Remove
