T08 · Insecure Dependencies
- Location
recommend.js:181- Finding
Unpinned External Skill Installation and Execution
- Content
View full analysis
Vulnerability Details
File Locations:
recommend.js:181-182SKILL.md:212-213
Vulnerability Type: Unreviewed and unpinned external dependency execution
Risk Level: MediumCode Snippet —
recommend.js:181-182:js console.log(' npx clawhub@latest install openclaw-cn-installer'); console.log(` node ~/.openclaw/skills/openclaw-cn-installer/setup-ai.js ${MODELS[scenario.recommend].provider}`);Code Snippet —
SKILL.md:212-213:bash npx clawhub@latest install openclaw-cn-installer node ~/.openclaw/skills/openclaw-cn-installer/setup-ai.js deepseekTechnical Analysis
The Skill recommends downloading
openclaw-cn-installerthrough the mutableclawhub@latestpackage and then directly executing the downloadedsetup-ai.jsscript. The external installer and its transitive dependencies are not included in this project, pinned to a reviewed version, or protected by an integrity value.Consequently, the code ultimately executed by a user can change after this Skill has been audited. Although the local scripts do not automatically execute the installer, the recommendation workflow explicitly presents these commands as the primary configuration method. If the package registry, publisher account, external Skill, or one of its dependencies is compromised, following the displayed instructions could execute attacker-controlled JavaScript.
Attack Path
- An attacker compromises the package publisher, registry entry, external installer Skill, or a dependency used by the installer.
- The attacker publishes a malicious version that can be resolved through
clawhub@latestor modifies the externally retrievedsetup-ai.js. - A user runs
recommend.jsand receives the installation and execution commands as trusted setup guidance, or follows the same instructions inSKILL.md. - The user downloads the mutable external component with `npx clawhub@latest ...[truncated 844 chars]
- Remediation
View remediation
Remediation Suggestions
- Remove the external installer recommendation where possible and make the documented manual configuration procedure the default.
- If the installer is required, pin both the CLI and installer Skill to exact, reviewed versions rather than using
@latest. - Verify downloaded artifacts with a cryptographic digest or signed release metadata before execution.
- Vendor the reviewed installer logic into the project when licensing permits, so its complete behavior is included in future audits.
- Review and lock all transitive dependencies associated with the installer.
- Clearly disclose that the installer is third-party code and require users to inspect it before execution.
- Run configuration tooling with least privilege and never recommend
sudoor administrator execution. - Prefer a constrained configuration writer that validates allowed provider and model values and only modifies the intended configuration fields.
