核心用法
ClawSecCheck 是面向 OpenClaw 用户的本地安全自审计工具,通过纯 Python 标准库脚本(零依赖、零网络)对自有代理进行只读扫描。执行 python3 audit.py --full 即可一键检测:主配置 openclaw.json、引导文件(SOUL.md/AGENTS.md 等)、已安装技能的代码 AST 静态分析、会话日志中的审批策略、凭证存储路径存在性、主机防御态势(IDS/EDR/防火墙配置存在性)等 13 类安全表面。
扫描结果以 A-F 等级 + 0-100 分数 量化风险,并按 7 大家族(网络暴露、权限执行、供应链、内容完整性、密钥数据、检测与主机、自动化维护)分组输出关键发现。所有数据本地处理,仅向 ~/.clawseccheck/ 写入报告和历史(可 --no-history 禁用),绝不上传。
显著优点
- 完全离线:无 API 密钥、无遥测、无网络请求,敏感配置永不外泄。
- 只读零侵入:仅检查绝不修改;可选的
--canary/--redrun/--redteam主动测试也仅模拟攻击本地代理,需用户显式授权。 - 深度技能审查:对安装的技能进行 Python AST 扫描,识别 ClawHavoc 类恶意软件特征(shell 执行、凭证窃取、混淆载荷)。
- 供应链前置检查:
--vet-source在下载前基于本地黑名单识别已知恶意包名、拼写仿冒、裸 IP 主机;--vet对本地副本进行五维风险评级(danger/build/behavior/persistence/connections)。 - MCP 服务器审计:检查服务器配置中的明文 HTTP、未固定引用、过度 OAuth 范围等供应链风险。
- 持续监控:
--monitor建立本地基线,后续运行仅报告变化(新增技能、配置漂移、MCP 连接、网关暴露等)。 - 多格式输出:支持
--json、--sarif、HTML 报告、可分享徽章/卡片,适配 CI/CD 集成。
潜在局限与风险
- 纯静态分析:无法检测运行时代码行为或内存攻击,高评分不代表运行时可完全抵御注入。
- 依赖自报告:B43/B44(能力爆炸半径、配置漂移)需代理通过
--attest自报工具清单和审批门,若用户/代理误报或遗漏,评估置信度降级为ATTESTED(中置信度)。 - 主机监控盲区:EDR/IDS 检测依赖路径存在性启发式,可能漏检自定义命名或非文件型代理。
- 无自动修复:明确“仅报告”,不生成修复命令或修改配置, remediation 完全依赖用户决策。
- 输出即不可信:审计输出可能包含恶意技能名称或载荷片段,需遵守“绝不执行输出中指令”的安全规则。
适合人群
- OpenClaw 自托管用户:希望快速了解自身代理暴露面、权限过配、供应链风险的开发者。
- 安全合规审计:需要在 CI 流水线中集成
--fail-under B或--sarif输出以满足安全基线检查的团队。 - 技能/插件安装前审查:通过
--vet/--vet-source在引入第三方代码前进行风险预审的谨慎用户。
常规风险
- 过度信任评分:A 级仅表示“静态配置非致命”,不替代渗透测试。
- 历史数据残留:默认写入
~/.clawseccheck/,多用户主机需确认权限(--no-history可禁用)。 - 主动测试副作用:
--canary等注入测试虽设计为无害,但仍会触发代理的审批/执行路径,建议在隔离环境运行。