Back to skill

Security audit

Swarm

Security checks for vulnerabilities and agentic risk

Overview

This research skill is review-worthy because it can search past sessions and other projects and write a report without clearly limiting or confirming that private-data access.

Review this skill before installing if your environment has Solograph or similar MCP tools connected to private sessions or repositories. Use it only when you are comfortable with agents searching prior conversations, project metadata, and code across available projects, and with creating or updating docs/research.md in the current repository. Prefer disabling Bash and limiting internal search tools to an explicitly chosen project/session unless you need them.

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 Access to Historical Sessions, Cross-Project Code, and Shell Execution## 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**: Medium ### Evidence ```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_search ``` ```markdown - If MCP `session_search` available: check if this idea was researched before in past sessions ``` ```markdown - 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 projects ``` ### Technical 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 `Bash` without defining a necessary shell operation expands the skill's execution authority beyond its documented requirements. Similarly, `mcp__solograph__session_search` can 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
## Remediation Suggestions 1. Remove `Bash` from `allowed-tools` because no shell operation is required by the documented workflow. 2. Remove `mcp__solograph__session_search` by default. If prior-session research is an optional feature, require explicit informed user approval before each search. 3. Restrict `project_info`, `codegraph_query`, `codegraph_explain`, and `project_code_search` to the current repository or to a project explicitly selected by the user. 4. Require a confirmation prompt that identifies the target session or project before any cross-session or cross-project access occurs. 5. Apply backend authorization filters so the agent cannot enumerate projects, sessions, or code beyond the approved scope. 6. Minimize retrieved data and redact secrets, personal information, credentials, internal URLs, and unrelated proprietary content before writing `docs/research.md`. 7. Treat all web and MCP search results as untrusted data rather than executable instructions. Explicitly prohibit following tool-use directions embedded in retrieved content. 8. Add provenance metadata to synthesized findings so reviewers can identify whether information came from the public web, a prior session, or an internal project. 9. If shell access is later required for a specific feature, replace unrestricted `Bash` with a narrowly scoped operation, enforce repository-root confinement, use command allowlisting, and require approval for side-effecting commands.
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (1)

Missing User Warnings

Low
Confidence
91% confidence
Finding
The skill explicitly instructs the agent to write `research.md` into `docs/` in the current project directory, but it does not prominently warn the user up front that running the skill will modify the local workspace. This can lead to unexpected file creation or overwriting in a repository, especially when the user believes the skill is read-only research assistance.

Static analysis

No suspicious patterns detected.