T08 · Insecure Dependencies
Warning
- Location
- README.md:8
- Finding
- Installation Commands Execute Unpinned Third-Party Dependencies<![CDATA[ ## Vulnerability Details **File Location**: `README.md:8-18` **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/agent-otc-trade ``` ```bash npx clawhub@latest install agent-otc-trade ``` ### Technical Analysis The documented installation process uses `npx` to execute third-party tooling without pinning it to an audited version. The second command explicitly selects `clawhub@latest`, whose effective code may change at any time. The first command installs from a GitHub branch path rather than an immutable commit. Neither command provides a commit hash, package version lock, checksum, signature, or other integrity verification. Consequently, the code executed by future users can differ from the code that was reviewed during this audit. This creates a software supply-chain risk. Compromise of the npm publisher account, package registry, GitHub account, repository branch, or upstream release process could turn the documented installation commands into a remote code-execution channel. ### Attack Path 1. An attacker compromises an upstream npm publisher, registry package, GitHub account, or repository. 2. The attacker publishes a malicious `latest` package version or modifies the referenced repository branch. 3. A user follows the installation instructions in `README.md`. 4. `npx` retrieves and executes the mutable third-party installer. 5. Malicious code runs under the operating-system account that invoked the command. ### Impact Assessment Successful exploitation could execute arbitrary code with the privileges of the installing user. Depending on that account's permissions, the attacker could access project files, environment variables, API credentials, wallet-related configuration, SSH credentials, and other user-accessible data. The commands do not directly establish administrative privi ...[truncated 185 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Replace `@latest` with an explicitly audited package version. 2. Pin the GitHub installation source to a full immutable commit SHA rather than a branch. 3. Publish and verify cryptographic integrity hashes or signed release artifacts. 4. Document the expected package name, version, commit, and checksum together. 5. Recommend installation from a lockfile-controlled environment. 6. Review package lifecycle scripts and disable unnecessary installation scripts where supported. 7. Advise users not to run the installer with administrative or otherwise elevated privileges. For example, use an immutable source in the following conceptual form: ```bash npx clawhub@<AUDITED_VERSION> install agent-otc-trade npx skills add https://github.com/wpank/Agentic-Uniswap/tree/<FULL_COMMIT_SHA>/.ai/skills/agent-otc-trade ``` The placeholders should be replaced with versions and commits that have been independently reviewed. ]]>
