T08 · Insecure Dependencies
Warning
- Location
- README.md:12
- Finding
- Unpinned Third-Party Installation Commands Create Supply-Chain Risk<![CDATA[ ## Vulnerability Details **File Location**: `README.md:12-18` **Vulnerability Type**: Unpinned and mutable third-party dependencies **Risk Level**: Medium ### Vulnerable Code ```markdown npx skills add https://github.com/wpank/Agentic-Uniswap/tree/main/.ai/skills/seek-protocol-fees ``` Or via Clawhub: ```bash npx clawhub@latest install seek-protocol-fees ``` ### Technical Analysis The documented installation procedures depend on mutable third-party sources: - `npx skills add` does not pin the `skills` package to a reviewed version and installs skill content from a mutable branch path. - The GitHub URL points to `main` rather than an immutable commit hash or signed release. - `npx clawhub@latest` explicitly requests whichever Clawhub release is current at installation time. - The installed `seek-protocol-fees` package is not pinned to a specific version or integrity digest. Consequently, the effective installer and installed skill may differ from the artifact reviewed in this audit. If the npm package, Clawhub package, GitHub account, repository, or publishing credentials are compromised, attackers could replace the expected content with malicious instructions or code. ### Attack Path 1. An attacker compromises an upstream package, publishing account, repository, or mutable branch referenced by the installation commands. 2. The attacker publishes a malicious version of the installer or modifies the remote skill content. 3. A user follows the documented `npx` installation command. 4. `npx` resolves and runs the current, unpinned package, or the installer downloads the modified skill from the mutable source. 5. The malicious installer or skill runs with the permissions of the user performing the installation. 6. Depending on those permissions and the substituted payload, the attacker could modify files accessible to that user, install malicious skill instructions, access environment data exposed to the process, or cause later agent sessions to ...[truncated 711 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Pin every npm utility to an exact reviewed version, for example: ```bash npx --yes skills@X.Y.Z add ... npx --yes clawhub@X.Y.Z install seek-protocol-fees@A.B.C ``` 2. Replace the mutable GitHub `main` URL with an immutable commit reference. 3. Publish and verify cryptographic checksums or signatures for the skill artifact. 4. Use lockfiles and npm integrity metadata where applicable. 5. Prefer a trusted registry release with provenance attestations over installation directly from a mutable repository branch. 6. Document the exact package versions, commit hash, and artifact digest covered by the security review. 7. Run installation in a restricted environment without wallet secrets or unrelated credentials. ]]>
