T08 · Insecure Dependencies
- Location
SKILL.md:44- Finding
Unpinned Third-Party MCP Packages Are Downloaded and Executed
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is a coherent MCP setup guide, but it asks users to run mutable third-party server packages with powerful tokens and encourages live write actions without enough safeguards.
Review before installing. Use test workspaces and repositories first, pin exact MCP server versions from trusted publishers, grant the narrowest token scopes possible, avoid running npx -y or uvx against unreviewed packages, and do not connect production Slack, Notion, GitHub, or Linear access unless you are comfortable with the agent reading and modifying those systems.
SKILL.md:44Unpinned Third-Party MCP Packages Are Downloaded and Executed
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
**Token scopes needed:** `repo`, `read:user`, `read:org`
**Generate at:** github.com → Settings → Developer Settings → Personal Access Tokens
**5-Minute Connect test prompts:**
1. `"List my open GitHub issues across all repos"`
The skill instructs users to execute MCP servers directly from npm via npx -y without pinning a package version. This allows the fetched code to change over time and creates a supply-chain risk where a compromised or malicious new release could be executed automatically with access to the user's local environment and configured tokens.
uvx mcp-server-{toolname} fetches and runs a Python package without an explicit version, introducing the same mutable dependency risk on the Python side. If a package release is hijacked or replaced, users may execute attacker-controlled code during setup.
This verification command still executes unpinned remote code from npm, so even the 'test before config' step can run an unexpected or compromised package version. Because users are encouraged to run it as part of setup, it normalizes executing mutable third-party code before any trust review.
These sections encourage write-capable tests such as creating pages and pushing code but do not explicitly warn users that the prompts can modify live external services. In a setup skill connected to production collaboration tools, omission of a clear write-action warning increases the chance of unintended data changes, spam, or repository modifications.
The Slack and multi-tool examples explicitly instruct sending messages and performing cross-tool actions in live workspaces without a strong caution or confirmation step. Because the skill promotes broad connected access across Slack, GitHub, Notion, and Linear, a single prompt could cause visible, organization-wide changes or disclosures if run against production environments.
The troubleshooting flow repeats the same unsafe pattern by telling users to run an unpinned MCP server package. Repetition across install, verify, and troubleshooting steps increases exposure and makes accidental execution of a malicious update more likely.
The pip install mcp-server-{toolname} instruction installs an unpinned dependency, which can resolve to different code over time and may pull in compromised transitive packages. While installation alone may not immediately execute all package functionality, it still creates a supply-chain exposure in a security-sensitive integration workflow.
No suspicious patterns detected.