T08 · Insecure Dependencies
Warning
- Location
- references/installation.md:12
- Finding
- Installation Instructions Execute Mutable or Unverified npm Packages## Vulnerability Details **File Location**: `references/installation.md:12-19`, `references/installation.md:52`, `references/installation.md:65`, `references/installation.zh-CN.md:12-25`, `references/installation.zh-CN.md:53`, and `references/installation.zh-CN.md:65` **Vulnerability Type**: Supply-chain exposure through remotely retrieved executable packages **Risk Level**: Medium ### Vulnerable Code English installation guide: ```sh npx --registry=https://registry.npmjs.org onimi-pages-publish@latest install --agent codex ``` ```sh npx --registry=https://registry.npmjs.org onimi-pages-publish@latest --help ``` ```sh npx --registry=https://registry.npmjs.org clawhub@0.23.3 install @mariohazy/onimi-pages-publish ``` ```sh npx --registry=https://registry.npmjs.org skills@1.5.26 add zlch-oceanai/onimi-pages-publish --skill onimi-pages-publish --global ``` Equivalent commands in the Chinese installation guide: ```sh npx --registry=https://registry.npmjs.org onimi-pages-publish@latest install --agent codex --lang zh-CN ``` ```sh npx --registry=https://registry.npmjs.org onimi-pages-publish@latest --help ``` ```sh npx --registry=https://registry.npmjs.org clawhub@0.23.3 install @mariohazy/onimi-pages-publish ``` ```sh npx --registry=https://registry.npmjs.org skills@1.5.26 add zlch-oceanai/onimi-pages-publish --skill onimi-pages-publish --global ``` ### Technical Analysis The installation procedure directs users to retrieve and immediately execute npm package code through `npx`. The primary package is selected using the mutable `@latest` tag, so the code executed by the same documented command can change after this Skill has been audited. Although the documentation asks users to consult a distribution manifest before using a registry channel, that availability check does not cryptographically bind the npm artifact to an expected package digest. The `clawhub` and `skills` command-line pack ...[truncated 1910 chars]
- Remediation
- ## Remediation Suggestions 1. Replace `onimi-pages-publish@latest` with an exact, immutable version in all executable examples. 2. Publish an expected npm integrity value or cryptographic digest through a separately authenticated channel and require verification before execution. 3. Cryptographically bind the npm package version and digest in the stable manifest rather than using the manifest only as an availability indicator. 4. Prefer downloading a versioned artifact, verifying its byte size and SHA-256 digest, and then running a locally reviewed installer. 5. Pin all transitive dependencies and use reproducible builds and lockfiles in the published npm packages. 6. Protect publisher accounts with phishing-resistant multi-factor authentication, provenance attestations, restricted automation tokens, and mandatory release review. 7. Recommend installation under an unprivileged user and explicitly warn users not to invoke the installer with `sudo` or administrator privileges. 8. Apply the same immutable-version and integrity-verification requirements consistently to both installation guides.
