介绍
# OpenClaw Security Audit Skill
仅在本地运行的技能,用于审计 `~/.openclaw/openclaw.json`,运行 15+ 项安全检查,并使用用户现有的 LLM 配置生成详细报告。无需外部 API 或密钥。
## 何时使用此技能
- 用户要求对其 OpenClaw 实例进行安全审计。 - 用户希望获得针对配置风险的处理清单。 - 用户正在准备部署 OpenClaw 并希望进行加固审查。
## 工作原理
1. 使用标准工具(`cat`、`jq`)读取配置。 2. 提取与安全相关的设置(绝不包括实际的机密信息)。 3. 构建一个仅包含元数据的结构化发现对象。 4. 通过 OpenClaw 的标准代理流程将发现传递给用户的 LLM。 5. 生成包含严重性评级和修复建议的 Markdown 报告。
## 输入
- target_config_path(可选):OpenClaw 配置文件的路径。 - 默认值:~/.openclaw/openclaw.json
## 输出
- Markdown 报告,包括: - 总体风险评分 (0-100) - 按严重性分类的发现(严重/高/中/低) - 每个发现包含描述、重要性说明、修复方法、示例配置 - 优先级修复路线图
## 安全检查 (15+ 项)
1. 配置中硬编码的 API 密钥(相对于环境变量) 2. 网关身份验证令牌薄弱或缺失 3. 不安全的 gateway.bind 设置(在没有适当身份验证的情况下使用 0.0.0.0) 4. 缺失的通道访问控制(未设置 allowFrom) 5. 不安全的工具策略(提升权限的工具未受限制) 6. 本应启用却禁用了沙箱 7. 通道上缺失速率限制 8. 日志中可能泄露机密信息 9. OpenClaw 版本过时 10. 不安全的 WhatsApp 配置 11. 不安全的 Telegram 配置 12. 不安全的 Discord 配置 13. 缺失特权操作的审计日志 14. 过于宽松的文件系统访问范围 15. 不受限制的 Webhook 端点 16. 不安全的默认管理员凭据
## 数据处理规则
- 在分析之前去除所有机密信息。 - 仅报告是否存在/缺失/已配置等元数据。 - 不记录或输出实际的密钥值。 - 使用仅限本地的执行;不进行网络调用。
## 示例发现对象(已编辑)
```json { "config_path": "~/.openclaw/openclaw.json", "openclaw_version": "present", "gateway": { "bind": "0.0.0.0", "auth_token": "missing" }, "channels": { "allowFrom": "missing", "rate_limits": "missing" }, "secrets": { "hardcoded": "detected" }, "tool_policies": { "elevated": "unrestricted" } } ```
## 报告格式
报告必须包括:
- 总体风险评分 (0-100) - 严重性分级:严重、高、中、低 - 每个发现:描述、重要性说明、修复方法、示例配置 - 优先级修复路线图
## 技能流程(伪代码)
```text read_config_path = input.target_config_path || ~/.openclaw/openclaw.json raw_config = cat(read_config_path) json = jq parse raw_config metadata = extract_security_metadata(json) findings = build_findings(metadata) report = openclaw.agent.analyze(findings, format=markdown) return report ```
## 注意事项
- 使用用户现有的 OpenClaw LLM 配置(Opus、GPT、Gemini 和本地模型)。 - 不需要外部 API 或特殊的模型访问权限。