T08 · Insecure Dependencies
Warning
- Location
- README.md:10
- Finding
- Unpinned and Mutable Remote Installation Sources## Vulnerability Details **File Location**: `README.md`, lines 10-16 **Vulnerability Type**: Unpinned third-party packages and mutable remote skill content **Risk Level**: Medium ```bash npx skills add https://github.com/wpank/Agentic-Uniswap/tree/main/.ai/skills/find-yield ``` Or via Clawhub: ```bash npx clawhub@latest install find-yield ``` ### Technical Analysis The documented installation methods rely on remotely mutable sources without immutable version or integrity constraints: - `npx skills` does not specify an exact package version. - The GitHub installation source references the mutable `main` branch rather than a commit SHA. - `npx clawhub@latest` explicitly retrieves the latest available package version. Because `npx` can download and execute npm package code, the effective installer may differ from the version reviewed during this audit. Likewise, content retrieved from the GitHub `main` branch can change without modifying this project artifact. No malicious payload is present in the audited files, but these installation instructions create a supply-chain trust boundary that is not protected by version pinning or integrity verification. ### Attack Path 1. An attacker compromises the npm publisher account, package registry distribution, GitHub repository, or another relevant upstream release channel. 2. The attacker publishes a malicious version of `skills` or `clawhub`, or modifies the skill content on the referenced `main` branch. 3. A user follows one of the documented installation commands. 4. `npx` downloads and executes the current upstream package, while the installer retrieves mutable skill content where applicable. 5. The malicious installer runs with the invoking user's privileges or installs modified skill instructions for later execution. ### Impact Assessment Successful exploitation could execute arbitrary code with the permissions of the user running `npx`. Depending on that user's environment, this may permit access to projec ...[truncated 343 chars]
- Remediation
- ## Remediation Suggestions - Pin every npm CLI dependency to an exact, reviewed version rather than relying on an implicit current version or the `latest` tag. - Replace the mutable GitHub `main` reference with an immutable commit SHA or a signed, versioned release artifact. - Publish and verify cryptographic integrity hashes or signatures for downloaded packages and skill content. - Use a lockfile or equivalent reproducible dependency mechanism where supported. - Review fetched artifacts before installation and execute installers in a sandbox or least-privileged environment. - Document the expected package versions, source commit, and verification procedure so users can confirm that they are installing the audited artifact.
