T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:12
- Finding
- Unpinned Third-Party Installation Chain<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 12-23 **Vulnerability Type**: Unpinned package and repository 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 real-estate ``` ```bash npx clawhub@latest install real-estate # or: pnpm dlx clawhub@latest install real-estate # or: bunx clawhub@latest install real-estate ``` ### Technical Analysis The documented installation commands retrieve and execute third-party components without pinning them to immutable, audited versions. The GitHub installation commands reference a mutable repository state rather than a specific commit hash or signed release. The package-runner commands explicitly use `clawhub@latest`, causing the executed installer to depend on whichever release the registry identifies as latest at installation time. Consequently, the code executed by future users can differ from the code that was available during this audit. Compromise of an upstream maintainer account, package registry, publishing token, or repository could turn these otherwise legitimate installation commands into a supply-chain delivery mechanism. The vulnerable commands are installation instructions and are not automatically executed by `scripts/real-estate.sh`. Exploitation therefore requires a user or automation system to follow the documented installation procedure. ### Attack Path 1. An attacker compromises the upstream GitHub repository, package publisher account, registry artifact, or related release infrastructure. 2. The attacker adds malicious installation or package code to the mutable repository branch or publishes it as the package version selected by `@latest`. 3. A user follows one of the installation commands in `SKILL.md`. 4. `npx`, `pnpm dlx`, `bunx`, or the skills installer downloads the ...[truncated 857 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Replace `@latest` with a reviewed, exact package version, for example `clawhub@x.y.z`. 2. Pin the GitHub source to a specific immutable commit hash rather than relying on the repository's default branch. 3. Where supported, require package integrity hashes, signed releases, or provenance verification. 4. Maintain and publish lockfiles for installation workflows that support them. 5. Review package lifecycle scripts before allowing package runners to execute them. 6. Document the expected source repository, version, commit hash, and integrity value so users can verify downloaded artifacts. 7. Update pinned versions only after reviewing the new release and its transitive dependencies. 8. Advise users not to run installation commands with administrative or root privileges. ]]>
