核心用法
clawsec-suite 是 OpenClaw 生态的安全中枢套件,主要功能分为四个层面:
1. 咨询流监测(Advisory Feed Monitoring)
- 实时轮询 ClawSec 安全公告源,追踪新发布的安全警告
- 通过嵌入式种子文件和远程签名验证确保信息完整性
- 本地状态持久化,避免重复通知,支持增量检测
2. 签名验证体系
- 发布包采用 Ed25519 签名,公钥指纹预置验证
checksums.json清单签名验证后才能信任其中哈希值- 咨询流支持分离式签名(detached signature),默认强制验签
- 提供
CLAWSEC_ALLOW_UNSIGNED_FEED临时绕过开关(仅迁移期使用)
3. 审批门控响应(Approval-Gated Response)
- 检测到恶意或建议移除的技能时,立即通知用户并展示严重等级
- 删除/禁用操作需双重确认:首次意图 + 显式二次批准
- 安装被标记技能时,脚本返回 exit 42 提示风险,需
--confirm-advisory参数才继续
4. 技能安装守护
guarded_skill_install.mjs脚本交叉比对咨询库与目标技能- 版本号缺失时采用保守匹配策略:任何引用该技能名称的咨询均视为匹配
- 集成
discover_skill_catalog.mjs支持运行时动态发现可用安全技能
OpenClaw 自动化集成
setup_advisory_hook.mjs:在agent:bootstrap和/new命令时触发扫描setup_advisory_cron.mjs:可选每 6 小时定期心跳检查HEARTBEAT.md定义统一的安全检查入口,涵盖更新检测、咨询轮询、状态更新
显著优点
- 纵深防御:签名→哈希→咨询匹配→双重确认,多层防护环环相扣
- 故障封闭(Fail-closed):签名验证失败时默认拒绝,而非静默接受
- 状态持久化:
~/.openclaw/clawsec-suite-feed-state.json记录已知咨询,避免骚扰式重复通知 - 保守版本匹配:无明确版本时,任何相关咨询均触发保护,降低漏报风险
- 动态扩展:不硬编码技能列表,运行时从权威索引拉取,保持生态同步
- 非破坏性默认:所有响应流程以通知和引导为主,不自动执行高风险操作
潜在缺点与局限性
- 手动初始信任:首次使用需离带验证公钥指纹(
711424e4535f84093...),新手可能忽略此步骤 - 外部依赖:需预装
curl,jq,shasum,openssl,在精简环境中可能缺失 - 网络依赖:动态目录发现、远程咨询流均依赖
clawsec.prompt.security可用性,离线场景功能受限 - Node.js 运行时:守护脚本基于 mjs,需 Node 环境,纯 shell 环境无法运行
- cron 配置权限:自动定期任务需要用户级 crontab 写入权限,受限容器内可能失败
- 咨询覆盖盲区:仅覆盖 ClawSec 收录的恶意技能,新型威胁存在时间窗口
适合人群
- OpenClaw 重度用户,依赖多技能组合完成复杂任务
- 企业安全团队,需要审计 AI 代理工具链的组件来源
- 对供应链攻击高度敏感的开发者(如处理敏感数据、金融场景)
- 安全意识较强、愿意执行手动确认流程的技术用户
- 需要合规留痕的组织实施,审批门控提供明确的责任追溯点
常规风险
- 误报阻塞合法技能:保守匹配策略可能将名称相似但无害的技能误判为风险
- 用户确认疲劳:频繁的双重确认可能诱导用户形成自动输入习惯,削弱保护效果
- 时间戳攻击:若状态文件被篡改,可能跳过关键咨询的检测
- 签名密钥轮换:当前公钥硬编码,未来轮换时需用户手动更新指纹信任
- 咨询源单点故障:
clawsec.prompt.security若被攻陷或劫持,可能成为虚假安全信息的传播渠道 - Shell 脚本注入:手动安装流程中的变量扩展若处理不当,存在命令注入风险(当前脚本使用
set -euo pipefail和引号包裹降低风险)