T08 · Insecure Dependencies
- Location
SKILL.md:43- Finding
Unpinned Third-Party Packages Execute with Access to Wallet Credentials
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill is for Ethereum payments, but its examples ask agents to run unpinned JavaScript tools with wallet private keys and can submit transactions without a hard approval gate.
Review this carefully before installing. Use only a dedicated low-balance wallet, prefer testnet first, pin and install dependencies locally with a lockfile instead of using npx, and require the agent to show the exact network, recipient, amount, task ID, and gas estimate before any signing action.
SKILL.md:43Unpinned Third-Party Packages Execute with Access to Wallet Credentials
SKILL.md:192Transaction Example Does Not Programmatically Enforce Explicit User Approval
The skill repeatedly instructs users to run inline scripts via npx tsx without pinning an exact version of the executable or isolating execution to a preinstalled dependency. npx may resolve and execute code from the network, so a compromised or unexpected package version could run arbitrary code in a context that handles wallet private keys and can initiate blockchain transactions.
This usage of npx tsx is a supply-chain execution risk because it may fetch and run whatever version is currently resolved rather than a reviewed, fixed version. In this skill, the executed script loads AGENTICMONEY_PRIVATE_KEY, increasing the blast radius from generic code execution to wallet compromise or unauthorized transaction signing.
Running inline blockchain interaction code through unpinned npx tsx creates a real risk of executing malicious or altered dependency code. Because this skill is specifically designed for Ethereum wallet operations, any compromise could expose private keys, alter recipient addresses, or trigger unintended on-chain actions.
The npx tsx invocation here is another instance of unpinned remote tool execution. Even though the example is for discovery rather than payment, the script still initializes a wallet from an environment variable, so malicious dependency resolution could leak credentials or manipulate outputs used in later payment decisions.
This npx tsx example performs agent registration, which can result in signed on-chain transactions. If npx resolves a compromised package or unexpected version, the attacker gains an opportunity to execute arbitrary code in a wallet-enabled process and potentially redirect funds or exfiltrate the private key.
This is the most sensitive example because it leads directly to escrow deposit logic and transaction signing while using unpinned npx tsx. In context, a dependency hijack could not only execute arbitrary code but also interfere with recipient selection, task parameters, or the signing flow, causing direct loss of funds.
Although this command is for checking task status, it still uses unpinned npx tsx and constructs a wallet from an environment variable. That means a package-resolution compromise can still execute arbitrary code and access secrets, even in what appears to be a read-only workflow.
This npx tsx invocation initiates a claim flow in escrow and uses wallet credentials in-process. Because it is both unpinned and transaction-capable, exploitation could result in arbitrary code execution, key theft, or malicious modification of claim parameters that affect payment recovery.
The dispute flow example again combines unpinned npx execution with blockchain signing operations and wallet-secret access. In this context, a supply-chain compromise could manipulate the dispute bond, task ID, or withdrawal flow, potentially causing direct fund loss or denial of access to funds.
Even this wallet-balance example uses unpinned npx tsx while loading the private key into the process. That unnecessarily exposes credentials to a network-resolved executable, turning a simple read operation into a supply-chain risk with potential secret exfiltration.
The troubleshooting guidance continues recommending npx tsx without addressing version pinning or package integrity. Because the skill revolves around wallet-enabled code execution, normalizing this pattern increases the likelihood that users run unreviewed code fetched at execution time.
No suspicious patterns detected.