T08 · Insecure Dependencies
- Location
SKILL.md:17- Finding
Unpinned third-party installation commands permit mutable supply-chain execution
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:17;README.md:26;README.md:32
Vulnerability Type: Unpinned and mutable third-party installation sources
Risk Level: MediumVulnerable Code
SKILL.md:17:bash npx clawhub@latest install decision-frameworksREADME.md:26:bash npx add https://github.com/wpank/ai/tree/main/skills/meta/decision-frameworksREADME.md:32:bash npx clawhub@latest install decision-frameworksTechnical Analysis
The documented installation procedures instruct users to retrieve and execute third-party npm packages without pinning them to immutable, reviewed versions.
The
clawhub@latestspecification explicitly resolves to whichever release is currently tagged aslatest. Its executable contents can therefore change after this audit without any modification to this repository. Thenpx addcommand similarly retrieves and executes the npm package namedadd, while passing a mutable GitHub branch URL undertree/main. Neither the npm package nor the referenced repository content is pinned to a reviewed version or commit, and no checksum or integrity verification is provided.Because
npxexecutes downloaded package code, a compromised package publisher, npm account, package release, or upstream repository could convert these installation instructions into an arbitrary-code execution channel. This is a supply-chain weakness rather than evidence that the currently referenced packages are malicious.Attack Path
- An attacker compromises the publisher account, npm package, release process, or mutable upstream repository used by one of the documented commands.
- The attacker publishes malicious CLI or lifecycle code under the version resolved by
@latest, the package invoked asadd, or content referenced by the mutable GitHub branch. - A user follows the installation instructions from
SKILL.mdorREADME.md. npx...[truncated 900 chars]
- Remediation
View remediation
Remediation Suggestions
- Replace
@latestwith an exact, reviewed npm package version, for exampleclawhub@X.Y.Z. - Pin GitHub-hosted content to a reviewed commit SHA rather than the mutable
mainbranch. - Replace the ambiguous
npx add ...invocation with a clearly identified and version-pinned installer. - Publish and verify cryptographic checksums or package integrity metadata before installation.
- Prefer lockfiles, package-manager integrity controls, and trusted registries with provenance verification.
- Review the selected package version and its lifecycle scripts before recommending it.
- Where practical, download and inspect the installer separately rather than combining retrieval and execution in one command.
- Document that installation must run as an unprivileged user and must not be invoked with
sudoor equivalent elevation.
- Replace
