T08 · Insecure Dependencies
Warning
- Location
- README.md:75
- Finding
- Unpinned Remote Installation Commands Create a Supply-Chain Risk## Vulnerability Details **File Location**: `README.md:75-79` and `README.md:137-141` **Vulnerability Type**: Unpinned third-party tooling and mutable remote installation source **Risk Level**: Medium ### Vulnerable Code ```bash # From ClawHub npx clawhub install feishu-bot-task # Or from GitHub npx skills add https://github.com/lixiang92229/feishu-bot-task -y -g ``` The equivalent commands are repeated in the Chinese installation section at `README.md:137-141`. ### Technical Analysis The documented installation commands invoke npm-based tools without pinning package versions. If the relevant package is not already installed, `npx` may retrieve and execute the currently published package version. Consequently, the code executed by the installation process can differ from the code reviewed during this audit. The GitHub installation command also references a mutable repository URL rather than a reviewed commit hash or signed release. The `-g` option requests global installation, while `-y` suppresses interactive confirmation. These options increase the potential effect of a compromised or unexpectedly modified upstream source. This is a supply-chain weakness rather than evidence that the current repository contains malicious code. ### Attack Path 1. An attacker compromises the npm package, the GitHub repository, a maintainer account, or another relevant publishing channel. 2. The attacker publishes a malicious version of the installer or modifies the repository content referenced by the mutable URL. 3. A user follows the documented `npx` installation command. 4. `npx` retrieves and executes the unpinned tooling, or the installer retrieves the modified repository content. 5. Attacker-controlled installation logic executes with the privileges of the invoking user and may be installed globally when `-g` is used. ### Impact Assessment Successful exploitation could permit arbitrary code execution under the accou ...[truncated 398 chars]
- Remediation
- ## Remediation Suggestions - Pin each npm-based installer to an explicitly reviewed version, such as `npx clawhub@<reviewed-version>`. - Pin GitHub installations to an immutable commit hash or a cryptographically signed release rather than a mutable repository branch. - Publish checksums or signatures for release artifacts and verify them before installation. - Remove `-g` unless global installation is strictly required. - Avoid `-y` so users can review installation prompts and requested changes. - Prefer a package manager lockfile or a controlled installer whose complete dependency graph is version-pinned and integrity-verified.
