T08 · Insecure Dependencies
- Location
SKILL.md:35- Finding
Unpinned Third-Party Plugin Installation and Authorization
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 35–37
Vulnerability Type: Unverified and unpinned third-party dependency
Risk Level: Highbash openclaw plugins install clawhub:clawlink-plugin openclaw config set tools.alsoAllow '["clawlink-plugin"]' --strict-json openclaw gateway restartTechnical Analysis
The installation procedure dynamically resolves
clawlink-pluginfrom an external package registry without specifying an immutable version, digest, checksum, or signature. It then explicitly adds that plugin to the allowed-tool configuration and restarts the gateway, activating externally supplied executable code.The project contains only
SKILL.md; it does not include the plugin source or verifiable provenance information. Consequently, the implementation installed by these commands cannot be matched to code reviewed in this audit. Its effective behavior could change after review if the registry package is updated or compromised.This is a supply-chain trust issue rather than evidence that the current external plugin is malicious.
Attack Path
- An attacker compromises the external registry, the plugin publisher account, or the plugin's release pipeline.
- The attacker publishes a malicious release under the expected
clawlink-pluginidentifier. - A user follows the documented command, which resolves the package without an immutable version or integrity constraint.
- The user explicitly authorizes the installed plugin through
tools.alsoAllow. - Restarting the gateway loads and activates the compromised component.
- The component can attempt to abuse the runtime privileges and OAuth-backed integration access granted to it.
Impact Assessment
A compromised plugin could execute within the OpenClaw plugin environment and access resources exposed to that environment. Based on the documented integration capabilities, the affected scope may include Slack messages, channels, user details, files, private con ...[truncated 262 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the plugin to an audited immutable version or content digest rather than resolving a mutable package name.
- Require cryptographic signature verification and publish the expected checksum through a separately controlled channel.
- Document the authoritative registry, publisher identity, source repository, and reproducible relationship between source and package.
- Review the plugin source and permission manifest before adding it to
tools.alsoAllow. - Apply least privilege to both OpenClaw tool permissions and Slack OAuth scopes.
- Isolate the plugin runtime and restrict filesystem, process, network, and secret access to what the integration strictly requires.
- Maintain an approved-version policy and alert on unexpected package, publisher, signature, or digest changes.
- Avoid automatically activating newly resolved code; require explicit review before gateway restart and plugin enablement.
