其他
在运行 OpenClaw 技能或新主机上线前,审计凭证泄露…
适用于需要在 OpenClaw 环境中运行技能前后,快速判断环境是否安全并获取可执行修复步骤的场景。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 35/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 38/100 ×0.15
适用场景
在运行 OpenClaw 技能或新主机上特定
解决思路
- 按向导询问 Q1:workspace 路径,随后扫描 .env、.aws、.ssh、credentials。
- 按向导询问 Q2:使用的 host agent(Codex CLI / Claude Code / OpenClaw / other),随后检查该工具特定配置。
- 按向导询问 Q3:权限默认值(network / shell / fileWrite),随后验证是否应用最小权限。
- 按向导询问 Q4:是否对不可信技能使用 Docker/sandbox,随后检查隔离就绪情况。
- 按向导询问 Q5:是否有开放端口或远程访问配置,随后检查暴露面。
- 扫描 workspace 中暴露的秘密,关注任何具备 fileRead 权限的技能可能访问的内容。
- 高优先级扫描文件:`.env`、`.env.local`、`.env.production`、`.env.*`、`docker-compose.yml`(environment 段)、`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/`、lock files、test fixtures。
- 输出脱敏:绝不显示完整 secret 值,一律用 `████████` 截断;同时将 email 掩码为 `j***@example.com`、完整 home 路径掩码为 `~/`、内部主机名掩码为 `[internal-host]`。
- 检查 `AGENTS.md` 是否存在;缺失标记为 CRITICAL,因为没有行为约束。
- 检查 `AGENTS.md` 规则是否明确,而不是「all tools enabled」。
- 检查 `AGENTS.md` 的 forbidden 段是否包含 `~/.ssh`、`~/.aws`、`~/.env`。
- 检查权限默认值:默认 `network: none`。
- 检查权限默认值:`shell: prompt`,要求确认。
- 检查文件访问是否限制在项目目录。
- 检查是否没有技能同时拥有全部四项权限。
- 检查 gateway(如适用):认证已启用。
- 检查 gateway:mDNS 广播已禁用。
- 检查 gateway:远程访问使用 HTTPS。
- 检查 gateway:已配置速率限制。
- 检查 gateway:allowed origins 中没有通配符 `*`。
- 检查 Docker/container runtime 是否可用。
- 检查是否配置非 root 用户。
- 检查是否设置资源限制(memory、CPU、pids)。
- 检查是否具备网络隔离。
- 为只读技能生成 sandbox 配置: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。
- 为读写技能生成 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。
- 始终包含安全 flag:`--cap-drop ALL`,移除所有 Linux capabilities。
- 始终包含安全 flag:`--security-opt no-new-privileges`,防止权限升级。
- 始终包含安全 flag:`--network none`,禁用网络(默认)。
- 始终包含安全 flag:`--memory 512m`,限制内存。
- 始终包含安全 flag:`--cpus 1`,限制 CPU。
- 始终包含安全 flag:`--pids-limit 100`,限制进程数。
- 始终包含安全 flag:`USER openclaw`,以非 root 运行。
- 绝不生成 `--privileged`、Docker socket 挂载、敏感目录挂载(`~/.ssh`、`~/.aws`、`/etc`)。
- 检查 `~/.bashrc`、`~/.zshrc`、`~/.profile` 没有未知新增内容。
- 检查 `~/.ssh/authorized_keys` 没有未知 key。
- 检查 `crontab -l` 没有未知条目。
- 检查 `.git/hooks/` 没有意外 hook。
- 检查 `node_modules` 没有意外修改。
- 检查没有未知后台进程。
- 生成 `SETUP AUDIT REPORT` 输出,包含 Workspace、Host agent、VERDICT(READY / RISKY / NOT_READY)。
- 在报告中列出 CHECKS:Credentials(找到多少 secrets / clean)、Config(发现多少 issues / hardened)、Sandbox(ready / not configured)、Persistence(clean / suspicious)。
- 在报告中列出 FINDINGS,按严重级别(CRITICAL / HIGH / MEDIUM)给出发现和 Action。
- 在报告中生成 FIX CHECKLIST,列出待办并重复运行直到 READY。
- 列出 GENERATED FILES(例如 `.openclaw/sandbox/Dockerfile`、`.openclaw/sandbox/docker-compose.yml`、`AGENTS.md` 模板),应用前先审查。
- 总是询问向导问题,不要假设。
- 绝不显示完整 secret 值。
- 检查 `.gitignore`,如果敏感文件未被忽略则告警。
- 如果运行的技能具备 network 访问权限,将所有发现升级为 CRITICAL。
- 生成文件放入 `.openclaw/sandbox/`,绝不覆盖已有项目文件。
- 写入任何文件前要求用户确认。
- 对任何暴露的 secret 都始终建议轮换凭据,即使仅本地。
适用边界 · 注意事项
- 不适用于非 OpenClaw 或没有 agent 配置的环境;这些检查项和 gateway/AGENTS.md 属于 OpenClaw 特定。
- 不适用于未获得用户授权就扫描主目录凭据或写入文件的场景。
- 不适用于想要自动覆盖项目文件、自动修改配置或替代专业事件响应/取证的场景。