T08 · Insecure Dependencies
- Location
SKILL.md:35- Finding
Third-Party npm Package Retrieval and Execution
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 35–49
Vulnerability Type: Supply-chain exposure through externally retrieved npm packages
Risk Level: MediumVulnerable Code Snippet:
bash npx -y -p plan-to-eat-mcp@0.7.3 plan-to-eat --version # x-release-please-versionbash npm i -g plan-to-eat-mcp@0.7.3 # x-release-please-versionThe surrounding instructions direct the agent to execute the first command automatically if the CLI is unavailable. The global installation command is presented to the user rather than intended for automatic execution.
Technical Analysis
The Skill retrieves the
plan-to-eat-mcp@0.7.3package from the npm registry and executes itsplan-to-eatbinary. The downloaded implementation and its transitive dependencies are not present in the audited project, so their behavior cannot be verified fromSKILL.md.The explicit version pin reduces exposure to unexpected future releases, and the document recommends npm provenance and signature verification. Nevertheless,
npx -ypermits package retrieval and execution without interactive package-installation approval. npm package lifecycle scripts and executable entry points can run code with the permissions of the invoking user.Exploitation depends on compromise or malicious behavior in the referenced package, one of its transitive dependencies, the registry delivery path, or the local npm resolution environment. No evidence in the audited file establishes that the named package is currently malicious.
Attack Path
- The
plan-to-eatexecutable is unavailable on the host. - The agent follows the setup instructions and runs:
npx -y -p plan-to-eat-mcp@0.7.3 plan-to-eat --version. - npm resolves and downloads the package and its required dependency graph from an external registry.
- npm executes applicable installation behavior and the package-provided binary.
- If the retrieved package ...[truncated 1417 chars]
- The
- Remediation
View remediation
Remediation Suggestions
- Avoid automatic
npx -yretrieval and execution. Require explicit user approval before downloading or executing a package that is not already installed. - Move package installation into a separately reviewed provisioning process rather than performing it during Skill execution.
- Verify npm provenance, signatures, package identity, and expected integrity before running the binary:
bash npm audit signatures - Prefer an internally mirrored or otherwise trusted immutable artifact, with integrity hashes validated before use.
- Audit and lock the complete transitive dependency graph rather than relying solely on a top-level version pin.
- Disable npm lifecycle scripts during installation where compatible, and separately review any required installation scripts.
- Execute the CLI with least privilege in a restricted environment that exposes only the required credentials, files, and network destinations.
- Do not perform global installation automatically. If installation is necessary, clearly disclose its filesystem scope and obtain explicit user authorization.
- Rotate Plan to Eat credentials and inspect the host if package-integrity verification fails or an unexpected package is executed.
- Avoid automatic
