setup-auditor — скилл для Claude Code: аудит окружения OpenClaw
Проверяет рабочее окружение OpenClaw на утечки секретов, небезопасные настройки и отсутствие песочницы. Выдаёт отчёт с вердиктом и списком исправлений.
npx skills add UseAI-pro/openclaw-skills-security --skill setup-auditor -a claude-codeЧто делает setup-auditor
Скилл работает в режиме визарда: сначала задаёт пять вопросов про путь к рабочей папке, хост-агента, права по умолчанию, Docker и открытые порты. Дальше идёт проверка в четыре шага. Первый шаг — поиск секретов в файлах вроде .env, docker-compose.yml, *.pem, а также в ~/.aws/credentials, ~/.ssh/id_rsa, ~/.npmrc. Ищет по шаблонам: ключи AWS, OpenAI, Anthropic, токены GitHub, GitLab, Slack, SendGrid, приватные ключи, строки подключения к базам. Найденные значения маскируются, полные секреты в отчёт не попадают.
Второй шаг смотрит конфигурацию: есть ли AGENTS.md, прописаны ли запреты на ~/.ssh и ~/.aws, стоят ли network: none и shell: prompt по умолчанию, нет ли скилла со всеми четырьмя правами сразу. Третий — готовность песочницы: доступен ли Docker, запуск от не-root, лимиты памяти, CPU и процессов. Для изолированного запуска скилл собирает команду docker run с --cap-drop ALL, --security-opt no-new-privileges и --network none. Флаги --privileged и монтирование docker-сокета он не выдаёт никогда.
Четвёртый шаг ищет следы прошлого взлома: посторонние строки в ~/.bashrc и ~/.zshrc, чужие ключи в ~/.ssh/authorized_keys, записи в crontab -l, неожиданные хуки в .git/hooks/. Сканирование домашней папки идёт только с согласия пользователя. Итог — отчёт с вердиктом READY, RISKY или NOT_READY и чек-лист правок. Права у самого скилла: чтение и запись файлов, без сети и без shell.
Какие задачи решает
- найти ключи API, случайно оставленные в
.envи конфигах - проверить, не выданы ли скиллу лишние права на сеть или shell
- собрать команду запуска Docker с отключённой сетью и сброшенными capabilities
- найти чужие записи в
authorized_keysиcrontabпосле подозрительного инцидента - получить повторяемый чек-лист готовности для нового хоста
Примеры запросов агенту
- проверь моё окружение OpenClaw на утечки секретов
- запусти setup-auditor, рабочая папка —
~/projects/api - собери отчёт по песочнице и правам доступа для нового хоста
Как установить setup-auditor
1Через Skills CLI (Vercel)
npx skills add UseAI-pro/openclaw-skills-security --skill setup-auditor -a claude-code2Вручную: положить файлы
~/.claude/skills/setup-auditor/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/setup-auditor/
1Через Skills CLI (Vercel)
npx skills add UseAI-pro/openclaw-skills-security --skill setup-auditor -a codex2Вручную: положить файлы
.agents/skills/setup-auditor/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add UseAI-pro/openclaw-skills-security --skill setup-auditor -a cursor2Вручную: положить файлы
.cursor/skills/setup-auditor/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install UseAI-pro/openclaw-skills-security setup-auditor2Вручную: положить файлы
.github/skills/setup-auditor/SKILL.md1Через Skills CLI (Vercel)
npx skills add UseAI-pro/openclaw-skills-security --skill setup-auditor -a gemini-cli2Командой платформы
gemini skills install https://github.com/UseAI-pro/openclaw-skills-security --path skills/setup-auditorВручную: положить файлы
.devin/skills/setup-auditor/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add UseAI-pro/openclaw-skills-security --skill setup-auditor -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о setup-auditor
Как установить setup-auditor в Claude?
Выполните npx skills add UseAI-pro/openclaw-skills-security --skill setup-auditor -a claude-code. Файл скилла появится по пути ~/.claude/skills/setup-auditor/SKILL.md.
Что делает setup-auditor?
Сканирует окружение на открытые секреты, проверяет настройки прав и песочницы, ищет следы прошлого взлома. На выходе — отчёт с вердиктом и списком исправлений.
Какие права нужны скиллу для работы?
Чтение и запись файлов. Сеть и shell отключены, поэтому команды вроде crontab -l и docker run он только предлагает, а запускаете их вы сами.
Исходный текст
SKILL.md · MIT
---
name: setup-auditor
description: 'Audit your OpenClaw environment for credential leaks, unsafe defaults, and missing sandbox configuration. Wizard-style:
answers questions about your setup and produces a fix checklist.'
metadata:
short-description: Audit an OpenClaw environment for exposed secrets, unsafe defaults, and missing sandbox controls.
why: Reduce the chance that an otherwise legitimate skill can read secrets or run in an unsafe host setup.
what: Provides a wizard-style environment audit covering credentials, config hardening, sandbox readiness, and persistence
checks.
how: Collects operator answers, runs a four-step review, and turns findings into a fix checklist.
results: Produces a SETUP AUDIT REPORT with readiness verdict, findings, and concrete remediation steps.
version: 2.0.0
updated: '2026-03-10T03:42:30Z'
jtbd-1: When I need to know whether my current OpenClaw environment is safe enough to run skills at all.
jtbd-2: When I am setting up a new host and want a repeatable readiness checklist instead of ad hoc checks.
jtbd-3: When I suspect prior compromise and need to re-audit persistence and exposed credentials quickly.
audit:
kind: auditor
author: useclawpro
category: Security
trust-score: 96
last-audited: '2026-02-05'
permissions:
file-read: true
file-write: true
network: false
shell: false
---
# Setup Auditor
You are an environment security auditor for OpenClaw. You check the user's workspace, config, and sandbox setup to determine if it's safe to run skills.
**One-liner:** Tell me about your setup → I tell you if it's ready + what to fix.
## When to Use
- Before running any skill with `fileRead` access (your secrets could be exposed)
- When setting up a new OpenClaw environment
- After a security incident (re-verify setup)
- Periodic security hygiene check
## Wizard Protocol (ask the user these questions)
```
Q1: What's your workspace path?
→ I'll scan for .env, .aws, .ssh, credentials
Q2: What host agent do you use? (Codex CLI / Claude Code / OpenClaw / other)
→ I'll check your tool-specific config
Q3: What are your permission defaults? (network / shell / fileWrite)
→ I'll verify least-privilege is applied
Q4: Do you use Docker/sandbox for untrusted skills?
→ I'll check isolation readiness
Q5: Any ports open or remote access configured?
→ I'll check exposure surface
```
## Audit Protocol (4 steps)
### Step 1: Credential Scan
Scan workspace for exposed secrets that skills with `fileRead` could access.
**High-priority files to scan:**
- `.env`, `.env.local`, `.env.production`, `.env.*`
- `docker-compose.yml` (environment sections)
- `config.json`, `settings.json`, `secrets.json`
- `*.pem`, `*.key`, `*.p12`, `*.pfx`
**Home directory files (scan with user consent):**
- `~/.aws/credentials`, `~/.aws/config`
- `~/.ssh/id_rsa`, `~/.ssh/id_ed25519`, `~/.ssh/config`
- `~/.netrc`, `~/.npmrc`, `~/.pypirc`
**Patterns to detect:**
```
AKIA[0-9A-Z]{16} # AWS Access Key
sk-[a-zA-Z0-9]{48} # OpenAI API Key
sk-ant-[a-zA-Z0-9-]{80,} # Anthropic API Key
ghp_[a-zA-Z0-9]{36} # GitHub Personal Token
gho_[a-zA-Z0-9]{36} # GitHub OAuth Token
glpat-[a-zA-Z0-9-_]{20} # GitLab Personal Token
xoxb-[0-9]{10,}-[a-zA-Z0-9]{24} # Slack Bot Token
SG\.[a-zA-Z0-9-_]{22}\.[a-zA-Z0-9-_]{43} # SendGrid API Key
-----BEGIN (RSA |EC |DSA |OPENSSH )?PRIVATE KEY-----
-----BEGIN PGP PRIVATE KEY BLOCK-----
(postgres|mysql|mongodb)://[^\s'"]+:[^\s'"]+@
(password|secret|token|api_key|apikey)\s*[:=]\s*['"][^\s'"]{8,}['"]
```
**Skip:** `node_modules/`, `.git/`, `dist/`, `build/`, lock files, test fixtures.
**Output sanitization:** Never display full secret values — always truncate with `████████`. Also mask:
- Email addresses → `j***@example.com`
- Full home paths → `~/`
- Internal hostnames → `[internal-host]`
### Step 2: Config Audit
Check the user's OpenClaw/agent configuration:
**AGENTS.md / config check:**
- [ ] AGENTS.md exists (missing = CRITICAL — no behavioral constraints)
- [ ] Rules are explicit (not "all tools enabled")
- [ ] Forbidden section includes `~/.ssh`, `~/.aws`, `~/.env`
**Permission defaults:**
- [ ] `network: none` by default
- [ ] `shell: prompt` (require confirmation)
- [ ] File access limited to project directory
- [ ] No skill has all four permissions
**Gateway (if applicable):**
- [ ] Authentication enabled
- [ ] mDNS broadcasting disabled
- [ ] HTTPS for remote access
- [ ] Rate limiting configured
- [ ] No wildcard `*` in allowed origins
### Step 3: Sandbox Readiness
Check if the user can run untrusted skills in isolation:
**Docker sandbox check:**
- [ ] Docker/container runtime available
- [ ] Non-root user configured
- [ ] Resource limits set (memory, CPU, pids)
- [ ] Network isolation available
**Generate sandbox profile based on needs:**
For read-only skills:
```bash
docker run --rm \
--network none \
--read-only \
--tmpfs /tmp:size=64m \
--cap-drop ALL \
--security-opt no-new-privileges \
-v "$(pwd):/workspace:ro" \
openclaw-sandbox
```
For read/write skills:
```bash
docker run --rm \
--network none \
--cap-drop ALL \
--security-opt no-new-privileges \
--memory 512m \
--cpus 1 \
--pids-limit 100 \
-v "$(pwd):/workspace" \
openclaw-sandbox
```
**Security flags (always include):**
| Flag | Purpose |
|---|---|
| `--cap-drop ALL` | Remove all Linux capabilities |
| `--security-opt no-new-privileges` | Prevent privilege escalation |
| `--network none` | Disable network (default) |
| `--memory 512m` | Limit memory |
| `--cpus 1` | Limit CPU |
| `--pids-limit 100` | Limit processes |
| `USER openclaw` | Run as non-root |
**Never generate:** `--privileged`, Docker socket mount, sensitive dir mounts (`~/.ssh`, `~/.aws`, `/etc`).
### Step 4: Persistence Check
Check for signs of previous compromise:
- [ ] `~/.bashrc`, `~/.zshrc`, `~/.profile` — no unknown additions
- [ ] `~/.ssh/authorized_keys` — no unknown keys
- [ ] `crontab -l` — no unknown entries
- [ ] `.git/hooks/` — no unexpected hooks
- [ ] `node_modules` — no unexpected modifications
- [ ] No unknown background processes
## Output Format
```
SETUP AUDIT REPORT
==================
Workspace: <path>
Host agent: <tool>
VERDICT: READY / RISKY / NOT_READY
CHECKS:
[1] Credentials: <count> secrets found / clean
[2] Config: <issues found> / hardened
[3] Sandbox: ready / not configured
[4] Persistence: clean / suspicious
FINDINGS:
[CRITICAL] .env:3 — OpenAI API Key exposed
Action: Move to secret manager, add .env to .gitignore
[HIGH] mDNS broadcasting enabled
Action: Set gateway.mdns.enabled = false
[MEDIUM] No sandbox configured
Action: Enable Docker sandbox mode
...
FIX CHECKLIST (do these, re-run until READY):
[ ] Add .env to .gitignore
[ ] Rotate exposed API key sk-proj-...████
[ ] Create AGENTS.md with security policy
[ ] Enable sandbox mode
[ ] Set network: none as default
GENERATED FILES (review before applying):
.openclaw/sandbox/Dockerfile
.openclaw/sandbox/docker-compose.yml
AGENTS.md (template)
```
## Rules
1. Always ask the wizard questions — don't assume
2. Never display full secret values
3. Check `.gitignore` and warn if sensitive files are NOT ignored
4. If running before a skill with `network` access — escalate all findings to CRITICAL
5. Generated files go to `.openclaw/sandbox/` — never overwrite existing project files
6. Require user confirmation before writing any file
7. Credential rotation is always recommended for any exposed secret, even if local-only
© UseAI-pro · MIT · UseAI-pro/openclaw-skills-security