T08 · Insecure Dependencies
- Location
SKILL.md:15- Finding
Unpinned npm Package Is Downloaded and Executed with Wallet-Key Access
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:15,SKILL.md:23,SKILL.md:52;README.md:12,README.md:29,README.md:44,README.md:61,README.md:76
Vulnerability Type: Unpinned third-party dependency and mutable remote execution
Risk Level: CriticalVulnerable Code
SKILL.md:15bash npx -y -p intel-asrai-mcp install-skillSKILL.md:23json { "mcpServers": { "intel-search": { "command": "npx", "args": ["-y", "intel-asrai-mcp"] } } }SKILL.md:52bash npx -y -p intel-asrai-mcp intel-search "<query>" <mode> <sources>Equivalent unpinned invocations are also documented in
README.md:12,README.md:29,README.md:44,README.md:61, andREADME.md:76.Technical Analysis
The skill directs agents to use
npx -ywith the package nameintel-asrai-mcpbut does not specify an exact package version or verify a cryptographic integrity digest. Consequently, each installation or runtime search can retrieve and execute the package version currently published by the registry.The
-yoption automatically accepts installation prompts, eliminating an opportunity for the user to review the package being downloaded. The package is also explicitly configured to receiveINTEL_PRIVATE_KEY, a cryptocurrency wallet private key. A compromised maintainer account, npm package, registry response, or malicious future package release could therefore execute arbitrary code with both the local user's privileges and access to the wallet credential.The artifact contains only documentation and does not include the npm package implementation, so the externally retrieved executable payload cannot be verified within this audit.
Attack Path
- An attacker compromises the npm package, its maintainer account, or a future release channel.
- The attacker publishes a malicious version under the existing
intel-asrai-mcppackage name. - A ...[truncated 846 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the dependency to a reviewed exact version, such as
intel-asrai-mcp@x.y.z; do not use a floating package name. - Install dependencies through a committed lockfile and enforce package integrity hashes.
- Remove
-yso unexpected package installation or version changes require explicit approval. - Prefer vendoring and auditing the executable implementation rather than retrieving mutable code whenever a search is performed.
- Execute the package in a restricted sandbox with minimal filesystem and network access.
- Do not expose the primary wallet private key directly to the package. Use a dedicated low-value wallet or a narrowly scoped local signing service.
- Require explicit confirmation and display transaction details before every payment signature.
- Add dependency provenance verification, registry allowlisting, automated vulnerability scanning, and release-signature validation.
- Pin the dependency to a reviewed exact version, such as
