T08 · Insecure Dependencies
- Location
SKILL.md:10- Finding
Unpinned Third-Party Package Is Installed and Executed
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 10–30
Vulnerability Type: Unpinned and mutable npm dependency execution
Risk Level: MediumVulnerable Code
yaml metadata: clawdbot: requires: packages: - "@anyone-protocol/anyone-client"bash npm install -g @anyone-protocol/anyone-clientbash npx @anyone-protocol/anyone-client -s 9050Technical Analysis
The skill directs users to install and execute
@anyone-protocol/anyone-clientwithout specifying an exact reviewed version or an integrity hash. Both the global installation command and thenpxinvocation rely on mutable package-registry state. Consequently, the code executed when the instructions are followed may differ from the code available when the skill was audited.Installing the package globally increases its local reach and may execute npm lifecycle scripts. The subsequent
npxcommand executes the package CLI, potentially downloading it from the configured npm registry if it is not already available locally. This creates a supply-chain trust boundary that is not protected by version pinning, lockfile verification, artifact integrity validation, or source verification.There is no evidence in the reviewed file that the named dependency is currently malicious. The vulnerability is the unsafe installation and execution pattern, which exposes users to future package, maintainer-account, registry, or publication-channel compromise.
Attack Path
- An attacker compromises the package maintainer account, package publication process, configured npm registry, or another relevant supply-chain component.
- The attacker publishes a malicious version of
@anyone-protocol/anyone-client. - A user follows the skill instructions and runs the unpinned global installation or
npxcommand. - npm resolves and downloads the attacker-controlled package version.
- Malicious lifecycle ...[truncated 999 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the dependency to an exact version that has undergone security review, rather than relying on the registry's current default version.
- Install the dependency locally inside a dedicated project instead of globally, and execute only the locally installed binary.
- Commit and enforce a lockfile with package integrity metadata. Use deterministic installation commands such as
npm ciwhere applicable. - Verify the package source, publisher identity, provenance, signatures, and integrity before installation.
- Avoid an unqualified
npxinvocation. Ifnpxis required, specify the exact reviewed package version and configure it not to accept an unexpected remote replacement. - Disable npm lifecycle scripts during installation where compatible with the package, then explicitly run only reviewed setup operations.
- Execute the proxy with least privilege in an isolated account, container, or sandbox with restricted filesystem, environment-variable, credential, and network access.
- Bind the SOCKS proxy explicitly to the loopback interface and prevent access from untrusted local or remote users.
- Document the trusted npm registry and implement dependency monitoring so newly disclosed package or transitive-dependency risks can be identified promptly.
