T08 · Insecure Dependencies
- Location
SKILL.md:8- Finding
Unpinned Global CLI Installation and Unattended Remote Skill Updates
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 8–16, 25–29, and 44–58
Vulnerability Type: Unpinned third-party dependency and forced remote updates
Risk Level: MediumVulnerable Code
yaml "install": [ { "id": "node", "kind": "node", "package": "clawhub", "bins": ["clawhub"], "label": "Install ClawHub CLI (npm)", }, ],bash npm i -g clawhubbash clawhub update my-skill clawhub update my-skill --version 1.2.3 clawhub update --all clawhub update my-skill --force clawhub update --all --no-input --forceTechnical Analysis
The npm package declaration and installation command do not pin
clawhubto an exact reviewed version or verify a package integrity hash. The command installs the package globally, so npm resolves and installs whichever release is current when the command is executed. npm package installation can also execute package lifecycle scripts with the privileges of the invoking user.The documented
clawhub update --all --no-input --forcecommand retrieves mutable remote Skill releases, suppresses interactive confirmation, and forces replacement of local content. This weakens opportunities to review changed instructions or code before installation and can overwrite locally reviewed modifications.The behavior is consistent with the Skill's declared package-management purpose; there is no evidence that the reviewed file itself contains an intentionally malicious payload. The risk arises from extending trust to mutable third-party packages and remotely hosted Skill content without version pinning, integrity validation, or mandatory review.
Attack Path
- An attacker compromises the publisher account, npm package, registry infrastructure, or a remotely hosted Skill release.
- The attacker publishes a modified
clawhubpackage or Skill version containing malicious code or instructions.
...[truncated 1248 chars]
- Remediation
View remediation
Remediation Suggestions
-
Pin the CLI to a reviewed exact version in both metadata and documentation, for example:
yaml "package": "clawhub@X.Y.Z"bash npm install -g clawhub@X.Y.Z -
Prefer project-local installation over global installation and execute it through a constrained package script or
npxwith an exact version. -
Use a lockfile and verify npm integrity metadata or independently published checksums before installation.
-
Verify the package publisher, package provenance, and registry source. Restrict package retrieval to an approved registry.
-
Do not recommend
--no-input --forceas the normal update workflow. Require explicit confirmation and review of version, publisher, changelog, and file differences. -
Pin remote Skills to reviewed versions rather than automatically upgrading all Skills to the latest available release.
-
Back up or version-control local Skill directories before updates so forced replacement cannot silently destroy reviewed changes.
-
Run installation and update operations under a least-privileged account in an isolated environment, without access to unrelated credentials or sensitive files.
-
