T08 · Insecure Dependencies
- Location
SKILL.md:47- Finding
Unpinned Third-Party Plugin Handles Reddit Ads Credentials and Requests
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:33,SKILL.md:47-49,SKILL.md:68, andSKILL.md:74
Vulnerability Type: Unpinned third-party dependency and external credential broker
Risk Level: MediumEvidence
The skill directs users to install and explicitly allow a third-party plugin without specifying an immutable version or integrity constraint:
bash openclaw plugins install clawhub:clawlink-plugin openclaw config set tools.alsoAllow '["clawlink-plugin"]' --strict-json openclaw gateway restartIt states that requests are proxied through ClawLink:
text │ │ 5. Proxy Requests │It also delegates OAuth token storage and injection to the hosted service:
text **No API key is required in chat.** ClawLink stores the OAuth token securely and injects it into every Reddit Ads API request on the user's behalf.Users are directed to connect their advertising account through the external ClawLink dashboard:
text 3. Open https://claw-link.dev/dashboard?add=reddit-ads and connect Reddit Ads.Technical Analysis
The installation command identifies only the package name and does not pin an immutable version, commit, checksum, or signature. Consequently, the effective plugin code installed at different times may change without corresponding changes to the audited skill.
The plugin is then added to the OpenClaw tool allowlist and the gateway is restarted, granting the dependency an operational position within the agent environment. The skill further establishes ClawLink as an external credential broker that stores the Reddit OAuth token and proxies Reddit Ads API requests. The audited project contains only
SKILL.md; it does not include the plugin implementation or other locally reviewable code that could substantiate the stated token-storage protections.This is a supply-chain and trust-boundary weakness rather than evidence that th ...[truncated 1904 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the plugin to an immutable, reviewed version rather than installing only by package name.
- Publish and verify a cryptographic checksum or package signature before installation.
- Link the plugin release to publicly reviewable source code and reproducible build artifacts.
- Document the exact Reddit OAuth scopes requested and justify each scope according to least privilege.
- Separate read-only and write-enabled authorization flows so users performing audits do not need write access.
- Document token encryption, retention, rotation, revocation, logging, and incident-response practices for the hosted credential service.
- Provide a direct Reddit OAuth and API option where feasible, reducing reliance on an external request proxy.
- Require explicit reauthorization before scope expansion and clearly display the advertising accounts and permissions being granted.
- Add integrity and provenance verification to installation instructions and fail closed if verification cannot be completed.
- Encourage users to revoke the ClawLink Reddit integration immediately after use when persistent access is unnecessary.
