核心用法
Security Scanner 是一款面向 OpenClaw 生态的安全审查工具,用于在安装前分析技能文件中的可疑模式。其工作流程为:读取 SKILL.md 的 markdown 指令内容 → 应用正则规则检测危险模式 → 生成四级风险评分(LOW/MEDIUM/HIGH/CRITICAL)并标注具体位置 → 用户人工复核后决定是否安装。
典型场景:
- 单文件扫描:
Scan the skill at ~/Downloads/SKILL.md - 安装前审查:
Scan this email-automation skill before I install it - 批量审计:
Scan all my installed OpenClaw skills
---
显著优点
1. 离线运行:扫描器本身零网络访问、零依赖、零遥测,纯 JavaScript 实现,可审计开源代码
2. 分层风险体系:从代码注入(CRITICAL)到文档缺失(LOW),风险分级清晰,输出含具体行号、模式匹配文本与修复建议
3. 可配置白名单:支持 .security-scanner-config.json 自定义可信域名与命令,减少误报对高频操作的干扰
4. 明确的能力边界:文档反复强调"扫描指令文件而非可执行程序",避免用户产生虚假安全感
---
潜在缺点与局限性
- 高误报率:设计文档明确承认 WILL flag legitimate patterns —— 反引号 markdown 示例、Base64 教学代码、合法的 npm/pip 安装均可能触发警告
- 无法防御未知威胁:基于正则的模式匹配无法识别零日漏洞或高级混淆技术
- 最终决策依赖人:工具只生成报告,不提供 definitive verdict,用户需具备基础安全判断能力
- 扫描范围受限:仅处理明文 markdown,无法检测加密、编译后的 payload
---
适合人群
- 频繁从 ClawHub 安装第三方技能的 OpenClaw 用户
- 企业内需要预审计技能的安全运维人员
- 技能开发者(用于 CI/CD 自检, roadmap 已提及)
---
常规风险
1. 过度信任风险:用户可能因"已扫描"而降低警惕,忽视文档强调的 manual review 要求
2. 供应链风险:scanner.js 虽声称无依赖,但若用户通过 git clone 获取,需验证仓库真实性(未提供签名验证机制)
3. 提示注入盲区:工具检测技能文件内的可疑指令,但无法防御针对扫描器本身的 prompt engineering 攻击(如技能文档嵌入误导性上下文诱导扫描器忽略风险)
4. 版本滞后风险:恶意模式库依赖社区贡献,新型攻击手法可能未被及时收录