Back to skill

Security audit

Plan

Security checks for vulnerabilities and agentic risk

Overview

This planning skill is mostly coherent, but it can search past chats and other projects by default and may write those findings into repo planning files.

Install only if you are comfortable with the skill searching prior agent sessions and other projects when making plans. Prefer using it in environments where those MCP tools are disabled or explicitly scoped, and review generated docs/plan files before committing because they may contain information derived from outside the current repository.

Vulnerability Patterns
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T05 · Unauthorized Access and Privilege Escalation

Warning
Location
SKILL.md:10
Finding
Excessive Cross-Session and Cross-Project Information Access<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 10 and 26–27, with invocation instructions at lines 79–92 **Vulnerability Type**: T05: Unauthorized Access and Privilege Escalation **Risk Level**: Medium ### Complete Code Snippet ```markdown allowed-tools: Read, Grep, Bash, Glob, Write, Edit, AskUserQuestion, mcp__solograph__session_search, mcp__solograph__project_code_search, mcp__solograph__codegraph_query, mcp__solograph__codegraph_explain, mcp__solograph__kb_search, mcp__solograph__web_search, mcp__context7__resolve-library-id, mcp__context7__query-docs ``` ```markdown - `session_search(query)` — find similar past work in Claude Code chat history - `project_code_search(query, project)` — find reusable code across projects ``` ```markdown c. **Precedent retrieval** (context graph pattern — search past solutions BEFORE planning): - Search past sessions (if MCP available): ``` session_search(query="{task description keywords}") ``` Look for: how similar tasks were solved, what went wrong, what patterns worked. - Search KB for relevant methodology: ``` kb_search(query="{task type}: {keywords}") ``` Check for: harness patterns, architectural constraints, quality scores. d. **Search code across projects** (if MCP available): ``` project_code_search(query="{relevant pattern}") ``` ``` ### Technical Analysis The Skill directs the Agent to search historical Claude Code conversations and source code across other projects while performing a planning task for the current repository. Access to unrelated sessions and projects is not required for the Skill's core purpose of inspecting the current codebase and producing local specification and implementation-plan files. The workflow does not require explicit user consent before accessing these broader information domains. It also lacks project allowlisting, session scoping, data classification, secret filtering, and rules prohibiting the r ...[truncated 2290 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Remove `mcp__solograph__session_search` and `mcp__solograph__project_code_search` from the default `allowed-tools` list unless they are essential to an explicitly requested operation. 2. Restrict routine research to files located in the current repository. 3. Require explicit, informed user approval before searching historical sessions or unrelated projects. 4. Require callers to identify an allowlisted project or session scope rather than permitting unrestricted keyword searches. 5. Apply access-control checks in the MCP services so results are limited to projects and sessions the current user is authorized to inspect. 6. Scan retrieved results for credentials, tokens, personal information, and other sensitive values before exposing them to the Agent. 7. Add a mandatory instruction prohibiting verbatim reproduction of unrelated conversation content or proprietary source code in `spec.md`, `plan.md`, and final responses. 8. Prefer summaries containing only architectural patterns when cross-project research is approved; do not copy implementation details. 9. Record an audit trail identifying the approved scope, queries performed, result sources, and generated files receiving derived information. 10. If broad retrieval remains available, use separate opt-in tools or a dedicated Skill so the elevated information-access behavior is visible to the user. ]]>
Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (5)

Description-Behavior Mismatch

Medium
Confidence
97% confidence
Finding
The skill is presented as an exploratory planning tool, but it is explicitly authorized to create directories and write `spec.md` and `plan.md` into the repository. That mismatch can cause unintended repository modification in workflows that expect read-only analysis, making it easier to smuggle state-changing behavior behind a planning label.

Vague Triggers

Medium
Confidence
95% confidence
Finding
The trigger conditions are broad enough to match common requests such as 'write a spec' or general feature descriptions, which increases the chance the skill activates in situations where the user did not intend repository writes or extensive codebase scanning. Over-broad invocation criteria are dangerous because they widen the blast radius of a privileged skill.

Intent-Code Divergence

Medium
Confidence
99% confidence
Finding
The skill repeatedly claims 'Zero questions' and 'Zero interactive questions,' yet later instructs the agent to ask for missing input and approval. This inconsistency can mislead users and orchestration systems about when interaction will occur, undermining trust and potentially bypassing expectations for explicit consent before writes.

Missing User Warnings

Medium
Confidence
96% confidence
Finding
The outward-facing output focuses on research and next steps but omits a prominent warning that the skill creates directories and writes planning files into the repository. Hiding side effects behind incomplete documentation weakens informed consent and can lead to unauthorized or surprising modifications in automated environments.

Context-Inappropriate Capability

Low
Confidence
79% confidence
Finding
The instructions tell the agent to detect deployment infrastructure and include concrete deployment commands and a deploy phase in the generated plan. While still indirect, this introduces production deployment capability into a skill whose stated purpose is codebase exploration and implementation planning, not release or operations workflow design. That capability is not clearly justified by the narrow manifest wording.

Static analysis

No suspicious patterns detected.