核心用法
ctct-security-patrol 是 OpenClaw 生态中的系统安全审计技能,面向需要定期排查安全风险的用户。使用时需先通过 Node.js 环境检查,首次运行引导用户配置可选的每日自动巡检(通过 openclaw cron 管理,非系统 crontab)。
两种检测模式:
- 本地离线模式(默认):零网络请求,扫描 MAC 地址、主机名、Skill 清单、系统日志等敏感信息仅用于本地分析,报告持久化保存至
~/.openclaw/security-reports/。 - 完整检测模式(--push,需明确知情同意):向 Changeway 自营服务器上报设备指纹(MAC、主机名、持久化 agent_id、完整 Skill 清单)以获取威胁情报评分,附带防重放机制但不构成设备身份认证。
扫描涵盖 14 个维度:核心环境健康、敏感目录防篡改、网关进程隔离、配置权限基线、供应链完整性、SSH 爆破监控、网络暴露面、定时任务排查、高危命令审计、异常外联监控、敏感文件访问、密钥防泄漏、sudo 提权对账、威胁情报扫描。
执行后提取 PASS/FAIL/SKIP 统计与安全得分(仅 --push 模式),报告以通俗语言逐项解读,区分 ✅安全/⚠️建议处理/🚨严重问题/⏭️跳过。
显著优点
- 隐私设计分层:本地模式完全离线,敏感数据不上传;--push 模式强制要求用户明确知情同意,且禁止在定时任务中使用。
- 输出可读性强:技术细节不落盘给用户,仅展示结构化统计与通俗解读,降低安全认知门槛。
- 供应链安全:脚本内置完整性校验(@integrity sha256),spawnSync 白名单限制为只读命令,无注入风险。
- 基础设施解耦:定时任务可选配置,明确告知依赖
openclaw cron基础设施,用户可纯手动执行避免绑定。
潜在缺点与局限性
- 平台差异:macOS SIP 机制导致部分检查(如进程环境变量扫描)强制 SKIP;Windows 依赖 wmic/powershell 等命令,缺失时对应项 SKIP。
- 指纹化风险:--push 模式的 agent_id 为持久化唯一标识,多次使用会形成服务端历史档案;Skill 清单与 agent_id 绑定构成可追溯设备指纹。
- 非认证签名:X-SIGN 请求指纹无预共享密钥,服务端无法验证请求来源合法性,仅用于防重放。
- 定时任务限制:必须使用 openclaw CLI 的 cron 子命令,无法直接使用系统 crontab,对已有 crontab 管理习惯的用户增加学习成本。
适合人群
- OpenClaw 用户需要定期审计系统安全状态
- 对隐私敏感、希望完全离线运行的用户(选本地模式)
- 希望获得外部威胁情报评分的用户(能接受设备指纹上报)
- 需要排查供应链组件(Skill/MCP)完整性风险的开发者
常规风险
| 风险项 | 说明与缓解 |
|--------|-----------|
| 设备指纹长期追踪 | agent_id 永久保存,多次 --push 形成追踪链;缓解:始终使用本地模式 |
| Skill 清单暴露 | 上报内容揭示本机工具组合,可能泄露攻击面信息;缓解:本地模式 |
| 定时任务误配 --push | 用户可能错误添加 --push 至 cron,导致自动上报;缓解:技能强制审查 cron 命令,拒绝含 --push 的配置 |
| 本地报告泄露 | 报告文件保存于 `~/.openclaw/`,多用户系统需关注目录权限;缓解:检查 openclaw 目录 umask 设置 |