T08 · Insecure Dependencies
- Location
SKILL.md:28- Finding
Unpinned npm Package Execution Through npx
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 28–31 and 43–46
Vulnerability Type: T08: Insecure Dependencies
Risk Level: MediumVulnerable Code
json "command": "npx", "args": ["-y", "usebits-mcp"], "env": { "BITS_API_KEY": "bb_your_key_here" }The same configuration is documented for both the OpenClaw and Claude Code MCP clients.
Technical Analysis
The configuration invokes
usebits-mcpthroughnpxwithout specifying an exact package version, lockfile, checksum, or integrity value. Consequently, each uncached installation can resolve to whichever package release is current at execution time rather than the release that was reviewed when the skill was published. The-yoption automatically accepts installation, eliminating an interactive opportunity to inspect the resolved package.npm package lifecycle and runtime code execute locally under the MCP process user's account. The process also receives
BITS_API_KEYthrough its environment. If the package's publisher account, release pipeline, registry entry, or transitive dependency is compromised, attacker-controlled code could execute locally and access that credential.Attack Path
- An attacker compromises the
usebits-mcppackage, one of its dependencies, its publisher account, or the applicable package-distribution path. - The attacker publishes a malicious release that remains resolvable under the unversioned package name.
- A user copies the documented MCP configuration and starts or restarts the client.
npx -y usebits-mcpautomatically downloads and executes the currently resolved release without version or integrity verification.- Malicious package installation or runtime code executes with the permissions of the local user running the MCP client.
- The code reads
BITS_API_KEYfrom the process environment and may transmit it externally, access local user data, or perform other operations allo ...[truncated 555 chars]
- An attacker compromises the
- Remediation
View remediation
Remediation Suggestions
- Pin
usebits-mcpto a reviewed, exact version rather than relying on the latest resolvable release. - Install the dependency through a committed lockfile and enforce npm integrity metadata during installation.
- Prefer a controlled installation step over automatic runtime installation. Remove
-ywhere practical so unexpected package resolution is not silently accepted. - Document the expected package publisher, source repository, version, and verification procedure.
- Run the MCP server in a sandbox or dedicated low-privilege account with restricted filesystem and network access.
- Use a narrowly scoped, revocable API key and rotate it immediately if dependency compromise is suspected.
- Incorporate dependency monitoring and review newly published versions before updating the pinned release.
- Apply equivalent corrections to both documented configuration blocks.
- Pin
