T08 · Insecure Dependencies
- Location
SKILL.md:47- Finding
Unpinned Third-Party Plugin Is Installed and Granted Trusted Tool Access
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 47–49
Vulnerability Type: Unpinned and externally maintained executable dependency
Risk Level: Mediumbash openclaw plugins install clawhub:clawlink-plugin openclaw config set tools.alsoAllow '["clawlink-plugin"]' --strict-json openclaw gateway restartTechnical Analysis
The skill directs the agent to install the externally maintained
clawlink-plugin, add it to OpenClaw's trusted tool allowlist, and restart the gateway so the plugin is loaded. The dependency is identified only by a mutable registry name. No exact version, cryptographic digest, signature-verification procedure, or immutable source reference is provided.The plugin's executable implementation is not included in the audited project, which contains only
SKILL.md. Its dependency integrity and runtime behavior therefore cannot be verified from this artifact. Referring to the plugin as “verified” does not provide an auditable integrity guarantee.The risk extends to sensitive educational information because the document states that ClawLink stores the user's Google OAuth token and injects it into proxied Google Classroom requests. Although this credential-broker behavior is disclosed and consistent with the skill's stated purpose, compromise or substitution of the plugin could expose the connected account and Classroom data.
Attack Path
- An attacker compromises the external plugin publisher, registry entry, distribution infrastructure, or an unpinned future plugin release.
- The skill runs
openclaw plugins install clawhub:clawlink-plugin, resolving and installing the attacker-controlled or compromised artifact. - The configuration command explicitly places the plugin in
tools.alsoAllow, granting it trusted tool access. - The gateway restart loads the installed plugin into OpenClaw.
- The user pairs the plugin and connects a Google account through the documented OAuth flow.
- The compromised plugi ...[truncated 920 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the plugin to a specifically reviewed version and cryptographic digest rather than resolving a mutable registry name.
- Require package-signature and digest verification before installation, and fail closed if verification is unavailable or unsuccessful.
- Provide an immutable source reference and reproducible-build information so reviewers can correlate the installed artifact with audited source code.
- Document the exact Google OAuth scopes, plugin permissions, token retention policy, encryption controls, revocation process, and third-party data handling.
- Restrict the plugin to the minimum tool and OAuth permissions required for the requested operation. Separate read-only access from roster, grading, publishing, and deletion capabilities where possible.
- Require explicit informed user confirmation before plugin installation, allowlist modification, gateway restart, account pairing, and each sensitive write operation.
- Perform dependency security review and continuous monitoring for publisher changes, compromised releases, revoked signatures, and unexpected updates.
- Run the plugin in a constrained sandbox with limited filesystem, process, network, and credential access.
