T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:7
- Finding
- Unpinned Third-Party Installation with Postinstall Binary Retrieval<![CDATA[ ## Vulnerability Details **File Locations**: - `SKILL.md:7` - `SKILL.md:95` - `SKILL.md:164` - `README.md:28-29` - `README.md:40` - `README.zh.md:28-29` - `README.zh.md:40` **Vulnerability Type**: Unpinned executable dependency and externally retrieved platform binary **Risk Level**: Medium ### Vulnerable Code Snippets `SKILL.md:7`: ```yaml metadata: {"openclaw":{"requires":{"bins":["node","npm","vidu-cli"],"env":["VIDU_TOKEN"]},"primaryEnv":"VIDU_TOKEN","install":[{"id":"vidu-cli","kind":"node","package":"vidu-cli","bins":["vidu-cli"],"label":"Install vidu-cli via npm (requires Node.js >=14; postinstall downloads a platform binary from GitHub)"}]}} ``` `SKILL.md:95`: ```markdown 1. `npm install -g vidu-cli@latest` (requires Node.js >=14; postinstall auto-downloads the platform binary) ``` `SKILL.md:164`: ```markdown If `node` / `npm` / `vidu-cli` cannot be installed, this skill cannot run. Require **vidu-cli latest** (via `npm install -g vidu-cli@latest`, Node.js >=14) and point users to **references/parameters.md** for parameter details. ``` `README.md:28-29`: ```bash # Via npx skills (recommended, supports Claude Code, Cursor, Copilot, and 40+ agents) npx skills add shengshu-ai/vidu-skills ``` `README.md:40`: ```bash npm install -g vidu-cli@latest ``` `README.zh.md:28-29`: ```bash # 通过 npx skills(推荐,支持 Claude Code、Cursor、Copilot 等 40+ agents) npx skills add shengshu-ai/vidu-skills ``` `README.zh.md:40`: ```bash npm install -g vidu-cli@latest ``` ### Technical Analysis The installation instructions use the mutable `latest` npm tag and an unversioned `npx` installation command. Consequently, the installed code is not bound to a specific version that was reviewed during this audit. The Skill metadata also explicitly states that the `vidu-cli` npm postinstall process downloads a platform-specific binary from GitHub. That binary is not present in the audited project, and the documentation does not specify a release version, checksum, si ...[truncated 2090 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Replace mutable package references with reviewed, exact versions, for example: ```bash npm install -g vidu-cli@<reviewed-exact-version> ``` 2. Pin the Skill installer to a specific immutable release, tag, or commit rather than relying on the current repository state. 3. Publish the exact GitHub release URL and version used for each supported platform binary. 4. Publish SHA-256 checksums for all downloaded binaries and make the installer verify the selected binary before execution. 5. Prefer cryptographic release signatures with a documented verification key and fail installation if signature verification fails. 6. Ensure the npm package pins the expected binary release rather than resolving a mutable latest release at installation time. 7. Consider distributing platform binaries directly in signed, versioned release artifacts where practical, reducing reliance on dynamic postinstall retrieval. 8. Document that users should not install the package with `sudo` or from an administrator account. Installation and runtime should use a dedicated, least-privileged account where feasible. 9. Recommend a least-privilege Vidu token and avoid exposing unrelated credentials in the CLI process environment. 10. Add a reproducible release and dependency-review process covering both the npm wrapper and the downloaded native binary. ]]>
