T08 · Insecure Dependencies
- Location
SKILL.md:14- Finding
Unpinned Executable npm Dependency
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 14–22 and 81–86
Vulnerability Type: Unpinned third-party executable dependency
Risk Level: MediumVulnerable Code
json "install": [ { "id": "node", "kind": "node", "package": "@blockrun/clawrouter", "bins": ["clawrouter"], "label": "Install ClawRouter (npm)", }, ],bash openclaw plugins install @blockrun/clawroutermarkdown The structured `install` block above tells OpenClaw to install the auditable npm package `@blockrun/clawrouter`. Source for every version is on GitHub; every release is tagged.Technical Analysis
The npm package reference does not specify an exact version or an integrity digest. Installation therefore resolves whichever release the package registry considers current at installation time. GitHub tags and claims that npm versions match releases provide useful review information, but they do not cryptographically bind the installed artifact to a previously audited commit.
The audited project contains only
SKILL.md; the package implementation and installation lifecycle scripts are not present. Consequently, the executable behavior of the npm dependency could not be verified within the supplied artifact.Attack Path
- An attacker compromises the npm publisher account, package publishing workflow, or another component of the release supply chain.
- The attacker publishes a malicious version of
@blockrun/clawrouter. - A user follows the documented command, or OpenClaw processes the structured installation declaration without an exact version constraint.
- npm resolves and installs the attacker-controlled release.
- Malicious installation lifecycle code or plugin runtime code executes with the privileges of the OpenClaw user.
- That code may access user-readable files, OpenClaw configuration, prompts handled by the plugin, and plaintext wallet keys.
Impact Assessment
Successful expl ...[truncated 617 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the dependency to a reviewed exact version, such as
@blockrun/clawrouter@x.y.z. - Record and verify the registry-provided integrity hash before installation.
- Use a lockfile or equivalent immutable dependency manifest where supported.
- Require signed npm provenance and verify that the package was built from the intended repository and commit.
- Audit package contents and lifecycle scripts before approving each upgrade.
- Prevent automatic upgrades to newly published versions.
- Perform installation and execution in a restricted environment with only the filesystem and network permissions required by the plugin.
- Treat release-tag matching as supporting evidence rather than a substitute for artifact integrity verification.
- Pin the dependency to a reviewed exact version, such as
