Config Encryption Auditor
SkillFiles & storageScans OpenClaw config directories for plaintext API keys, tokens, and secrets in unencrypted files, flags exposure risks and suggests encryption or environment variable migration.
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; ahel provides instructions and does not run this skill.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
Then ask your AI: use the Config Encryption Auditor skill
What this skill tells your AI
The instructions your AI receives, as published by archieindian/openclaw-superpowers in skills/openclaw-native/config-encryption-auditor/SKILL.md and read by ahel’s review.
What it does
OpenClaw stores configuration in ~/.openclaw/ — API keys, channel tokens, provider credentials. By default, these are plaintext YAML or JSON files readable by any process on your machine.
OpenLobster solved this with AES-GCM encrypted config files. We can't change OpenClaw's config format, but we can audit it — scanning for exposed secrets, flagging unencrypted credential files, and suggesting migrations to environment variables or encrypted vaults.
When to invoke
- Automatically, every Sunday at 9am (cron)
- After initial OpenClaw setup
- Before deploying to shared infrastructure
- After any config change that adds new API keys
Checks performed
| Check | Severity | What it detects |
|---|---|---|
| PLAINTEXT_API_KEY | CRITICAL | API key patterns in config files (sk-, AKIA, ghp_, etc.) |
| PLAINTEXT_TOKEN | HIGH | OAuth tokens, bearer tokens, passwords in config |
| WORLD_READABLE | HIGH | Config files with 644/755 permissions (readable by all users) |
| NO_GITIGNORE | MEDIUM | Config directory not gitignored (risk of committing secrets) |
| ENV_AVAILABLE | INFO | Secret could be migrated to environment variable |
How to use
python3 audit.py --scan # Full audit
python3 audit.py --scan --critical-only # CRITICAL findings only
python3 audit.py --fix-permissions # chmod 600 on config files
python3 audit.py --suggest-env # Print env var migration guide
python3 audit.py --status # Last audit summary
python3 audit.py --format json
Procedure
Step 1 — Run the audit
python3 audit.py --scan
Step 2 — Fix CRITICAL issues first
For each PLAINTEXT_API_KEY finding, migrate the key to an environment variable:
# Instead of storing in config.yaml:
# api_key: sk-abc123...
# Use:
export OPENCLAW_API_KEY="sk-abc123..."
Step 3 — Fix file permissions
python3 audit.py --fix-permissions
This sets chmod 600 on all config files (owner read/write only).
Step 4 — Verify gitignore coverage
Ensure ~/.openclaw/ or at minimum the config files are in your global .gitignore.
State
Audit results and history stored in ~/.openclaw/skill-state/config-encryption-auditor/state.yaml.
Fields: last_audit_at, findings, files_scanned, audit_history.
Signals
- GitHub stars
- 72
- Forks
- 14
- Last commit
- May 2026
Advanced
- Item type
- skill
- Key
config-encryption-auditor- Source
- github.com/archieindian/openclaw-superpowers
github.com/archieindian/openclaw-superpowers
Related picks
Skill · wshobson
The pick for Pythonpython-pro
Skill · jeffallan
The pick for Pythonsecrets-exposure-review
Skill · naodeng
The pick for Secretssecrets-with-git-crypt
Skill · derailed-dash
The pick for Secretscron-manager
Skill · countbot-ai
The pick for Croncron-packs
Skill · profbernardoj
The pick for Cron