T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:34
- Finding
- Unpinned npm Package Execution Through the Mutable latest Tag## Vulnerability Details **File Location**: `SKILL.md:34-40`; `README.md:29-33` **Vulnerability Type**: Unpinned executable dependency **Risk Level**: Medium **Vulnerable code in `SKILL.md`:** ```bash ## Installation ### OpenClaw / Moltbot / Clawbot ```bash npx clawhub@latest install composition-patterns ``` ``` **Vulnerable code in `README.md`:** ```bash ### OpenClaw / Moltbot / Clawbot ```bash npx clawhub@latest install composition-patterns ``` ``` ### Technical Analysis The installation instructions use `npx` to download and execute the npm package identified by `clawhub@latest`. The `latest` distribution tag is mutable and provides no guarantee that users will execute the same package version that was reviewed during this audit. Because `npx` can execute package entry points and npm lifecycle behavior, a compromised package release or publisher account could cause arbitrary code to run during installation. The project does not pin an exact audited version, verify package integrity, or provide a checksum against which the downloaded artifact can be validated. This is a supply-chain weakness rather than evidence that the current `clawhub` package is malicious. ### Attack Path 1. An attacker compromises the npm publisher account, package publishing workflow, or another component of the package distribution chain. 2. The attacker publishes a malicious `clawhub` release and assigns it the `latest` tag. 3. A user follows the documented installation command. 4. `npx` resolves `clawhub@latest` to the attacker-controlled release and downloads it. 5. The malicious package executes with the privileges and environment of the user running the command. 6. The payload can access resources available to that user before or while installing the requested Skill. ### Impact Assessment Successful exploitation could permit arbitrary code execution with the installing user's privileges. Depending on the exe ...[truncated 464 chars]
- Remediation
- ## Remediation Suggestions - Replace `@latest` with an exact, reviewed package version, such as `clawhub@X.Y.Z`. - Use npm lockfiles and integrity metadata where the installation workflow supports them. - Verify the expected npm publisher, package provenance, and registry before execution. - Publish and document a cryptographic checksum or signed release artifact for the installer. - In automated environments, install dependencies separately with lifecycle scripts disabled where feasible, inspect them, and execute only after verification. - Periodically review and deliberately update the pinned version rather than allowing installation behavior to change automatically.
