T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:14
- Finding
- Mutable npm Package Execution Through an Unpinned @latest Version## Vulnerability Details **File Location**: `SKILL.md:14-18`; the same command is also present at `README.md:25-29` **Vulnerability Type**: Supply-chain risk caused by execution of an unpinned third-party npm package **Risk Level**: Medium **Complete Code Snippet**: ```markdown ### OpenClaw / Moltbot / Clawbot ```bash npx clawhub@latest install realtime-dashboard ``` ``` ### Technical Analysis The installation command uses `npx` to retrieve and execute the mutable `latest` release of the third-party `clawhub` npm package. The project does not pin a reviewed package version, provide a lockfile for this command, verify a package integrity hash, or require signature verification. The effective code executed by this instruction can therefore change after this Skill has been reviewed. If the npm package, maintainer account, release process, or a transitive dependency is compromised, following the documented command could execute attacker-controlled package or lifecycle code. This finding concerns the installation instruction rather than embedded project code. The audited project contains only Markdown files and does not itself include a malicious script. ### Attack Path 1. An attacker compromises the `clawhub` npm package, its publishing credentials, or a dependency incorporated into a new release. 2. The compromised release becomes the version resolved by the mutable `@latest` tag. 3. A user follows the installation instruction and runs `npx clawhub@latest install realtime-dashboard`. 4. `npx` downloads and executes the newly resolved package rather than a previously reviewed, immutable version. 5. Malicious package or lifecycle code runs with the permissions and environment of the user who launched the command. ### Impact Assessment Successful exploitation could provide arbitrary code execution under the installing user's account. The accessible scope could include files writable by that user, the current proje ...[truncated 243 chars]
- Remediation
- ## Remediation Suggestions - Replace `@latest` with an explicitly reviewed package version. - Prefer a lockfile-backed installation workflow where applicable. - Verify npm provenance, signatures, and published integrity metadata before execution. - Document the expected package publisher and checksum so users can verify the artifact. - Review lifecycle scripts and transitive dependencies for the pinned release. - Apply the same correction to the duplicate command in `README.md:25-29`. - Consider instructing users to download and inspect the package before executing it in a restricted environment.
