T08 · Insecure Dependencies
- Location
SKILL.md:59- Finding
Unpinned Third-Party npm Package Installation and Execution
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:59-74,SKILL.md:82-86, andSKILL.md:131-138
Vulnerability Type: Unpinned and mutable third-party dependency execution
Risk Level: MediumThe Skill instructs the agent to install and execute
stablepay-agentpay-devwithout specifying an audited version or integrity digest. It also configures the package as an MCP server, allowing the mutable package to be executed in later sessions.bash # Windows npm.cmd install -g stablepay-agentpay-dev # Linux/macOS/WSL npm install -g stablepay-agentpay-devbash # Windows npx.cmd stablepay-agentpay-dev doctor # Linux/macOS/WSL npx stablepay-agentpay-dev doctorbash # Windows npx.cmd stablepay-agentpay-dev onboard --interactive # Linux/macOS/WSL npx stablepay-agentpay-dev onboard --interactivejson { "mcpServers": { "stablepay": { "command": "npx", "args": ["stablepay-agentpay-dev", "mcp"] } } }Technical Analysis
npm commands without an explicit version resolve the package through the configured npm registry and generally select the registry's current applicable release. Consequently, the code executed by this Skill can differ from the code that was reviewed.
The instructions do not require verification of the package publisher, exact version, provenance, integrity hash, lockfile, or package contents. Global installation may also execute npm lifecycle scripts and place package-controlled executables in a global binary directory. The MCP configuration preserves the same unpinned resolution behavior and can cause future agent sessions to invoke a newer, unreviewed package version.
This creates a supply-chain trust boundary in which compromise of the package publisher, registry account, distribution channel, or a future package release could introduce arbitrary code. No evidence establishes that the current package is malicio ...[truncated 1878 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin every installation and execution to an explicitly reviewed version, for example:
bash npm install -g stablepay-agentpay-dev@1.4.0 npx --yes stablepay-agentpay-dev@1.4.0 doctor - Verify the selected package version's publisher, provenance, registry metadata, tarball contents, and integrity digest before authorizing execution.
- Prefer a lockfile-backed local installation or an internally mirrored, approved artifact over resolving the package dynamically during every invocation.
- Configure MCP to invoke a locally installed and verified executable rather than an unversioned
npxpackage:json { "mcpServers": { "stablepay": { "command": "/verified/path/to/stablepay-agentpay-dev", "args": ["mcp"] } } } - Avoid global installation unless it is operationally required. Run the package as a non-privileged user and within a restricted environment that limits filesystem, secret, wallet, and network access.
- Review package lifecycle scripts before installation. Where compatible with the package, disable lifecycle scripts during dependency retrieval and explicitly run only reviewed setup actions.
- Establish an update process requiring security review and integrity verification before changing the pinned version.
- Pin every installation and execution to an explicitly reviewed version, for example:
