T09 · Insecure Skill Coding Practices
- Location
scripts/firewall-scan.sh:7- Finding
Scanned sensitive content is persistently logged in plaintext
- Content
View full analysis
> "$LOG_FILE" ``` ### Technical Analysis The scanner is intended to inspect potentially hostile content, including requests involving API keys, credentials, tokens, system prompts, and other secrets. Nevertheless, it copies the first 500 characters of every scanned input into a persistent JSONL file. The implementation does not redact credential-like values, request consent before retaining content, provide an option to disable content logging, enforce a retention period, or explicitly create the log with restrictive permissions. The resulting permissions depend on the invoking process's current `umask`. Persisting raw input is not necessary to produce the scanner's `SAFE`, `SUSPICIOUS`, or `BLOCKED` classification. This data handling therefore exceeds the minimum access and retention required for the declared functionality. ### Attack Path 1. An attacker or untrusted social-platform post supplies content containing a secret, credential, private prompt, or other sensitive value. 2. The Agent passes that content to `firewall-scan.sh` for defensive inspection. 3. The scanner places up to the first 500 characters of the content in `content_preview`. 4. The scanner appends the resulting entry to `$HOME/.openclaw/workspace/data/firewall ...[truncated 834 chars]- Remediation
View remediation
