T03 · Remote Payload Retrieval and Execution
- Location
scripts/research.sh:47- Finding
Unpinned npm Package Is Remotely Retrieved and Executed
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill has a coherent paid OSINT purpose, but it asks users to expose a wallet private key to long-lived plaintext storage and dynamically downloaded code.
Install only if you are comfortable using a dedicated low-balance wallet and running an unpinned third-party npm package with access to that wallet key. Prefer not to store the key in plaintext; if you do, restrict permissions and rotate or move funds if the key may already have been exposed.
scripts/research.sh:47Unpinned npm Package Is Remotely Retrieved and Executed
scripts/research.sh:15Wallet Private Key Is Stored in Plaintext and Exported to Third-Party Code
The skill instructs users to store a blockchain payment private key in an environment variable or plaintext local JSON file, including a recommended home-directory path, without any security guidance about file permissions, secret managers, or the risk of key theft. Because this key authorizes spending via x402/Base, compromise of the host, shell history, backups, or readable dotfiles could expose the credential and enable unauthorized payments or wallet misuse.
The example persists the private key to ~/.x402-config.json, creating long-lived credential storage on disk and normalizing secret retention across sessions. In an agent/tooling environment, persistent home-directory secrets are especially risky because other tools, logs, backups, or compromised processes may read them later, turning a one-time payment credential into durable compromise.
~/.x402-config.json ← Recommended$PWD/x402-config.jsonCreate the config file:
{
"private_key": "0x1234567890abcdef..."
Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.
echo ""
echo "Please configure your private key using one of these methods:"
echo "1. Set environment variable: export X402_PRIVATE_KEY=\"0x...\""
echo "2. Create x402-config.json in current directory with:"
echo ' {"private_key": "0x..."}'
echo "3. Create ~/.x402-config.json in your home directory"
exit 1
The script executes an npm package via npx -y without pinning a specific version, so each run may fetch and execute whatever code is currently published under that package name. This creates a supply-chain execution risk: a compromised publisher account, malicious update, or dependency hijack could immediately lead to arbitrary code execution in the user's environment, with access to the loaded X402_PRIVATE_KEY and other local data.
No suspicious patterns detected.