T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:12
- Finding
- Unpinned Third-Party Installers and Mutable Repository Source## Vulnerability Details **File Location**: `SKILL.md`, lines 12–24 **Vulnerability Type**: Supply-chain risk caused by unpinned executable dependencies and mutable source references **Risk Level**: Medium ### Vulnerable Code ```bash # Install all skills from repo npx skills add https://github.com/barneyjm/camino-skills # Or install specific skills npx skills add https://github.com/barneyjm/camino-skills --skill safety-checker ``` ```bash npx clawhub@latest install safety-checker # or: pnpm dlx clawhub@latest install safety-checker # or: bunx clawhub@latest install safety-checker ``` ### Technical Analysis The documented installation commands download and execute third-party npm tooling without pinning it to an immutable, reviewed version. The explicit `@latest` reference selects whichever `clawhub` release is current at installation time. The unversioned `skills` package similarly allows the npm registry to determine the executed version. The GitHub installation source references a mutable repository rather than a reviewed commit SHA or cryptographically verified release artifact. Consequently, the code installed by these commands can change after this audit without any modification to the audited project. Package runners such as `npx`, `pnpm dlx`, and `bunx` may execute downloaded package code and lifecycle behavior under the privileges of the invoking user. Installing every companion skill also unnecessarily increases the amount of third-party code trusted by the user. ### Attack Path 1. An attacker compromises the publisher account, npm package, GitHub repository, release process, or another relevant supply-chain component. 2. The attacker publishes a malicious package version or modifies the mutable repository content. 3. A user follows the installation instructions in `SKILL.md`. 4. The package runner retrieves the current unpinned dependency or repository state. 5. Malicious installer, lifecycle ...[truncated 775 chars]
- Remediation
- ## Remediation Suggestions 1. Pin npm tools to exact, reviewed versions instead of using unversioned packages or `@latest`. 2. Commit and verify package-manager lockfiles where installation occurs, and enforce registry integrity hashes. 3. Reference the GitHub repository using a reviewed commit SHA rather than its mutable default branch. 4. Prefer signed, checksummed release artifacts and document how users can verify signatures or hashes before installation. 5. Recommend installing only the required `safety-checker` skill rather than all companion skills. 6. Run installation in a least-privileged, isolated environment without unnecessary credentials or access to sensitive files. 7. Establish a dependency-review process for version updates, including publisher verification and inspection of package lifecycle scripts.
