T08 · Insecure Dependencies
Warning
- Location
- README.md:33
- Finding
- Execution of an Unpinned Mutable Package Through npx## Vulnerability Details **File Location**: `README.md:33`; `references/OPENCLAW-SETUP.md:7-8, 53-54, 62-63` **Vulnerability Type**: Supply-chain risk caused by unpinned executable dependencies **Risk Level**: Medium ### Vulnerable Code `README.md:33`: ```bash npx clawhub@latest install memepickup/memepickup-wingman ``` `references/OPENCLAW-SETUP.md:7-8`: ```bash npx clawhub@latest install memepickup/memepickup-wingman ``` `references/OPENCLAW-SETUP.md:53-54`: ```bash # Update to latest version npx clawhub@latest update memepickup-wingman ``` `references/OPENCLAW-SETUP.md:62-63`: ```bash # Uninstall npx clawhub@latest uninstall memepickup-wingman ``` ### Technical Analysis The documentation directs users to execute `clawhub@latest` through `npx`. When the package is not already available locally, `npx` may download and execute its package entry point and lifecycle behavior from the package registry. The `latest` tag is mutable and does not identify the specific version that was reviewed during this audit. Consequently, the effective code executed by these commands can change after publication of the Skill. The audited repository provides no version lock, integrity hash, signature verification, or other mechanism that binds installation to a known package artifact. This is not evidence that the current `clawhub` package is malicious. It is an unsafe dependency-execution pattern that creates a supply-chain attack opportunity if the package, registry account, release process, or distribution channel is compromised. ### Attack Path 1. An attacker compromises the `clawhub` publisher account, package release process, or registry distribution path. 2. The attacker publishes a malicious release and assigns it to the mutable `latest` tag. 3. A user follows the documented installation, update, or uninstall command. 4. `npx` resolves `clawhub@latest`, downloads the attacker-controlled package, and ...[truncated 896 chars]
- Remediation
- ## Remediation Suggestions 1. Replace `@latest` with an exact, reviewed version, for example `clawhub@X.Y.Z`. 2. Publish the expected package name, publisher identity, version, and integrity digest in the installation documentation. 3. Use package-locking or an equivalent integrity-verification mechanism where the installation workflow permits it. 4. Prefer a signed installer or verified release artifact over dynamically executing a mutable registry tag. 5. Document a controlled update process that reviews release notes and verifies signatures or hashes before execution. 6. Apply the same version pinning to install, update, and uninstall commands. 7. Run package-management commands from a minimally privileged account and avoid exposing unrelated secrets in the command environment.
