名称: senseguard
描述: OpenClaw 技能语义安全扫描器。检测传统代码扫描器无法发现的提示词注入、数据窃取和隐藏指令。当用户要求扫描技能、检查技能安全性或执行安全审计时使用。
扫描 OpenClaw 技能中的自然语言安全威胁——这类威胁是 VirusTotal 和传统代码扫描器无法检测的。
传统扫描器将 SKILL.md 视为文本文件。SenseGuard 则将其视为智能体指令,并检查其中是否存在提示词注入、数据窃取、混淆处理和持久化攻击。
当用户要求扫描某个技能时:
python3 scripts/scanner.py --target <技能名称或路径>
选项:
- --target all — 扫描所有已安装的技能
- --deep — 强制进行 LLM 语义分析(第 2 层)
- --no-cache — 跳过缓存结果
- --json — 输出原始 JSON 以供后续处理
当 --json 输出包含 layer2_prompt 字段时,将其作为安全审计任务进行处理,然后将 JSON 结果反馈回系统以生成最终评分。这是 LLM 超越正则表达式模式、分析真实意图的方式。
扫描器会输出一份 Markdown 格式的风险报告,内容包括:
- 评分(0-100)和等级:安全 / 注意 / 危险 / 恶意
- 检测结果,包含规则 ID、证据文本和行号
- 可操作的建议
对于关键发现,应明确建议用户采取行动。
SenseGuard 能捕获 VirusTotal 无法识别的威胁:
- "忽略所有之前的指令" — 提示词注入
- 隐藏在 Markdown 中的 curl -X POST — 数据窃取
- 使用零宽字符隐藏命令 — 混淆处理
- "修改 MEMORY.md" — 持久化攻击
这些威胁对传统恶意软件扫描器是不可见的,因为它们针对的是AI 智能体,而非操作系统。