T08 · Insecure Dependencies
- Location
SKILL.md:39- Finding
Unpinned and Unverified Third-Party Plugin Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 39–48 and 164–166
Vulnerability Type: Supply-chain exposure through mutable, insufficiently verified dependencies
Risk Level: MediumVulnerable Code Snippets
Primary installation path:
bash openclaw plugins install clawhub:@openclaw/codex-clawFallback installation path:
bash clawhub package download @openclaw/codex-claw --version latest -o /tmp/codex-claw --force openclaw plugins install /tmp/codex-claw/openclaw-codex-claw-*.tgz --forceA verification command appears later in the document but is not required before the earlier installation:
bash clawhub package download @openclaw/codex-claw --version latest -o /tmp/codex-claw --force clawhub package verify /tmp/codex-claw/openclaw-codex-claw-*.tgz --package @openclaw/codex-claw --version latest tar -tzf /tmp/codex-claw/openclaw-codex-claw-*.tgz | sortTechnical Analysis
The installation instructions select the mutable
latestrelease rather than an immutable version and digest. The fallback procedure installs the downloaded archive before requiring package verification. Both download and installation use--force, which can overwrite existing files or state, while the archive is selected with a wildcard rather than an exact verified filename.Consequently, the code ultimately executed is determined by the upstream package state at installation time rather than by the audited Skill content. The project contains only
SKILL.md; the referenced plugin runtime is not bundled and therefore could not be statically reviewed in this audit.The later
package verifycommand partially mitigates package-identity concerns when users voluntarily run it, but it is presented as part of a display-caveat investigation rather than as a mandatory prerequisite to installation. It also continues to reference the mutablelatestversion.Attack Path
- An attacker compromises the upstream package, maintainer accou ...[truncated 1409 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the plugin to an exact, reviewed version rather than
latest. - Publish and require a trusted SHA-256 digest or signed provenance record for the precise archive.
- Change the workflow so verification occurs before installation:
- Download the pinned release.
- Verify package identity, version, signature, and digest.
- Inspect the archive manifest.
- Install only after every check succeeds.
- Download into a newly created, permission-restricted directory and use one exact archive filename rather than
*.tgz. - Remove
--forcefrom routine instructions. If replacement is necessary, explain the affected state and require explicit user confirmation. - Bundle the reviewed runtime source with the audited project or link to an immutable source revision corresponding exactly to the pinned artifact.
- Recommend reviewing hook behavior and granting the plugin access only to narrowly scoped, non-secret context files.
- Document a rollback procedure for disabling the plugin, removing its marketplace registration, and restoring previous configuration.
- Pin the plugin to an exact, reviewed version rather than
