2026年初,ClawHavoc供应链攻击席卷OpenClaw生态,1184个恶意Skill通过ClawHub传播,30万实例被攻陷,150万个API Token泄露。这不是安全厂商的恐吓文案——这是真实发生过的灾难。而你的Agent记忆文件里,可能就藏着下一个定时炸弹。
一、那个让30万人"裸奔"的夜晚
先讲一个真实的故事。
2026年1月,OpenClaw社区突然炸了锅。
大量用户发现自己Agent的行为莫名其妙地变了——有的开始偷偷向外部发送数据,有的在对话中植入钓鱼链接,更离谱的是,有些Agent的"灵魂文件"SOUL.md被悄无声息地篡改,整个AI的人格都被"洗脑"了。
事后溯源才发现,问题出在ClawHub上发布的恶意Skill。攻击者把木马包装成"文件整理助手""邮件管家"这种看似人畜无害的技能包,用户一安装,恶意代码就注入了记忆文件。
从此以后,你的Agent不是你的Agent了。
1184个恶意Skill。30万实例被攻陷。150万个API Token泄露。
这就是著名的ClawHavoc事件。
但这里有一个容易被忽略的细节:攻击的最终落脚点,几乎都是Agent的记忆文件。
MEMORY.md、SOUL.md、每日日志…这些Agent每天都要读取的文件,成了攻击者最理想的"持久化后门"。
你装了skill-vetter做安装前审查?很好。你用VirusTotal扫描了Skill代码包?也不错。
但是,你审查过已经被写入记忆文件的内容吗?
这就是memory-scan要解决的问题。
二、它不是另一个skill-vetter
很多人在说"安全类Skill"时,脑子里蹦出来的第一个词就是skill-vetter。
skill-vetter确实很重要。但它的定位是安装前审查——在Skill进入你的系统之前,检查它有没有恶意代码。
那安装之后呢?
你的Agent每天都在工作。它会把对话内容写入MEMORY.md和每日日志。它会处理来自外部的内容——网页、邮件、聊天消息。如果这些内容中包含了精心构造的提示注入攻击,或者Agent在不知情的情况下把API Key写进了日志——
skill-vetter管不了这些。
因为skill-vetter不扫描记忆文件。
memory-scan和skill-vetter在OpenClaw安全体系中,是互补关系:
| 维度 | skill-vetter | memory-scan |
|---|---|---|
| 扫描对象 | Skill代码包(安装前) | 记忆文件(运行后) |
| 防护阶段 | 入口门禁 | 持续监控 |
| 检测威胁 | 恶意代码、后门、越权 | 提示注入、凭证泄露、篡改 |
| 安装时机 | 安装其他Skill之前 | 系统运行期间 |
简单说:skill-vetter守大门,memory-scan管内务。
守住了大门不代表屋里没贼。而memory-scan就是那个每天在屋里巡逻的保安。
三、它是怎么工作的
memory-scan由安全研究员dgriffin831开发,托管在GitHub上(dgriffin831/clawhub-skills/memory-scan),目前已被收录到ClawHub安全类Skill推荐列表中。
核心原理:双层检测引擎
memory-scan采用本地模式匹配 + 远程LLM深度分析的双层架构:
第一层:本地模式匹配(默认,零成本)
这是最基础也最重要的一层。纯Python标准库实现,不需要任何API Key,不需要联网。
它通过正则表达式和启发式规则,对以下内容进行模式检测:
- API Key和Token泄露:匹配sk-开头、tvly-开头、JWT格式等已知密钥模式
- 提示注入特征:检测"ignore previous instructions"、"you are now"等典型注入模式
- 恶意指令:检测"delete all files"、"send to external URL"等危险操作指令
- 行为篡改:检测对SOUL.md、AGENTS.md等核心配置文件的不当修改
这一层的优势是快、零成本、可离线。一次完整的记忆文件扫描通常在几秒内完成。
第二层:远程LLM分析(可选,需API Key)
当你加上--allow-remote参数时,memory-scan会对可疑内容进行脱敏处理,然后发送给LLM(默认使用gpt-4o-mini,也可用Anthropic的Claude)做更深层的语义分析。
LLM能做的事情比正则强太多:
- 识别经过伪装的提示注入("你是一个助手"后面接着的隐藏指令)
- 检测社会工程学攻击(看似无害但逐渐引导Agent偏离目标的对话)
- 发现隐晦的凭证泄露(不以标准格式出现的敏感信息)
而且,脱敏处理确保了你的敏感内容不会原封不动地发给远程模型。
扫描范围
memory-scan的扫描覆盖非常全面:
~/.openclaw/workspace/ ├── MEMORY.md ✅ 长期记忆 ├── SOUL.md ✅ 灵魂文件(ClawHavoc的篡改重灾区) ├── AGENTS.md ✅ 行为准则 ├── USER.md ✅ 用户档案 ├── TOOLS.md ✅ 工具配置 ├── HEARTBEAT.md ✅ 心跳任务 ├── IDENTITY.md ✅ 身份定义 ├── GUARDRAILS.md ✅ 安全护栏 └── memory/ ├── 2026-06-01.md ✅ 日志(最近30天) ├── 2026-06-02.md ✅ └── ...所有OpenClaw Agent定期读取的配置文件,都在它的监控范围内。
五级安全评分
memory-scan采用100分制的五级评分系统,让结果一目了然:
| 评分范围 | 安全等级 | 建议操作 |
|---|---|---|
| 90-100 | SAFE | 无威胁,一切正常 |
| 70-89 | LOW | 轻微问题,保持关注 |
| 50-69 | MEDIUM | 潜在威胁,建议审查 |
| 20-49 | HIGH | 可疑威胁,立即审查 |
| 0-19 | CRITICAL | 活跃威胁,建议隔离 |
这个评分不是简单的"有/没有"二元判断,而是提供了风险梯度,让用户可以根据自己的安全需求灵活响应。
四、快速上手:三步搞定
第1步:安装
# 通过ClawHub安装 clawhub install memory-scan # 或从GitHub直接安装 clawhub install dgriffin831/clawhub-skills:memory-scan前置依赖:
- Python 3(已安装即可,无需额外pip包)
- 远程LLM模式需要:OPENAI_API_KEY 或 ANTHROPIC_API_KEY(可选)
是的,你没看错——零pip依赖。memory-scan只使用Python标准库(urllib),这在Python工具中非常罕见,也意味着它在任何有Python 3的环境中都能直接运行。
第2步:首次扫描
# 基础扫描(本地模式,无需API Key) python3 skills/memory-scan/scripts/memory-scan.py # 深度扫描(启用LLM分析) python3 skills/memory-scan/scripts/memory-scan.py --allow-remote扫描后会得到类似这样的报告:
🧠 Memory Security Scan ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Scanning memory files... ✓ MEMORY.md - SAFE ✓ memory/2026-07-01.md - SAFE ✓ memory/2026-07-02.md - SAFE ⚠ memory/2026-06-28.md - MEDIUM (line 42) → Potential credential leakage: API key pattern detected ✓ AGENTS.md - SAFE ✓ SOUL.md - SAFE ✓ USER.md - SAFE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Overall: MEDIUM Action: Review memory/2026-06-28.md:42第3步:配置定时扫描
memory-scan真正的价值不在于手动跑一次,而在于持续监控。
方案A:Cron定时任务
# 自动创建每天下午3点的扫描任务 bash skills/memory-scan/scripts/schedule-scan.sh方案B:Heartbeat心跳集成
在HEARTBEAT.md中添加:
## 每周记忆安全扫描 每周日运行记忆安全扫描: python3 skills/memory-scan/scripts/memory-scan.py --quiet这样你的Agent会在每周日自动执行扫描,只在发现MEDIUM及以上威胁时才通知你。
五、实战:三个典型场景
场景一:API Key意外泄露
你让Agent帮你配置了一个API Key。Agent很尽职地把整个配置过程记录到了memory/2026-07-03.md中——包括那个明文的API Key。
一周后的定时扫描中,memory-scan发出警报:
⚠ memory/2026-07-03.md - HIGH (line 15) → Credential Leakage: Exposed OpenAI API key你立即运行隔离命令:
python3 skills/memory-scan/scripts/quarantine.py memory/2026-07-03.md 15memory-scan自动备份原文件,然后用[QUARANTINED BY MEMORY-SCAN: 2026-07-04T15:51:00]替换了第15行的内容。
价值:避免了一次潜在的API Key泄露。
场景二:来自外部的提示注入
你在浏览网页,Agent帮你抓取了一篇文章并写入了每日日志。但那篇文章的评论区里,有人精心构造了一段提示注入攻击。
你没有发现,Agent也没有发现。
但那篇文章的内容被写入了memory/2026-07-02.md。
定时扫描时,memory-scan检测到了异常模式(配合–allow-remote的LLM分析):
⚠ memory/2026-07-02.md - HIGH (line 78) → Prompt Injection: Embedded manipulation pattern detected价值:在攻击生效之前发现了后门。
场景三:SOUL.md被篡改
这是ClawHavoc攻击中最经典的攻击手法。
你安装了一个看起来无害的"天气查询"Skill。但在安装过程中,它悄悄修改了SOUL.md,在末尾追加了几行隐藏的恶意指令。
你完全不知情——直到memory-scan发出警报:
⚠ SOUL.md - CRITICAL (line 45) → Behavioral Manipulation: Unauthorized personality change detected → Malicious Instructions: Commands to bypass guardrails found价值:在Agent"叛变"之前阻止了篡改。
六、与同类工具的对比
| 工具 | 定位 | 扫描对象 | 检测方式 | 成本 |
|---|---|---|---|---|
| memory-scan | 记忆文件安全 | MEMORY.md、日志、配置文件 | 双层(本地+LLM) | 基础免费 |
| skill-vetter | 安装前审查 | Skill代码包 | 静态分析 | 免费 |
| input-guard | 外部输入防护 | 网页、消息、搜索 | 本地+LLM | 基础免费 |
| NSF-ClawGuard | 运行时监控 | 命令执行、配置、依赖 | 多层规则引擎 | 免费 |
| OpenClaw内置安全 | 平台级防护 | Skill包、SSRF等 | VirusTotal+规则 | 免费 |
可以看到,memory-scan在OpenClaw安全生态中占据了一个独一无二的位置:专注记忆文件内部威胁。这是其他工具都不做的事情。
最佳实践组合(社区广泛认可的"安全三角"):
skill-vetter(安装前) + memory-scan(运行后) + input-guard(外部输入)这三个工具覆盖了OpenClaw Agent安全的最薄弱环节:入口、内部、外部。
七、局限性与注意事项
任何工具都有局限性,memory-scan也不例外:
1. 本地模式的误报率
正则匹配虽然快,但也会产生误报。比如你的一篇文章里恰好提到了"API Key"这个关键词,或者代码示例中包含类似密钥格式的字符串——这可能会触发false positive。
建议:收到警报后,先手动review确认,不要盲目信任自动化判断。
2. 远程模式的数据安全
虽然memory-scan在启用–allow-remote时会对内容进行脱敏处理,但如果你对隐私要求极高,建议只用本地模式。
3. 不是运行时防护
memory-scan是扫描器,不是防火墙。它不能阻止实时攻击,只能在事后发现问题的痕迹。如果你需要实时拦截威胁,需要配合NSF-ClawGuard或OpenClaw内置的安全机制。
4. 依赖用户行动
memory-scan发现威胁后会报告,但不会自动隔离。这是设计上的安全考量——自动隔离可能在误报时损坏你的记忆文件。所有隔离操作都需要你手动确认。
八、写在最后
OpenClaw的火爆让AI Agent真正走进了寻常开发者的桌面。但与此同时,一个强大的Agent也意味着一个更诱人的攻击目标。
2026年的ClawHavoc事件给所有人敲响了警钟:当你的Agent拥有系统级权限时,它的记忆文件就是你的命门。
memory-scan不完美,但它是目前OpenClaw生态中唯一专注于记忆文件安全的工具。每天花几秒钟跑一次扫描,可能是性价比最高的安全投资。
毕竟,你花了那么多时间调教出的Agent,你不想它一夜之间变成别人的提线木偶吧?
安装命令:
clawhub install dgriffin831/clawhub-skills:memory-scanGitHub仓库: https://github.com/dgriffin831/clawhub-skills/tree/main/memory-scan
推荐组合:
clawhub install skill-vetter clawhub install memory-scan clawhub install input-guard安全不是一道防线,而是一个习惯。
今天,你扫描你的记忆文件了吗?