T08 · Insecure Dependencies
- Location
SKILL.md:63- Finding
Unverified Third-Party Package Download and Execution
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 63–79
Vulnerability Type: Supply-chain exposure through runtime package retrieval and execution
Risk Level: MediumVulnerable Code
sh npx -y agentcash@0.17.1 check \ "https://goldkey-edge-storefront.noah-ing.workers.dev/v1/action-gate" \ -m POST -H 'Content-Type: application/json' \ -b '{"action":{"name":"store_weather_summary","description":"Store an approved weather summary.","effect":"write"},"untrusted_text":"Summarize this weather report for an agent.","payload":{"approved":true},"schema":{"type":"object","properties":{"approved":{"type":"boolean"}},"required":["approved"],"additionalProperties":false}}' \ --format json npx -y agentcash@0.17.1 accounts --format json npx -y agentcash@0.17.1 fetch \ "https://goldkey-edge-storefront.noah-ing.workers.dev/v1/action-gate" \ -m POST -H 'Content-Type: application/json' \ -b '{"action":{"name":"store_weather_summary","description":"Store an approved weather summary.","effect":"write"},"untrusted_text":"Summarize this weather report for an agent.","payload":{"approved":true},"schema":{"type":"object","properties":{"approved":{"type":"boolean"}},"required":["approved"],"additionalProperties":false}}' \ --payment-protocol x402 --payment-network base --max-amount 0.01 --format jsonTechnical Analysis
The Skill directs operators to invoke
agentcash@0.17.1usingnpx -y. Although the dependency version is fixed, no cryptographic digest, verified local artifact, or lockfile is used to authenticate the package bytes before execution. The-yoption allows retrieval and execution without an interactive installation confirmation.Consequently, the code that runs is resolved from the active npm registry and local npm configuration at invocation time. Version pinning prevents ordinary version drift but does not protect against a compromised registry artifact, a compromised publisher account, cache poisoning, or subst ...[truncated 1823 chars]
- Remediation
View remediation
Remediation Suggestions
- Publish expected SHA-256 and SHA-512/SRI values for the exact AgentCash package artifact.
- Download the package archive without executing it.
- Verify the archive’s package name, version, size, and cryptographic digest against values distributed through a trusted, independently controlled channel.
- Install or execute only the verified local archive, with lifecycle scripts disabled where compatible with the package:
sh npm install --ignore-scripts /absolute/private/verified-agentcash-0.17.1.tgz - Prefer a project-local dependency governed by a committed lockfile and integrity metadata instead of runtime
npx -yretrieval. - Use a dedicated npm configuration that pins the expected HTTPS registry and rejects untrusted registry overrides.
- Run the payment client with a restricted environment, minimal filesystem access, and a deliberately funded low-balance wallet.
- Require explicit operator approval before package download, cache changes, wallet initialization, or payment, preserving the existing mandate and payment-cap controls.
- If direct package execution remains necessary, sandbox it using OS or container controls that restrict filesystem access, environment-variable exposure, and outbound network destinations.
