T08 · Insecure Dependencies
- Location
SKILL.md:29- Finding
Unpinned npm Packages Executed During Skill Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:29,SKILL.md:35,SKILL.md:54,SKILL.md:60,README.md:10,README.md:16,README.md:32, andREADME.md:38
Vulnerability Type: Unpinned third-party executable dependencies
Risk Level: MediumVulnerable Code
SKILL.md:29:bash npx skills add prompt-security/clawsec --skill clawtributor -a openclaw -ySKILL.md:35andSKILL.md:54:bash npx skills add prompt-security/clawsec --skill clawtributor -a codex -ySKILL.md:60:bash npx clawhub@latest install clawtributorEquivalent commands also appear at
README.md:10,README.md:16,README.md:32, andREADME.md:38.Technical Analysis
The installation instructions cause
npxto retrieve and execute third-party npm packages without pinning them to reviewed versions.npx clawhub@latestexplicitly selects the newest available release, whilenpx skillsimplicitly resolves a registry-selected version. The-yoption suppresses the normal confirmation prompt.Although
SKILL.mdprovides a signed release-manifest verification procedure for standalone Skill artifacts, that procedure does not authenticate the npm CLI packages executed by these commands or prove that registry-installed content matches the verified release artifacts.This creates a supply-chain trust gap: the code ultimately executed during installation may change after the Skill itself has been audited. Exploitation would require compromise or malicious control of a relevant package, release process, registry account, or dependency chain; the audited project does not itself contain evidence that these packages are currently malicious.
Attack Path
- An attacker compromises the publisher account, release pipeline, or dependency chain for the
skillsorclawhubnpm package. - The attacker publishes a malicious package version to the registry.
- A user follows the documented in ...[truncated 1317 chars]
- An attacker compromises the publisher account, release pipeline, or dependency chain for the
- Remediation
View remediation
Remediation Suggestions
- Pin each executable npm package to an exact, reviewed version, for example
npx clawhub@X.Y.Z, rather than using@latestor an implicit registry-selected version. - Remove
-ywhere feasible so users can review package identity and version before execution. - Publish and document expected npm integrity hashes or use a lockfile-based installation workflow that validates package integrity.
- Verify package provenance using trusted npm provenance attestations and a protected release pipeline.
- Extend the signed-manifest workflow so registry-installed
SKILL.md,skill.json, and related artifacts are checked against the signed release manifest. - Recommend running installation without administrative privileges and in an isolated environment where practical.
- Keep version pins synchronized in both
SKILL.mdandREADME.md, and review new versions before updating those pins.
- Pin each executable npm package to an exact, reviewed version, for example
