T08 · Insecure Dependencies
- Location
SKILL.md:20- Finding
Unpinned Third-Party Package Is Downloaded and Executed
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 20–24 and 39–45
Vulnerability Type: Unpinned external npm dependency execution
Risk Level: MediumVulnerable Code
yaml requires: env: - THEAGORA_API_KEY bins: - npx emoji: "⚖️" homepage: https://theagoralabs.ai install: - kind: node package: "@theagora/mcp" bins: []bash # Install the MCP server npx @theagora/mcp # Set your API key export THEAGORA_API_KEY="your_api_key_here"Technical Analysis
The Skill directs users to resolve and execute
@theagora/mcpfrom the npm registry without specifying an exact version. The reviewed project does not include the package source, a lockfile, an integrity hash, a signature, or other provenance metadata. The executable behavior can therefore change independently after this Skill is audited and cannot be verified from the supplied artifact.Because
npxdownloads and runs package code, a compromised package release, maintainer account, registry response, or transitive dependency could result in arbitrary code execution under the invoking user's account. The requiredTHEAGORA_API_KEYmay also be available to the launched process.The audit found no evidence that the current external package is malicious. The issue is the unsafe, non-reproducible dependency acquisition and execution mechanism.
Attack Path
- An attacker compromises the npm package, its publisher account, or one of its transitive dependencies.
- The attacker publishes a malicious release under the same package name.
- A user follows the Skill's documented
npx @theagora/mcpcommand. npxresolves and downloads the attacker-controlled package version.- The malicious package executes with the user's local privileges.
- It may read process-accessible credentials such as
THEAGORA_API_KEY, access files allowed to the user, contact attacker-controlled systems ...[truncated 716 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the MCP server to a specific audited version, for example:
bash npx --yes @theagora/mcp@0.1.1 - Commit a lockfile that pins the complete transitive dependency graph.
- Publish and verify package integrity hashes, provenance attestations, or cryptographic signatures before execution.
- Include the MCP server source or a reproducibly built artifact in the audit scope.
- Generate and publish an SBOM for the package and its dependencies.
- Run the MCP server in a sandbox with minimal filesystem permissions, restricted network egress, and only the environment variables it strictly requires.
- Use a narrowly scoped, revocable API key with conservative transaction and daily spending limits.
- Require explicit user confirmation for deposits, purchases, escrow creation, and exchange orders.
- Establish dependency monitoring and promptly revoke affected releases and credentials if the supply chain is compromised.
- Pin the MCP server to a specific audited version, for example:
