T08 · Insecure Dependencies
- Location
SKILL.md:12- Finding
Unpinned Package Execution Through npx
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 12 and 20
Vulnerability Type: Supply-chain risk from an unpinned executable dependency
Risk Level: MediumVulnerable code:
yaml metadata: openclaw: requires: tools: [filesystem] install: "npx clawhub install natural-plant-dye-making-basics"shell npx clawhub install natural-plant-dye-making-basicsTechnical Analysis
The documented installation command invokes the
clawhubnpm package throughnpxwithout specifying an exact package version or verifying an integrity digest. If the package is not already available locally,npxcan retrieve executable package content from the configured npm registry and run it immediately.Consequently, the code executed during installation is mutable and is not part of the reviewed project. The audit cannot establish that a future package release, registry response, lifecycle script, or transitive dependency will have the same behavior as the version intended by the skill author. This creates a supply-chain trust boundary in which compromise of the package, maintainer account, registry configuration, or dependency graph could introduce arbitrary executable code.
The project contains only
SKILL.md; no bundled scripts or direct evidence of a malicious payload were found. The vulnerability is therefore the unsafe, unpinned execution mechanism rather than confirmed malicious behavior by the currentclawhubpackage.Attack Path
- An attacker compromises the
clawhubpackage, one of its executable dependencies, or the account authorized to publish it. Alternatively, a hostile package source is selected through a manipulated npm registry configuration. - The attacker publishes a modified package version containing malicious CLI code, an installation lifecycle script, or a malicious transitive dependency.
- A user follows the instructions in
SKILL.mdand runs:
...[truncated 1270 chars]
- An attacker compromises the
- Remediation
View remediation
Remediation Suggestions
- Pin
clawhubto an exact reviewed version instead of allowing mutable resolution:shell npx --yes clawhub@<reviewed-exact-version> install natural-plant-dye-making-basics - Verify the selected package version, source repository, publisher identity, and npm provenance before documenting it.
- Use a lockfile and npm integrity metadata where installation is performed within a managed project.
- Prefer installing dependencies in a controlled environment and invoking the locked local binary rather than downloading and executing code implicitly on every run.
- Configure an explicit trusted registry and prevent installation from unexpected user-controlled or environment-controlled package sources.
- Disable lifecycle scripts where they are unnecessary, for example with
--ignore-scripts, after confirming that doing so is compatible with the package. - Run installation with a non-privileged account in a sandbox or container that has minimal filesystem, credential, and network access.
- Document the expected package checksum or signed release provenance and establish a process for reviewing dependency updates before changing the pinned version.
- Pin
