T08 · Insecure Dependencies
- Location
SKILL.md:47- Finding
Unpinned Third-Party Plugin Is Granted Access to Financial Operations
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 47-49; related trust and credential handling at lines 71, 77, and 117
Vulnerability Type: Unpinned third-party dependency and mutable remote tool catalog
Risk Level: HighVulnerable Code
bash openclaw plugins install clawhub:clawlink-plugin openclaw config set tools.alsoAllow '["clawlink-plugin"]' --strict-json openclaw gateway restartThe dependency is subsequently entrusted with Paystack credentials and a remotely supplied tool catalog:
text **No API key is required in chat.** ClawLink stores the API key securely and injects it into every Paystack API request on the user's behalf.text 3. Open https://claw-link.dev/dashboard?add=paystack and connect Paystack.text 3. Treat the returned list as the source of truth. Do not guess or assume what tools exist.Technical Analysis
The installation command identifies
clawlink-pluginonly by its mutable registry name. It does not pin an immutable version, package digest, source revision, or trusted signing identity. The instructions then add the plugin to the OpenClaw tool allowlist and restart the gateway, enabling the installed component to participate in subsequent Agent sessions.The reviewed project contains only
SKILL.md; it does not include the plugin implementation, a permission manifest, integrity metadata, or a locally reviewed list of allowed Paystack operations. Consequently, the effective behavior installed from the registry cannot be verified from the audited artifact.The design also treats a live catalog returned by the external integration service as the source of truth. This creates a mutable trust boundary: tool names, schemas, or capabilities can potentially change after the Skill has been reviewed. ClawLink additionally stores and uses the user's Paystack API key, making compromise of either the package distribution path or hosted servi ...[truncated 1895 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the plugin to an immutable, reviewed version and require verification against a cryptographic digest or trusted package signature.
- Publish the plugin source, reproducible build instructions, dependency lockfile, and permission manifest so the installed implementation can be independently audited.
- Use a locally reviewed allowlist of Paystack tool names, parameter schemas, and permitted operation classes rather than granting blanket trust to a mutable remote catalog.
- Issue a dedicated Paystack credential with the minimum permissions necessary. Separate read-only access from customer-management, payment, and transfer privileges where supported.
- Enforce confirmation for writes and transfers in an independent trusted policy layer outside the third-party plugin. Bind confirmation to the exact recipient, amount, currency, account, and operation payload.
- Require reapproval when the plugin version, requested permissions, tool catalog, or tool schema changes.
- Protect stored credentials with encryption, strict service-side access controls, audit logging, rotation, and immediate revocation support.
- Document how users can uninstall and remove the plugin from
tools.alsoAllow, disconnect ClawLink, revoke the Paystack API key, and inspect prior financial activity. - Monitor dependency releases and hosted catalog changes, and block automatic adoption of unreviewed capabilities.
