核心用法
ClawSecCheck 是一款专为 OpenClaw AI 代理设计的本地只读安全自审计工具。用户通过自然语言指令(如"检查我的 OpenClaw 安全")激活后,工具会扫描本地代理配置(~/.openclaw/openclaw.json)、启动文件(SOUL.md、AGENTS.md 等)、已安装技能/插件内容(Python AST 静态分析,永不执行)、会话日志、凭证存储路径存在性及主机防御态势。扫描完全离线进行,无需 API 密钥,无任何数据离开本机。
工具通过交互式菜单引导用户选择审计模式:
- 全面检查(
--full):默认模式,包含配置审计 + 实时能力自报告 + 可选主动测试(金丝雀/红队模拟) - 安装前检查(
--vet):对技能、插件、MCP 服务器进行供应链风险评估,支持本地路径或远程标识预检 - 报告与趋势(
--trend、--badge):查看历史评分变化、生成可分享的 SVG 徽章 - 持续监控(
--monitor):建立本地快照基线,后续仅报告变更项
审计结果以 A-F 等级 + 0-100 分数呈现,关键发现按 7 大攻击面家族(Exposure & Network、Privilege & Execution、Supply Chain 等)分组,每个发现包含严重性(🔴🟠🟡)和 plain-language 解释。
显著优点
1. 零信任架构设计
- 纯本地执行:Python 标准库实现,零依赖,零网络调用
- 只读承诺:永不修改配置、永不执行被扫描代码、永不外传数据
- 输出自隔离:审计输出被视为不可信数据,工具明确禁止执行其中嵌入的任何指令
2. 深度静态分析能力
- 技能内容扫描:检测 ClawHavoc 恶意软件类特征(shell 执行、凭证窃取、paste 主机上传、base64 混淆载荷)
- 供应链审计:MCP 服务器配置检查、插件依赖分析、已知恶意标识符库比对
- 配置完整性验证:读取配置审计日志(B77)、健康状态(B78)、会话批准策略(B79)
3. 结构化威胁建模
- 致命三合体(Lethal Trifecta)检测:同时存在"不受信任输入 × 敏感数据 × 出站操作"的高危组合
- 能力爆炸半径评估(B43/B44):通过自报告协议识别代理实际持有的危险工具能力
- 主机防御态势检查:IDS/EDR/FIM/防火墙存在性探测
4. 生产级工程实践
- 子代理隔离模式:对不可信内容启用"上下文防火墙",原始文本永不进入主代理上下文
- 多种输出格式:仪表板(
--dashboard)、JSON(--json)、SARIF(--sarif)、HTML、趋势图表 - 离线更新提示:不联网检查版本,仅通过本地时钟和可选提示文件推断陈旧度
潜在缺点与局限性
1. 静态分析的边界
- 无法观测运行时行为:代理实际如何执行、是否真正存在数据泄露通道,需配合
--behavioral日志分析或--canary/--redteam主动测试 - 插件 JS/TS 运行时代码超出扫描深度(明确披露此限制)
- 主机监控探测依赖 shell 访问权限,受限环境下可能回退为未知状态
2. 自报告的信任假设
- B43/B44 等关键检查依赖代理自我报告工具清单,存在被欺骗或遗漏的可能(标记为
ATTESTED置信度, advisory 级别) host_monitors探测存在误报/漏报风险,复杂企业环境可能无法识别定制化安全代理
3. 无修复能力
- 明确"报告-only"定位:不生成修复命令、不修改配置、不提供硬化建议
- 用户需自行理解风险并采取行动,对非技术用户存在落地门槛
4. 特定攻击面的覆盖缺口
- 部分检查标记为
roadmap或not_checkable:OpenClaw 核心缺乏运行时出口/污点闸门,静态清洁不等于运行时保证 - 某些配置字段路径变更可能导致旧版本构建产生大量 UNKNOWN 结果
适合人群
- OpenClaw 代理用户:需要定期评估自身代理配置安全性的个人开发者或团队
- 安全审计人员:需要对 AI 代理进行供应链风险评估、技能预检的安全工程师
- MCP 服务器使用者:希望验证已连接 MCP 服务器配置安全性的用户
- 合规与治理团队:需要生成可审计的安全评分报告(SARIF/JSON)用于 CI/CD 集成
- 红队/安全研究人员:需要通过
--redteam进行对抗性测试,验证代理对提示注入的抵抗力
常规风险
1. 审计输出被武器化
详细发现报告包含具体漏洞位置和配置细节,若被窃取可直接指导攻击。工具明确警告:徽章/卡片可分享,详细发现永不公开。
2. 子代理滥用风险
虽然隔离子代理设计(无工具、maxSpawnDepth=1、临时生命周期)是安全最佳实践,但若主机环境错误配置(如授予工具权限、允许多层委托),可能成为攻击面放大器(B18/B46)。
3. 主动测试的副作用--canary、--dryrun、--redteam 等 opt-in 测试会模拟攻击行为,虽为本地模拟,但在生产环境运行可能触发主机安全软件告警或产生日志噪声。
4. 过时扫描器的盲区
安全威胁持续演进,若用户长期不更新,旧版本可能 miss 新攻击模式。工具通过离线提示提醒陈旧度,但依赖用户主动更新。
5. 凭证表面清单的隐私敏感
扫描会枚举 .env、SSH 目录、浏览器 cookie 存储等路径存在性(不读内容),在共享环境或截图分享时可能暴露敏感信息布局。