T08 · Insecure Dependencies
- Location
SKILL.md:13- Finding
Unpinned Globally Installed npm Dependency
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:13-20andSKILL.md:51-53
Vulnerability Type: Unpinned third-party executable dependency
Risk Level: HighVulnerable Code
yaml install: - id: node kind: node package: '@openclaw-cn/cli' bins: - claw label: Install OpenClaw CLI via npmThe update instructions similarly install the latest available package version:
bash npm install -g @openclaw-cn/cliTechnical Analysis
The Skill delegates all executable functionality to the external npm package
@openclaw-cn/cli. Neither the installation metadata nor the update command pins an exact package version or supplies an integrity hash.Consequently, the code executed by the Skill can change after this project has been reviewed. A global npm installation may also execute package lifecycle scripts with the permissions of the installing user. The referenced source repository is not cryptographically bound to the package artifact installed from npm, so the documentation alone cannot establish that the published package corresponds to reviewed source code.
This is a supply-chain weakness rather than evidence that the current dependency is malicious.
Attack Path
- An attacker compromises the npm publisher account, package release process, or registry distribution channel.
- The attacker publishes a malicious version of
@openclaw-cn/cli. - A user installs the Skill or follows the recommendation to update the CLI.
- npm resolves the unpinned dependency to the attacker-controlled release.
- Malicious lifecycle scripts or CLI code execute with the installing user's privileges.
- The compromised CLI can access data available to that user and falsify any documented
clawoperation.
Impact Assessment
Successful exploitation could provide arbitrary code execution with the privileges of the user performing the installation. The potential ...[truncated 509 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin
@openclaw-cn/clito a specific, reviewed version in installation metadata and update examples. - Record and verify the package integrity hash before installation.
- Use npm provenance and signature verification where supported.
- Publish reproducible build instructions so the registry artifact can be compared with the referenced source repository.
- Avoid recommending automatic installation of the latest release without a separate review step.
- Disable npm lifecycle scripts during installation where the package does not require them.
- Prefer a project-local, least-privileged installation over a global or elevated installation.
- Establish a controlled update process that reviews package diffs, ownership changes, dependencies, and lifecycle scripts before deployment.
- Pin
