T08 · Insecure Dependencies
- Location
SKILL.md:48- Finding
Unpinned Third-Party Plugin Is Allowlisted with Access to Jotform Operations
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 48–52
Vulnerability Type: Unpinned and externally managed dependency
Risk Level: Mediumbash openclaw plugins install clawhub:clawlink-plugin openclaw config set tools.alsoAllow '["clawlink-plugin"]' --strict-json openclaw gateway restartTechnical Analysis
The installation workflow retrieves
clawlink-pluginfrom an external package channel without specifying an immutable version, commit, or integrity hash. It then explicitly adds the plugin to the tool allowlist and restarts the OpenClaw gateway, causing the retrieved component to be loaded into the agent environment.The skill documentation states elsewhere that ClawLink mediates Jotform authentication, stores the OAuth token, injects it into API requests, and exposes tools capable of reading submissions and performing write operations. The plugin source and build artifacts are not included in the audited project, so its behavior and the implementation of its credential protections cannot be independently verified from this artifact. The assertion that the plugin is “verified” is also not substantiated by local integrity metadata.
This is a supply-chain risk rather than evidence that the current plugin is malicious. Because the dependency identifier is mutable and unpinned, a later compromised or unauthorized release could differ from the version originally reviewed while retaining the same installation command.
Attack Path
- An attacker compromises the dependency publisher, package registry entry, release pipeline, or another component of the external distribution channel.
- The attacker publishes a modified release under the mutable
clawhub:clawlink-pluginidentifier. - A user follows the documented installation command and retrieves the compromised release without version or integrity verification.
- The documented configuration command allowlists the plugin, and the gateway restart loads it into the OpenCla ...[truncated 1287 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the plugin to a reviewed, immutable version or content-addressed release rather than installing a mutable package identifier.
- Require cryptographic integrity verification, such as a trusted checksum or signature, before installation.
- Publish reproducible source and build provenance for the exact plugin release being installed.
- Document the precise Jotform OAuth scopes and reduce them to the minimum required for the selected operations.
- Separate read-only and write-capable authorization where the platform permits it.
- Require explicit user approval before plugin installation, allowlist modification, gateway restart, account connection, and each write operation.
- Restrict plugin network access to documented ClawLink and Jotform endpoints where runtime controls support egress allowlisting.
- Isolate OAuth credentials from general plugin execution and prevent plugins from reading or exporting raw tokens.
- Maintain an auditable release history and provide a procedure for revoking credentials and disabling compromised plugin versions.
- Periodically review the live tool catalog and remove tools or permissions that are not necessary for the user’s intended workflow.
