T08 · Insecure Dependencies
- Location
skill.md:11- Finding
Unpinned Third-Party Package Installed Globally
- Content
View full analysis
Vulnerability Details
File Location:
skill.md:11-19
Additional Location:readme.md:24-30
Vulnerability Type:T08: Insecure Dependencies
Risk Level: MediumVulnerable Code
yaml packages: - name: openclaw-skill-finder source: npm version: ">=1.0.0" verified_repo: https://github.com/ZhenRobotics/openclaw-skill-finder verified_commit: main install: commands: - npm install -g openclaw-skill-finderThe installation is repeated in
readme.md:bash # Install via npm (recommended) npm install -g openclaw-skill-finder # Or via ClawHub clawhub install skill-finderTechnical Analysis
The dependency accepts any npm release equal to or newer than version
1.0.0. The referencedmainbranch is mutable and does not cryptographically associate the installed npm artifact with an audited source commit. The project also provides no lockfile, integrity hash, signature, package source, or executable implementation that would allow the installed artifact to be independently verified.Running
npm install -gmay execute npm lifecycle scripts and place an executable in a global binary location. Consequently, a compromised npm publisher account, malicious future release, or upstream repository compromise could cause code that was not present during this audit to execute on the user's system.The submitted project contains documentation only. Therefore, its claims that the external CLI is read-only, safe, and limited to the public ClawHub API cannot be confirmed from the audited files.
Attack Path
- An attacker compromises the npm publisher account, upstream release process, or another component of the package supply chain.
- The attacker publishes a malicious version satisfying the open-ended
>=1.0.0constraint. - A user follows the documented
npm install -g openclaw-skill-finderinstruction. - npm resolves the malicious eligi ...[truncated 972 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the npm dependency to an exact, audited version rather than using
>=1.0.0. - Replace
verified_commit: mainwith an immutable full commit SHA corresponding to the published artifact. - Record and verify the package integrity digest and npm provenance before installation.
- Include the executable source and a lockfile in the audited project so dependency resolution and runtime behavior can be reviewed.
- Prefer a project-local installation over a global installation to reduce the affected scope.
- Avoid elevated privileges and disable npm lifecycle scripts where compatible, for example by using
--ignore-scriptsafter confirming that the package does not legitimately require them. - Document the expected domains, network operations, filesystem access, and configuration files used by the CLI.
- Re-audit each package update before changing the pinned version.
- Pin the npm dependency to an exact, audited version rather than using
