T08 · Insecure Dependencies
- Location
SKILL.md:43- Finding
Unpinned Third-Party Plugin Installation with Access to Sensitive Browser Data
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 43–61; sensitive data capabilities are documented at lines 89–103
Vulnerability Type: Unpinned external dependency installation
Risk Level: MediumVulnerable Code
bash # Install the plugin openclaw plugins install @riddledc/openclaw-riddledc # Allow the tools openclaw config set tools.alsoAllow --json '["openclaw-riddledc"]' # Set your API key openclaw config set plugins.entries.openclaw-riddledc.config.apiKey "YOUR_RIDDLE_API_KEY"bash # See what you have openclaw config get plugins.allow # Add openclaw-riddledc to the array (or edit ~/.openclaw/openclaw.json directly) jq '.plugins.allow += ["openclaw-riddledc"]' ~/.openclaw/openclaw.json > tmp && mv tmp ~/.openclaw/openclaw.json # Restart openclaw gateway restartThe resulting plugin is documented as handling sensitive browser data:
text All tools return screenshots saved to `~/.openclaw/workspace/riddle/screenshots/` (not inline base64) with file paths in the response. Add `include: ["har"]` to also capture full network traffic.text Need to interact with a page behind login? Pass cookies, localStorage, or custom headers: Screenshot https://app.example.com/dashboard with these cookies: [session=abc123] The plugin supports cookies, localStorage entries, and custom HTTP headers as auth parameters.Technical Analysis
The installation command does not specify an exact package version or integrity digest. It therefore installs whichever release the package registry resolves at installation time. The instructions subsequently add the plugin to OpenClaw's tool and plugin allowlists, configure an API key, and restart the gateway.
Only
SKILL.mdis present in the audited project. The plugin source, package lockfile, capability manifest, and checksums referenced by the document are not included. Consequently, claims concerning hardcoded network restrictions, filesystem confinement, context isolatio ...[truncated 2045 chars]- Remediation
View remediation
Remediation Suggestions
- Pin the plugin to a reviewed, immutable version rather than installing the registry's current release:
bash openclaw plugins install @riddledc/openclaw-riddledc@X.Y.Z - Publish an expected cryptographic integrity digest through a trusted channel and require verification before installation.
- Include the exact plugin source, dependency lockfile,
openclaw.plugin.json,SECURITY.md, andCHECKSUMS.txtin the auditable artifact. - Verify npm provenance and signatures for the exact pinned release rather than relying only on package-name-level instructions.
- Enforce runtime egress restrictions independently of plugin code so the plugin process can communicate only with the required endpoint.
- Use a narrowly scoped and revocable API key, and avoid placing reusable secrets directly in shell command arguments where command history or process inspection may expose them.
- Use short-lived, least-privileged browser credentials. Warn users not to provide administrator sessions or broadly reusable authentication tokens.
- Disable HAR capture by default. When it is required, redact authorization headers, cookies, tokens, request bodies, and sensitive query parameters before storage or transmission.
- Require explicit user confirmation before transmitting cookies, localStorage values, custom headers, or authenticated page content to the hosted service.
- Perform a separate source-code audit of the exact plugin release and its transitive dependencies before allowlisting it.
- Pin the plugin to a reviewed, immutable version rather than installing the registry's current release:
