T08 · Insecure Dependencies
Warning
- Location
- README.md:9
- Finding
- Unpinned Third-Party Installation Commands Create a Supply-Chain Risk## Vulnerability Details **File Location**: `README.md`, lines 9-15 **Vulnerability Type**: Unpinned and mutable third-party installation sources **Risk Level**: Medium ### Vulnerable Code ```bash npx skills add https://github.com/wpank/Agentic-Uniswap/tree/main/.ai/skills/research-and-trade ``` ```bash npx clawhub@latest install research-and-trade ``` ### Technical Analysis The documented installation commands rely on mutable third-party sources without pinning them to reviewed versions or verifying their integrity. The first command installs skill content from the mutable `main` branch of a GitHub repository. The second uses the mutable `latest` package tag and allows `npx` to retrieve and execute a package version that may differ from the version reviewed during this audit. Because neither command specifies an immutable Git commit, fixed package version, checksum, or trusted signature, future users may receive code that is different from the audited two-file artifact. This creates a time-of-review versus time-of-installation gap. This finding concerns the documented installation process. The audited artifact itself contains no local executable scripts or confirmed malicious payload. ### Attack Path 1. An attacker compromises the upstream GitHub repository, package registry account, maintainer account, or another relevant publishing channel. 2. The attacker modifies the repository’s `main` branch or publishes a malicious package version resolved by the `latest` tag. 3. A user follows the installation instructions in `README.md`. 4. `npx` retrieves mutable remote package content, and the installer retrieves or installs skill content that was not part of this audit. 5. The malicious upstream content executes or is installed with the permissions of the user running the command. 6. Depending on those permissions and the payload, the attacker may access user files, credentials, wallet-related data, or agent configuration. ### Impact Assessment Successf ...[truncated 485 chars]
- Remediation
- ## Remediation Suggestions 1. Pin every `npx` package to a reviewed, immutable version instead of using `@latest`. 2. Replace the GitHub `main` branch reference with a full reviewed commit SHA or immutable signed release tag. 3. Publish cryptographic checksums for downloaded artifacts and verify them before installation. 4. Use signed releases or package provenance mechanisms and document signature verification. 5. Prefer lockfiles and reproducible installation procedures where applicable. 6. Avoid executing package installers directly from mutable remote sources. Download and inspect the pinned artifact before execution when practical. 7. Apply least privilege during installation: do not run the commands as root or with unnecessary access to secrets, wallets, or sensitive directories. 8. Establish a dependency update process in which new versions are reviewed and approved before documentation is updated.
