T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:10
- Finding
- Unpinned Third-Party Package Is Installed and Executed## Vulnerability Details **File Location**: `SKILL.md`, lines 10–30 **Vulnerability Type**: Unpinned and mutable npm dependency execution **Risk Level**: Medium ### Vulnerable Code ```yaml metadata: clawdbot: requires: packages: - "@anyone-protocol/anyone-client" ``` ```bash npm install -g @anyone-protocol/anyone-client ``` ```bash npx @anyone-protocol/anyone-client -s 9050 ``` ### Technical Analysis The skill directs users to install and execute `@anyone-protocol/anyone-client` without specifying an exact reviewed version or an integrity hash. Both the global installation command and the `npx` invocation 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 `npx` command 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 1. An attacker compromises the package maintainer account, package publication process, configured npm registry, or another relevant supply-chain component. 2. The attacker publishes a malicious version of `@anyone-protocol/anyone-client`. 3. A user follows the skill instructions and runs the unpinned global installation or `npx` command. 4. npm resolves and downloads the attacker-controlled package version. 5. Malicious lifecycle ...[truncated 999 chars]
- Remediation
- ## Remediation Suggestions 1. Pin the dependency to an exact version that has undergone security review, rather than relying on the registry's current default version. 2. Install the dependency locally inside a dedicated project instead of globally, and execute only the locally installed binary. 3. Commit and enforce a lockfile with package integrity metadata. Use deterministic installation commands such as `npm ci` where applicable. 4. Verify the package source, publisher identity, provenance, signatures, and integrity before installation. 5. Avoid an unqualified `npx` invocation. If `npx` is required, specify the exact reviewed package version and configure it not to accept an unexpected remote replacement. 6. Disable npm lifecycle scripts during installation where compatible with the package, then explicitly run only reviewed setup operations. 7. Execute the proxy with least privilege in an isolated account, container, or sandbox with restricted filesystem, environment-variable, credential, and network access. 8. Bind the SOCKS proxy explicitly to the loopback interface and prevent access from untrusted local or remote users. 9. Document the trusted npm registry and implement dependency monitoring so newly disclosed package or transitive-dependency risks can be identified promptly.
