T08 · Insecure Dependencies
- Location
SKILL.md:161- Finding
Unpinned External npm Plugin Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 161-170
Vulnerability Type: Unpinned third-party dependency installation
Risk Level: MediumVulnerable Code
bash openclaw plugins install openclaw-skill-usageIf the user is working from a local cloned repo instead of npm, a development install may use:
bash openclaw plugins install --linkBut prefer the published npm package for normal setup.
Technical Analysis
The Skill instructs the agent to install
openclaw-skill-usagefrom the npm registry without specifying a reviewed version, integrity digest, immutable commit, or signed release. Consequently, the package resolved at installation time may differ from the version that existed when this Skill was reviewed.The dependency's implementation is not included in the audited project, which contains only
SKILL.md. Its installation hooks and runtime behavior therefore cannot be verified through this audit. If the npm package, publisher account, or release process is compromised, a malicious future release could execute during installation or when loaded by the OpenClaw Gateway.The local
--linkalternative also requires trust in the contents and provenance of the cloned repository, although the instructions appropriately limit that method primarily to development use.Attack Path
- An attacker compromises the npm publisher account, package release pipeline, or another component of the package's supply chain.
- The attacker publishes a malicious release under the existing
openclaw-skill-usagepackage name. - A user asks the agent to install skill-usage analytics.
- Following
SKILL.md, the agent runs the unversioned installation command. - The package manager resolves and installs the attacker-controlled release.
- Malicious package installation hooks or plugin runtime code execute in the OpenClaw environment.
- The subsequent gateway restart loads ...[truncated 706 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the plugin to a specifically reviewed version rather than resolving the latest available release.
- Verify the package against a trusted integrity digest or lockfile before installation.
- Prefer an immutable, signed release artifact or a repository commit identified by its full commit hash.
- Document the expected npm publisher, package provenance, and signature-verification procedure.
- Audit package contents, installation scripts, transitive dependencies, and runtime permissions before approving a new version.
- Disable or reject unexpected lifecycle scripts where the package manager and installation workflow permit it.
- Run the plugin and Gateway under a least-privileged account with access limited to the data and resources necessary for usage analytics.
- For linked development installations, verify the cloned repository's remote, commit hash, and working-tree contents before running
openclaw plugins install --link.
