T08 · Insecure Dependencies
Warning
- Location
- README.md:10
- Finding
- Unpinned Third-Party Installation Commands Create a Supply-Chain Risk<![CDATA[ ## Vulnerability Details **File Location**: `README.md`, lines 10–18 **Vulnerability Type**: Unpinned npm tooling and mutable remote Skill source **Risk Level**: Medium ### Vulnerable Code ```markdown Install into Claude Code or Cursor with: ```bash npx skills add https://github.com/wpank/Agentic-Uniswap/tree/main/.ai/skills/full-lp-workflow ``` Or via Clawhub: ```bash npx clawhub@latest install full-lp-workflow ``` ``` ### Technical Analysis The documented installation procedures use `npx` to download and execute third-party CLI packages without locking all retrieved components to immutable, previously audited versions. The Clawhub command explicitly uses `clawhub@latest`. This mutable version selector can resolve to different package contents over time. The other command installs Skill content from the mutable `main` branch of an external GitHub repository rather than from a specific commit. Consequently, the code or instructions obtained when a user follows the documentation may differ from the content covered by this audit. This is a supply-chain weakness rather than evidence that the currently reviewed files contain a malicious payload. Exploitation would require compromise or malicious modification of an upstream npm package, package publisher, GitHub repository, or distribution channel. ### Attack Path 1. An attacker compromises an upstream npm publisher, registry account, GitHub repository, or another component of the installation supply chain. 2. The attacker publishes a modified version under the mutable `latest` selector or modifies the Skill content available from the repository's `main` branch. 3. A user follows the documented installation instructions. 4. `npx` downloads and runs the currently resolved CLI package, and the installer retrieves the current remote Skill content. 5. The modified installer or Skill executes or installs attacker-controlled behavior with the permissions of the user running the command. ### Impact As ...[truncated 851 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Replace `clawhub@latest` with an explicitly reviewed package version, for example `clawhub@X.Y.Z`. 2. Reference the GitHub-hosted Skill by an immutable commit SHA rather than the mutable `main` branch. 3. Record and verify package integrity hashes or signatures before installation. 4. Use an npm lockfile and a controlled installation process where applicable. 5. Review the complete dependency tree and package lifecycle scripts for the pinned CLI versions. 6. Prefer a trusted internal registry, reviewed release artifact, or similarly controlled distribution channel for security-sensitive Skills. 7. Re-audit the exact pinned artifacts whenever versions or commit references are updated. 8. Document that installation commands should be run with least privilege and never from an administrative or root account unless strictly required. ]]>
