T08 · Insecure Dependencies
Warning
- Location
- README.md:9
- Finding
- Unpinned Third-Party Installation Sources<![CDATA[ ## Vulnerability Details **File Location**: `README.md`, lines 9–19 **Vulnerability Type**: Unpinned npm packages and mutable remote installation source **Risk Level**: Medium ### Vulnerable Code ```bash Install into Claude Code or Cursor with: ```bash npx skills add https://github.com/wpank/Agentic-Uniswap/tree/main/.ai/skills/monitor-tokenjar ``` Or via Clawhub: ```bash npx clawhub@latest install monitor-tokenjar ``` ``` ### Technical Analysis The documented installation procedures invoke npm-delivered tools without pinning them to reviewed versions or integrity hashes. The second command explicitly uses the mutable `latest` npm tag. The first command also retrieves Skill content from the mutable `main` branch of a personal GitHub repository rather than from an audited commit. As a result, the code and Skill content installed when these commands are executed may differ from the artifacts reviewed during this audit. An upstream package compromise, maintainer-account takeover, malicious release, or unauthorized repository modification could substitute hostile installer behavior or Skill instructions. The vulnerability resides in the documented installation process rather than the runtime workflow in `SKILL.md`. Exploitation requires a user to follow one of the affected installation commands after the corresponding upstream source has been compromised or maliciously changed. ### Attack Path 1. An attacker compromises the npm package, package maintainer, Clawhub release, GitHub account, or referenced repository. 2. The attacker publishes a malicious package version, changes the release resolved by `@latest`, or modifies the content on the referenced `main` branch. 3. A user follows the installation instructions in `README.md`. 4. `npx` downloads and executes the currently resolved installer with the user's local privileges. 5. The compromised installer can execute arbitrary commands or install altered Skill instructions. 6. Malicious behavior ...[truncated 881 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Pin every npm installer to an exact, reviewed version instead of relying on an implicit current version or `@latest`: ```bash npx skills@X.Y.Z add <source> npx clawhub@X.Y.Z install monitor-tokenjar ``` 2. Replace the mutable GitHub `main` reference with an immutable, audited commit SHA or signed release tag. 3. Where supported, verify package integrity hashes, provenance attestations, and release signatures before execution. 4. Prefer a two-stage installation process that downloads and inspects the package before executing it, rather than allowing `npx` to retrieve and immediately run changing code. 5. Publish the expected package version, repository commit, and checksums in the documentation so users can verify that they are installing the audited artifact. 6. Run installation with the minimum required privileges and avoid administrative or root accounts. ]]>
