T08 · Insecure Dependencies
Warning
- Location
- README.md:30
- Finding
- Unpinned Third-Party Installation and Mutable Source Checkout<![CDATA[ ## Vulnerability Details **File Location**: `README.md:30-32`, `README.md:45-48`, and `README.md:81-84` **Vulnerability Type**: Unpinned and unverified third-party dependencies **Risk Level**: Medium ### Vulnerable Code ```bash # Clone into your OpenClaw skills directory git clone https://github.com/huddle01/openclaw-skills.git cp -r openclaw-skills/hudl-model-switch ~/.openclaw/skills/hudl-model-switch ``` ```text 2) If not installed, install it: `npm i -g clawhub` 3) Install from ClawHub: `clawhub install hudl-model-switch` ``` ```text 2) Clone repo to temp folder: `tmp_dir="$(mktemp -d)" && git clone https://github.com/huddle01/openclaw-skills.git "$tmp_dir/openclaw-skills"` 3) Replace skill folder: `rm -rf ~/.openclaw/skills/hudl-model-switch` `cp -R "$tmp_dir/openclaw-skills/hudl-model-switch" ~/.openclaw/skills/hudl-model-switch` ``` ### Technical Analysis The documented installation procedures retrieve mutable third-party content without pinning an exact package version or Git commit. They also do not verify a checksum, digital signature, package provenance, or expected repository revision. The command `npm i -g clawhub` installs the latest package selected by the npm registry and may execute package lifecycle scripts with the permissions of the installing user. Similarly, cloning the repository without a commit or signed tag causes the installation to depend on the repository branch state at execution time. Consequently, the content installed by these instructions can differ from the artifact covered by this audit. This constitutes a supply-chain weakness rather than evidence that the currently reviewed dependency is malicious. ### Attack Path 1. An attacker compromises the `clawhub` npm package, its publisher account, the package registry path, or the referenced GitHub repository. 2. The attacker publishes or commits a modified installer or skill containing malicious code. 3. A user follows the README prompt and execu ...[truncated 1063 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Pin ClawHub to an exact reviewed version, for example: ```bash npm install --global clawhub@<reviewed-version> ``` 2. Pin Git installations to a full audited commit hash: ```bash git clone https://github.com/huddle01/openclaw-skills.git "$tmp_dir/openclaw-skills" git -C "$tmp_dir/openclaw-skills" checkout --detach <full-commit-sha> ``` 3. Publish SHA-256 checksums or signed release manifests and verify them before copying or executing any files. 4. Prefer signed release tags and verify signatures against a documented maintainer key. 5. Disable or review npm lifecycle scripts where feasible, and avoid global installation when a local, isolated installation is sufficient. 6. Ensure the pinned dependency revision is subjected to the same security review as the skill artifact. 7. Document an explicit update process so dependency upgrades require review rather than silently selecting the latest release. ]]>
