T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:11
- Finding
- Unpinned Remote Installation Dependencies<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 11-26 **Vulnerability Type**: Supply-chain exposure through mutable, unpinned dependencies **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 camino-parking-finder ``` **Via clawhub:** ```bash npx clawhub@latest install camino-parking-finder # or: pnpm dlx clawhub@latest install camino-parking-finder # or: bunx clawhub@latest install camino-parking-finder ``` ### Technical Analysis The documented installation commands execute package-runner tools and retrieve code from mutable external sources. The GitHub repository is referenced without a reviewed commit SHA or signed release tag, while the ClawHub commands explicitly request `@latest`. Consequently, the code installed by these commands can change after this version of the Skill has been audited. Compromise of the upstream repository, package publisher account, package registry, or installation tooling could cause future users to retrieve and execute attacker-controlled content. This finding concerns supply-chain integrity. The reviewed project itself does not contain evidence that the current upstream packages are malicious. ### Attack Path 1. An attacker compromises the upstream GitHub repository, ClawHub/npm publisher account, or another relevant distribution component. 2. The attacker modifies the default repository branch or publishes a malicious version under the mutable `latest` tag. 3. A user follows one of the documented installation commands. 4. `npx`, `pnpm dlx`, or `bunx` retrieves the changed package or installer rather than the version reviewed during this audit. 5. Attacker-controlled installation code executes with the permissions of the user running the command. ### Impact Assessment Successful exploitation could provide arbitrary c ...[truncated 552 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Pin package-runner dependencies to exact, reviewed versions rather than using `@latest`. 2. Pin the GitHub repository dependency to a specific audited commit SHA or immutable signed release. 3. Publish and verify integrity hashes or signed release artifacts where supported. 4. Use a lockfile for package-based installation tooling and commit it to the repository. 5. Avoid recommending elevated privileges for installation. 6. Document the exact versions and commit identifiers that were security-reviewed. 7. Add a controlled update process that reviews dependency changes before advancing pinned versions. For example, replace mutable references with exact versions or immutable revisions: ```bash npx clawhub@<reviewed-version> install camino-parking-finder npx skills@<reviewed-version> add \ https://github.com/barneyjm/camino-skills#<reviewed-commit-sha> \ --skill camino-parking-finder ``` ]]>
