other
Error
- Location
- SKILL.md:168
- Finding
- Undeclared Runtime Transmission of Potentially Sensitive Agent Content<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:16-18`, `SKILL.md:33-34`, `SKILL.md:168-197`, `SKILL.md:258-261` **Vulnerability Type**: Sensitive data exposure through external API processing **Risk Level**: High ### Vulnerable Code Snippets ```yaml - name: AI_WARDEN_API_KEY required: false description: "Optional API key for online detection (98.9% accuracy)" ``` ```yaml permissions: network: true reason: "Fetches openclaw-ai-warden package from public npm registry during install" ``` ```markdown ### Step 5: Add API key (optional) For online detection (98.9% accuracy vs ~60% offline), add your API key. **Option A — Environment variable (recommended, key not stored in config file):** Set `AI_WARDEN_API_KEY` in your shell profile or systemd service: ```bash # For systemd (e.g., OpenClaw gateway service): # Add to your service override: Environment=AI_WARDEN_API_KEY=your_key_here # For shell: export AI_WARDEN_API_KEY=your_key_here ``` **Option B — Config file (simpler, key stored in openclaw.json):** ```bash node -e " const fs = require('fs'); const p = process.env.HOME + '/.openclaw/openclaw.json'; const cfg = JSON.parse(fs.readFileSync(p, 'utf8')); cfg.plugins.entries['ai-warden'].config.apiKey = 'YOUR_API_KEY_HERE'; fs.writeFileSync(p, JSON.stringify(cfg, null, 2)); // Restrict file permissions (config contains API key) fs.chmodSync(p, 0o600); console.log('API KEY ADDED (file permissions set to 600)'); " ``` ``` ```markdown | **File Shield** 🔴 | Poisoned files & web pages | `block` | Scans tool results, injects warning, triggers contamination lockdown on CRITICAL | | **Chat Shield** 🔴 | Injections in user messages | `warn` | Scans inbound messages, warns LLM | | **System Shield** ⬛ | Full context manipulation | `off` | Scans all messages (expensive, use sparingly) | | **Tool Shield** 🔴 | Malicious tool arguments | `block` | Blocks tool execution if arguments contain injection | ``` ### Technical Analysis The Skill enable ...[truncated 2951 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Clearly declare both installation-time and runtime network access in the Skill metadata. 2. Document the exact API hostname, request fields, authentication method, retention policy, processing location, and whether submitted data is used for model training. 3. Keep offline detection as the default and require explicit, informed opt-in before enabling external processing. 4. Perform local secret detection and redaction before any request leaves the host. At minimum, redact authorization headers, API keys, private keys, cookies, tokens, passwords, and known credential formats. 5. Provide controls to exclude sensitive channels, paths, tools, argument fields, and message classes from online scanning. 6. Minimize API payloads and transmit only the smallest content fragment necessary for classification. 7. Enforce a runtime network allowlist limited to the documented detection endpoint. 8. Prefer environment-based secret injection over storage in `openclaw.json`; ensure service definitions and shell profiles also have restrictive permissions. 9. Provide a verifiable no-network mode and logs that identify when external processing occurs without recording the sensitive payload. 10. Obtain user consent before transmitting messages, files, or tool data to the external service. ]]>
