T08 · Insecure Dependencies
- Location
skill.md:157- Finding
Unpinned and Unreviewable Third-Party npm Package Installation
- Content
View full analysis
Vulnerability Details
File Location:
skill.md:157-177; repeated inreadme.md:63,readme.md:240, andreadme.md:266
Vulnerability Type: Unpinned third-party dependency and unsafe package execution
Risk Level: MediumVulnerable Code
bash # Install from npm registry npm install openclaw-intent-router # Verify installation node -e "console.log(require('openclaw-intent-router'))"The documentation also recommends a global installation:
bash # Install CLI globally npm install -g openclaw-intent-routerTechnical Analysis
The instructions install
openclaw-intent-routerwithout pinning an exact version or verifying a package integrity digest. The audited project contains onlyskill.mdandreadme.md; it does not include the referenced package's source code,package.json, lockfile, checksums, or a vendored release. Consequently, the code ultimately installed and executed cannot be verified from this artifact.An npm installation can execute package lifecycle scripts such as
preinstall,install, andpostinstall. The subsequentrequire('openclaw-intent-router')command also executes the package's module initialization code. Because registry resolution is mutable, the effective code may differ from the content originally reviewed. Global installation can additionally expose a malicious or compromised CLI executable through the user's command search path.This finding does not establish that the referenced package is currently malicious. It identifies a supply-chain boundary that the submitted artifact does not secure or make auditable.
Attack Path
- A user follows the documented installation instructions.
- npm resolves the latest package version allowed by the registry because no exact version is specified.
- An attacker compromises the publisher account, registry package, or another component in the package's dependency chain.
- npm downloads the al ...[truncated 1207 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the dependency to a reviewed, exact version rather than relying on mutable registry resolution:
bash npm install --save-exact openclaw-intent-router@1.0.0 - Publish and verify the expected npm integrity digest before installation.
- Include a lockfile and retain its integrity metadata in the audited artifact.
- Bundle or vendor the relevant source code so package behavior can be reviewed with the skill.
- Initially inspect the package without running lifecycle scripts:
bash npm install --ignore-scripts --save-exact openclaw-intent-router@1.0.0 - Review package contents, lifecycle scripts, dependency trees, publisher provenance, and release signatures before enabling scripts or importing the module.
- Avoid global installation unless operationally necessary. If a CLI is required, run a pinned version in an isolated, least-privileged environment.
- Perform installation as an unprivileged user and never use administrator or root privileges solely to install this package.
- Update the documentation to perform verification before installation rather than relying only on
npm auditafter package code may already have executed.
- Pin the dependency to a reviewed, exact version rather than relying on mutable registry resolution:
