T08 · Insecure Dependencies
- Location
SKILL.md:21- Finding
Unreviewed Third-Party npm Package Executed Through npx
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:6andSKILL.md:21-27
Vulnerability Type: Third-party supply-chain exposure through runtime package retrieval and execution
Risk Level: MediumVulnerable Code
yaml metadata: {"openclaw": {"emoji": "🦞", "requires": {"anyBins": ["npx"]}, "install": [{"id": "mcp", "kind": "mcp", "command": "npx lobstermail-mcp@1.4.0", "label": "Add LobsterMail MCP Server"}]}}json { "mcpServers": { "lobstermail": { "command": "npx", "args": ["lobstermail-mcp@1.4.0"] } } }Technical Analysis
The Skill instructs the host to execute
lobstermail-mcp@1.4.0directly throughnpx. The source code of that package and its transitive dependencies is not included in the audited project, so its behavior could not be reviewed as part of this audit.Pinning the top-level package to version
1.4.0reduces accidental version drift, but it does not fully secure the dependency chain. The configuration does not specify or verify a package integrity digest, lock transitive dependency versions, disable npm lifecycle scripts, or establish package provenance. During package resolution and startup, npm package code and potentially lifecycle scripts execute with the permissions of the process launchingnpx.This creates a supply-chain trust boundary: compromise of the npm publisher account, registry delivery path, published artifact, or a transitive dependency could cause attacker-controlled code to run locally. The repository does not contain evidence that the named package is currently malicious; the finding concerns the unsafe trust and execution model.
Attack Path
- An attacker compromises the package publisher, a relevant transitive dependency, or the package distribution channel.
- A malicious artifact or dependency is served for the package version resolved by
npx. - A user installs or invokes the Skill using the docu ...[truncated 1081 chars]
- Remediation
View remediation
Remediation Suggestions
- Vendor or otherwise include the MCP server implementation and its dependency manifest in the review scope so the executed code can be audited.
- Generate and enforce a lockfile that pins the complete transitive dependency graph.
- Verify package integrity using trusted checksums and npm provenance or signatures before execution.
- Prefer a controlled installation step over runtime retrieval through
npx, and execute only a previously verified local artifact. - Disable npm lifecycle scripts during installation where the package does not require them, then explicitly review any scripts that must remain enabled.
- Run the MCP server in a sandbox or container with a read-only filesystem where practical, a minimal environment, restricted outbound network access, and no unnecessary host credentials.
- Execute the server under a dedicated, unprivileged account and expose only the files and network destinations required for LobsterMail operation.
- Continuously monitor the package, publisher, and dependency graph for ownership changes, advisories, unexpected artifact changes, and newly introduced lifecycle scripts.
