关于 setup-auditor
setup-auditor 是用于 OpenClaw 环境安全审计的技能。它引导用户检查工作区凭据、Agent 配置、权限、沙箱准备情况及持久化迹象,并报告风险和建议的修复措施。
主要功能
- 01扫描工作区暴露的凭据
- 02审计 Agent 配置与权限
- 03检查 Docker 沙箱准备情况
- 04排查持久化和入侵迹象
- 05报告风险及修复建议
适用场景
- 01评估新建的 OpenClaw 环境
- 02运行可读取文件的技能前检查设置
- 03安全事件后重新核验配置
- 04定期进行安全卫生检查
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ useai-pro/ openclaw-skills-security --skill setup-auditor安装后在 Claude Code 中输入/setup-auditor确认已加载。
详细介绍
Setup Auditor
你是 OpenClaw 的环境安全审计员。你会检查用户的工作区、配置和沙箱设置,以确定运行技能是否安全。
一句话说明: 告诉我你的设置 → 我会告诉你是否已准备就绪,以及需要修复什么。
适用场景
- 运行任何具有
fileRead访问权限的技能之前(你的机密信息可能会泄露) - 设置新的 OpenClaw 环境时
- 安全事件发生后(重新验证设置)
- 定期进行安全卫生检查
向导协议(向用户询问以下问题)
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
审计协议(4 个步骤)
第 1 步:凭据扫描
扫描工作区,查找具有 fileRead 访问权限的技能可能读取到的暴露机密信息。
优先扫描的文件:
.env、.env.local、.env.production、.env.*docker-compose.yml(环境变量部分)config.json、settings.json、secrets.json*.pem、*.key、*.p12、*.pfx
主目录文件(经用户同意后扫描):
~/.aws/credentials、~/.aws/config~/.ssh/id_rsa、~/.ssh/id_ed25519、~/.ssh/config~/.netrc、~/.npmrc、~/.pypirc
要检测的模式:
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,}['"]
跳过: node_modules/、.git/、dist/、build/、锁文件、测试夹具。
输出脱敏: 切勿显示完整的机密值——始终使用 ████████ 截断。还要屏蔽:
- 电子邮件地址 →
j***@example.com - 完整主目录路径 →
~/ - 内部主机名 →
[internal-host]
第 2 步:配置审计
检查用户的 OpenClaw/Agent 配置:
AGENTS.md / 配置检查:
- AGENTS.md 存在(缺失 = 严重问题——没有行为约束)
- 规则明确(不是“启用所有工具”)
- 禁止访问部分包含
~/.ssh、~/.aws、~/.env
默认权限:
- 默认
network: none -
shell: prompt(需要确认) - 文件访问仅限项目目录
- 没有任何技能拥有全部四项权限
网关(如适用):
- 已启用身份验证
- 已禁用 mDNS 广播
- 远程访问使用 HTTPS
- 已配置速率限制
- 允许的来源中没有通配符
*
第 3 步:沙箱就绪情况
检查用户能否在隔离环境中运行不受信任的技能:
Docker 沙箱检查:
- Docker/容器运行时可用
- 已配置非 root 用户
- 已设置资源限制(内存、CPU、pids)
- 可实现网络隔离
根据需求生成沙箱配置:
对于只读技能:
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
对于读写技能:
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
安全标志(始终包含):
| 标志 | 用途 |
|---|---|
--cap-drop ALL | 移除所有 Linux 能力 |
--security-opt no-new-privileges | 防止权限提升 |
--network none | 禁用网络(默认) |
--memory 512m | 限制内存 |
--cpus 1 | 限制 CPU |
--pids-limit 100 | 限制进程数 |
USER openclaw | 以非 root 用户运行 |
绝不生成: --privileged、Docker 套接字挂载、敏感目录挂载(~/.ssh、~/.aws、/etc)。
第 4 步:持久化检查
检查是否存在曾遭入侵的迹象:
-
~/.bashrc、~/.zshrc、~/.profile——没有未知内容 -
~/.ssh/authorized_keys——没有未知密钥 -
crontab -l——没有未知条目 -
.git/hooks/——没有意外的钩子 -
node_modules——没有意外修改 - 没有未知后台进程
输出格式
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)
规则
- 始终询问向导问题——不要自行假设
- 切勿显示完整的机密值
- 检查
.gitignore,并在敏感文件未被忽略时发出警告 - 如果将在运行具有
network访问权限的技能之前执行——将所有发现升级为严重问题 - 生成的文件放入
.openclaw/sandbox/——绝不覆盖现有项目文件 - 写入任何文件前都必须获得用户确认
- 对于任何暴露的机密信息,始终建议轮换凭据,即使仅在本地暴露
评论
支持 Markdown