T08 · Insecure Dependencies
- Location
README.md:31- Finding
Unpinned Third-Party Package Execution in Installation Instructions
- Content
View full analysis
Vulnerability Details
File Location:
README.md:31,README.md:44,README.md:99,README.md:112; related dependency declaration atpackage.json:20-21
Vulnerability Type: T08: Insecure Dependencies
Risk Level: MediumVulnerable code snippets:
bash # README.md:31 npx clawhub install machiavelli-skill --workdir ~ --dir .workbuddy/skillsbash # README.md:44 npx clawhub install machiavelli-skillThe same unpinned commands are repeated in the English installation instructions at
README.md:99andREADME.md:112.json // package.json:20-21 "devDependencies": { "clawhub": "^0.18.0" }Technical Analysis
The documented installation procedure invokes
clawhubthroughnpxwithout specifying an exact, reviewed package version. If an appropriate local executable is unavailable,npxcan retrieve package content from the configured npm registry and execute it with the current user's permissions.The associated dependency uses the range
^0.18.0, which permits later compatible versions rather than restricting installation to one reviewed artifact. No lockfile or integrity-pinning mechanism is present in the audited project. Consequently, the code executed during installation can differ from the version reviewed when these instructions were written.This network-based package execution is not required for the Skill's core functionality because the README also provides manual-copy installation methods. The unpinned execution path therefore creates avoidable supply-chain exposure.
Attack Path
- An attacker compromises the
clawhubpackage, its maintainer account, a permitted future release, or the package-delivery infrastructure. - A user follows one of the documented
npx clawhub install ...commands. npxresolves and retrieves a mutable package version from the configured registry when no trusted local version is available.- The retrieved ...[truncated 1245 chars]
- An attacker compromises the
- Remediation
View remediation
Remediation Suggestions
- Prefer the documented manual-copy installation method because this Skill consists of static content and does not require third-party executable installation logic.
- If
npxremains supported, pin the reviewed package explicitly:bash npx --yes clawhub@0.18.0 install machiavelli-skill --workdir ~ --dir .workbuddy/skills - Verify the selected package version and its transitive dependencies before recommending it. Update the pinned version only after review.
- Add and commit a package lockfile generated with the intended package manager so dependency versions and integrity hashes are reproducible.
- Replace the caret dependency with an exact version:
json "devDependencies": { "clawhub": "0.18.0" } - Use a trusted registry and integrity or provenance verification where supported.
- Document that installation commands must not be run with
sudo, as an administrator, or from an account with unnecessary privileges. - Consider installing the verified CLI in an isolated environment first, then invoking the locally pinned executable rather than allowing
npxto resolve mutable remote content at execution time.
