T08 · Insecure Dependencies
Error
- Location
- SKILL.md:38
- Finding
- Unpinned Global Installation of an Unreviewable Third-Party Payment Package## Vulnerability Details **File Location**: `SKILL.md`, lines 38-41 **Vulnerability Type**: Supply-chain exposure through an unpinned global npm dependency **Risk Level**: High **Vulnerable Code**: ```markdown ## Installation ```bash npm install -g agentpay-mcp ``` ``` ### Technical Analysis The Skill instructs users to globally install `agentpay-mcp` without an exact version, integrity digest, lockfile, or locally reviewable implementation. Consequently, the installed artifact may change after this Skill has been audited. The repository contains only `SKILL.md`, so the executable package's install scripts, private-key handling, transaction validation, spending-limit enforcement, and network behavior cannot be verified from the audited project. A global installation has greater scope than a project-local dependency and may execute npm lifecycle scripts during installation. The GitHub URL documented elsewhere in the file does not cryptographically establish that the npm artifact is built from the referenced source. ### Attack Path 1. An attacker compromises the npm publisher account or causes a malicious package version to be distributed. 2. A user follows the Skill instructions and runs `npm install -g agentpay-mcp`. 3. Malicious lifecycle code may execute during installation, or the compromised MCP executable runs when the agent starts it. 4. The MCP process receives `AGENT_PRIVATE_KEY` through its environment. 5. The package exfiltrates the key, signs unauthorized transactions, or substitutes attacker-controlled payment behavior. ### Impact Assessment Successful exploitation could execute code with the privileges of the installing or running user. Because the package is subsequently supplied with a cryptocurrency private key, compromise could also expose durable wallet signing authority and result in irreversible asset loss. Any MCP-level spending limits may be bypassed if an attacker obtains the raw key and ...[truncated 31 chars]
- Remediation
- ## Remediation Suggestions - Pin the package to an exact, reviewed version rather than installing the latest available release. - Verify the npm artifact using an integrity digest and npm provenance or equivalent signed build attestations. - Include or reference auditable source tied cryptographically to the distributed package. - Prefer a lockfile-backed, project-local installation over a global installation. - Disable npm lifecycle scripts where compatible with the package's legitimate installation requirements. - Review all install scripts, runtime network destinations, transaction-building logic, and secret-handling behavior before supplying a funded wallet key. - Run the MCP server in a restricted account or sandbox with minimal filesystem and network access. - Use a dedicated, low-balance wallet and an independently enforced transaction policy so package compromise cannot expose unrelated assets.
