T08 · Insecure Dependencies
- Location
recommend.js:183- Finding
Execution of an Unreviewed External Installer from a Mutable Supply-Chain Source
- Content
View full analysis
Vulnerability Details
File Location:
recommend.js:183-184;SKILL.md:217-218
Vulnerability Type: Insecure third-party dependency and external installer workflow
Risk Level: MediumThe project recommends downloading an external Skill through the mutable
latestrelease ofclawhuband subsequently executing a setup script supplied by that external Skill.Complete vulnerable code in
recommend.js:183-184: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}`);Corresponding instructions in
SKILL.md:217-218:bash npx clawhub@latest install openclaw-cn-installer node ~/.openclaw/skills/openclaw-cn-installer/setup-ai.js deepseekTechnical Analysis
The command uses the mutable
clawhub@latestpackage version and installs the separately maintainedopenclaw-cn-installerSkill. It then directs the user to execute that Skill'ssetup-ai.jsfile.Neither the external Skill nor its setup script is included in the audited project. Consequently, this artifact provides no way to verify the downloaded code's integrity, permissions, behavior, or correspondence to a previously reviewed release. The effective code executed by a user can change independently after this project has been audited.
The project does not automatically run these commands; exploitation requires a user to follow the displayed or documented instructions. Nevertheless, presenting the workflow as the recommended configuration method establishes an avoidable supply-chain trust boundary.
Attack Path
- An attacker compromises the package registry, the
clawhubpublisher account, the external Skill publisher, or a release artifact in the distribution chain. - The attacker publishes a modified release under the mutable version or Skill name referenced by ...[truncated 1187 chars]
- An attacker compromises the package registry, the
- Remediation
View remediation
Remediation Suggestions
- Prefer the documented manual configuration workflow so users do not need to execute an unrelated installer.
- Replace
clawhub@latestwith a reviewed, exact version. - Pin the external Skill to an immutable release identifier rather than resolving the most recent release.
- Publish and verify cryptographic integrity hashes or signed provenance for every downloaded artifact.
- Vendor the required setup implementation into this repository if it is essential, allowing it to be audited with the rest of the project.
- Review the external installer's source code, transitive dependencies, lifecycle scripts, filesystem access, and network behavior before recommending it.
- Clearly disclose that the installer is third-party code and require explicit user confirmation before installation and execution.
- Run any retained installer with the minimum required permissions and prevent it from accessing unrelated credentials or files where sandboxing is available.
