T08 · Insecure Dependencies
- Location
SKILL.md:47- Finding
Unpinned Third-Party Plugin Is Granted Privileged Vercel Access
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 47-49 and 71-77
Vulnerability Type: Insecure third-party dependency and supply-chain trust
Risk Level: HighVulnerable Code
bash openclaw plugins install clawhub:clawlink-plugin openclaw config set tools.alsoAllow '["clawlink-plugin"]' --strict-json openclaw gateway restartmarkdown **No API token is required in chat.** ClawLink stores the token securely and injects it into every Vercel API request on the user's behalf. ### Getting Connected 1. Install the ClawLink plugin (see Install above). 2. Pair the plugin with `clawlink_begin_pairing` if it is not configured yet. 3. Open https://claw-link.dev/dashboard?add=vercel and connect Vercel. 4. Call `clawlink_list_integrations` to verify the connection is active.Technical Analysis
The skill instructs the user or agent to install and allowlist
clawlink-plugin, restart the OpenClaw gateway so that it becomes active, and connect a Vercel account through an external ClawLink service. The dependency is referenced only by a mutable package identifier. The audited artifact does not pin an immutable version or digest, verify a package signature, include auditable plugin source code, or provide reproducible-build evidence.The external service also mediates the user's Vercel token and injects it into API requests. Consequently, the security of privileged Vercel operations depends on code and infrastructure that are outside the reviewed project. Although the document describes the plugin as verified and states that tokens are stored securely, those claims cannot be independently validated from the sole audited file.
Attack Path
- A user follows the skill's instructions and installs the unpinned plugin from ClawHub.
- The plugin is added to
tools.alsoAllow, and the OpenClaw gateway is restarted to load it. - The user pairs the plugin with ClawLink and grants Vercel O ...[truncated 1306 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the plugin to an immutable version and cryptographic digest rather than installing a mutable package name.
- Require publisher-signature and checksum verification before installation or activation.
- Publish the plugin source, release provenance, dependency manifest, and reproducible-build instructions for independent review.
- Document the exact Vercel OAuth scopes requested and use least-privilege, task-specific authorization instead of broad account access.
- Prefer direct or locally controlled token handling where feasible. If hosted token custody is required, document encryption, retention, access controls, auditability, breach handling, and revocation procedures.
- Require explicit user confirmation before plugin installation, allowlist modification, gateway restart, OAuth connection, sensitive reads, and every write or destructive operation.
- Add short-lived credentials, periodic authorization review, request-level audit logging, anomaly detection, and an immediate disconnect-and-revoke procedure.
- Separate read-only tools from administrative tools and avoid exposing secret, team-management, or destructive capabilities unless specifically needed.
