T08 · Insecure Dependencies
- Location
SKILL.md:43- Finding
Unpinned Plugin Dependency Installed with Safety Checks Bypassed
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 43 and 111–115
Vulnerability Type: Unsafe third-party dependency installation
Risk Level: Highmarkdown - Keep `--dangerously-force-unsafe-install` on every manual install path. `openclaw plugins install --dangerously-force-unsafe-install @privateclaw/privateclaw@latest` is the default published install, and if the user already has a local package directory, prefer `openclaw plugins install --dangerously-force-unsafe-install ./packages/privateclaw-provider` over archive installs.bash Use the published npm package by default, and keep `--dangerously-force-unsafe-install` on every manual install path: openclaw plugins install --dangerously-force-unsafe-install @privateclaw/privateclaw@latest openclaw plugins enable privateclawTechnical Analysis
The skill explicitly instructs the agent to bypass OpenClaw's installation safety control by using
--dangerously-force-unsafe-install. It simultaneously selects the mutable npm tag@latestinstead of an exact, reviewed package version.Consequently, the code installed during a future invocation may differ from the code originally assessed. The project contains no copy of the dependency source, integrity hash, lockfile, or signature through which the effective plugin payload could be verified. Enabling the plugin and restarting OpenClaw then causes the externally supplied component to load in the OpenClaw process context.
This does not prove that the current
@privateclaw/privateclawpackage is malicious. The vulnerability is the unsafe supply-chain installation policy, which removes a security barrier while trusting a mutable dependency reference.Attack Path
- An attacker compromises the npm publisher account, package release process, registry delivery path, or another relevant supply-chain component.
- The attacker publishes a modified version of
@privateclaw/privateclawand assigns it to thelatesttag. - A ...[truncated 1050 chars]
- Remediation
View remediation
Remediation Suggestions
- Replace
@latestwith an exact, reviewed package version, without a mutable version range. - Record and verify the expected package integrity digest or a trusted cryptographic signature before installation.
- Remove
--dangerously-force-unsafe-installfrom the default workflow. - Investigate and document the precise warning that requires the unsafe override. Resolve the underlying packaging or policy issue rather than permanently bypassing the safeguard.
- Audit or vendor the plugin source corresponding to the pinned release before enabling it.
- Run OpenClaw under a dedicated, unprivileged service account with narrowly scoped filesystem and network permissions.
- Test new plugin releases in an isolated environment before promoting them to production.
- Require explicit user confirmation if an unsafe override remains unavoidable, clearly identifying the package version, source, and resulting risk.
- Do not enable or restart OpenClaw if package integrity or provenance verification fails.
- Replace
