T08 · Insecure Dependencies
- Location
SKILL.md:36- Finding
Unpinned Third-Party Plugin Handles Sensitive Health Data
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 36–40
Vulnerability Type: Unpinned third-party dependency
Risk Level: MediumVulnerable Code
bash openclaw plugins install clawhub:clawlink-plugin openclaw config set tools.alsoAllow '["clawlink-plugin"]' --strict-json openclaw gateway restartThe plugin's security-sensitive role is further documented at lines 50–52:
markdown ## Authentication ClawLink handles OAuth with Exist. No API keys needed. Connect at [claw-link.dev/dashboard?add=exist](https://claw-link.dev/dashboard?add=exist). Granted OAuth scopes determine which attribute fields are returned.Technical Analysis
The installation command references
clawhub:clawlink-pluginwithout pinning an immutable version or cryptographic digest. The subsequent configuration explicitly permits the plugin, and the gateway restart activates it.Because the plugin mediates OAuth and operations involving sensitive health and fitness information, compromise of the mutable package distribution channel or a future package release could introduce malicious behavior after this Skill has been reviewed. The plugin implementation is not included in the audited project, so its integrity and runtime behavior cannot be verified from the available source.
This is a supply-chain risk rather than evidence that the current plugin is malicious. The affected trust boundary includes OpenClaw plugin execution, OAuth-mediated Exist access, and the health data exposed by the user's granted scopes.
Attack Path
- An attacker compromises the plugin publisher account, package registry, distribution infrastructure, or an update released under the mutable package identifier.
- A user follows the documented installation command, which resolves and installs the attacker-controlled release.
- The user adds
clawlink-pluginto the permitted tool list and restarts the gateway. - The compromised plugin executes with the permissions availabl ...[truncated 1048 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the plugin to a specific, reviewed version rather than installing through a mutable package identifier.
- Where supported, pin and verify a cryptographic digest so the installed artifact exactly matches the audited artifact.
- Require package signatures and verify the expected publisher identity and provenance before installation.
- Publish the plugin source, permission manifest, release hashes, and reproducible-build instructions for independent review.
- Apply least privilege to plugin permissions and OAuth scopes, granting only the Exist data access required for the user's requested operation.
- Separate read-only capabilities from write and ownership-management capabilities; keep explicit confirmation mandatory for all mutations.
- Monitor dependency advisories and package ownership changes, and require review before upgrades.
- Document ClawLink's handling, storage, retention, and onward transfer of OAuth tokens and health data.
- Provide a revocation procedure covering the Exist OAuth grant, ClawLink connection, and locally enabled plugin.
