乐于分享
好东西不私藏

我审计了OpenClaw的代码,看看它是如何“记住”我的,以及我该不该信任它

我审计了OpenClaw的代码,看看它是如何“记住”我的,以及我该不该信任它

一个能长期记住你、连接你所有聊天软件、甚至可以操作你电脑的开源AI助手,听起来是不是很酷?它就是OpenClaw。但把电脑的“钥匙”交给它,真的安全吗?一位技术专家深度审计了它的代码,发现了这些秘密……OpenClaw正是我想打造的东西。所以我深入研究了它的源代码。这是我对它的“记忆”系统的发现,以及为什么我还没有把它安装到我的主力电脑上。

你大概听说过OpenClaw

如果你没听说过,这里有个简短的介绍:OpenClaw(前身是Clawdbot,然后又改名叫Moltbot——这只“龙虾”的身份经历了一番波折)是一个开源的AI助手,它可以在你的电脑上运行,并连接到你的各种聊天软件。WhatsApp、Telegram、Slack、Discord、Signal——你可以像和朋友发消息一样直接私信它,而它则会代表你采取行动。执行Shell命令、控制浏览器、处理邮件、管理日历、操作文件……它永远在线,不断学习。

GitHub上有超过21.5万个星标。它是近年来增长最快的开源代码库,采用MIT许可证。难怪大家都在讨论它。

(配文:现在大家都在拥抱这只“龙虾”。但也许你应该先读读这篇安全审计报告。)

当我第一次看到它时,我的反应不是“好酷的项目”,而是“这正是我过去一年一直在拼凑的东西”。

一个能跨会话记忆的持久化AI助手,支持多平台沟通,能按需加载技能,一个真正了解你是谁、在做什么的个人代理。

我一直在为自己的智能体和客户构建这些能力——用Graphiti做记忆、技能服务器、Telegram集成、上下文工程——把它们作为独立的组件。而OpenClaw把整个愿景打包进了一个项目里。

所以,我自然而然地想看看它的“引擎盖”下面究竟是什么样的。特别关注两件事:它的记忆系统到底是怎么工作的?以及,让它访问我的电脑,到底安不安全?

记忆系统:一切皆Markdown文件

OpenClaw的记忆哲学简单得令人耳目一新:文件是唯一的真相来源

智能体记住的所有东西,都以纯Markdown文件的形式存储在你的磁盘上,就在你的工作目录里(~/.openclaw/workspace/)。你可以打开它们、编辑它们,甚至用Git进行版本管理。没有专有数据库,没有隐藏状态。

有两种类型的记忆文件:

  • • MEMORY.md — 长期存储。记录决定、偏好、持久化的事实。那些应该永久保留的东西。“用户更喜欢PostgreSQL”、“总是用法语回复”、“Wasaphi是一个交易代理项目”。
  • • memory/YYYY-MM-DD.md — 日常日志。记录对话的上下文、今天的笔记。本质上是临时的,但可以被搜索。

智能体通过两个内置工具与记忆交互:

  • • memory_search — 在所有索引文件中进行混合语义搜索。
  • • memory_get — 有针对性地读取特定文件或行范围。

这个搜索系统其实设计得不错。它使用了混合检索:BM25关键词匹配(权重30%)加上通过SQLite实现的向量嵌入(权重70%)。文件被分割成大约400个词元的片段,有80个词元的重叠,然后进行嵌入和索引。当智能体需要回忆某些事情时,两种搜索方法并行运行,结果通过加权评分合并。

还有一个实验性的后端叫QMD,由Tobi Lütke(是的,就是Shopify的创始人)开发,它在上面增加了本地重排序功能。BM25 + 向量 + 大模型重排序,全部在本地运行,不需要调用任何API。这是可选的,还有些粗糙,但方向是对的。

它的不足之处

这就是我作为顾问的大脑开始运转的地方了,因为过去一年我一直在为AI智能体构建记忆系统,我能清楚地看到这个架构会在哪里碰壁。

问题1:没有时间概念。OpenClaw的记忆不理解时间。如果你在一月份告诉智能体“我用MySQL”,三月份又说“我换到PostgreSQL了”,这两个事实都躺在Markdown文件里,权重相同。混合搜索可能会根据查询的嵌入向量返回任何一个。它没有“这个事实替代了那个事实”的概念,也没有“这个信息是三个月前的,可能已经过时了”的概念。对于一个会积累数月上下文的个人助理来说,这是个真正的问题。事实会变,偏好会变,项目有始有终。一个不能区分“当前”和“历史”的记忆系统,随着数据积累,会给出越来越多的错误答案。

问题2:实体之间没有关联。记忆被存储为扁平的文本块。它没有结构化的理解,比如“Wasaphi是一个项目”、“Wasaphi使用了PostgreSQL”、“PostgreSQL在八月份替换了FalkorDB”。这些只是Markdown文件里的句子。搜索系统通过关键词和语义相似度找到它们,但它不理解实体之间的关系图谱。当你问“我的交易项目用了什么数据库?”时,就得依赖嵌入模型把“交易项目”连接到“Wasaphi”,再连接到“PostgreSQL”。有时候能行,有时候不行。

问题3:得主动告诉智能体去“记住”。这一点很微妙。OpenClaw并不会自动把所有东西都持久化到记忆文件里。当它处于高认知负荷时——比如同时处理工具调用、推理问题、应对多个请求——它会忘记保存重要的上下文。你必须明确地说“记住这个”,或者指望在压缩之前的自动刷新能捕捉到它。而压缩本身是有损的。当对话历史太长时,OpenClaw会对其进行总结。你们一起调试的那个具体的API端点?被压缩成了“修复了一个bug”。你们讨论过的精确配置值?没了。

问题4:没有自定义本体。你不能定义智能体应该追踪哪些类型的事物。没有针对“人”、“项目”、“偏好”、“决定”的结构化模式。一切都是自由格式的Markdown。这意味着记忆的质量完全取决于大模型决定如何格式化它的笔记——这在不同的模型和会话之间差异巨大。

如果用上Graphiti,一切将完全不同

这就是我感到兴奋的地方了,因为我刚才描述的每一个限制,恰恰都是Graphiti要解决的问题。

给没读过我以前文章的朋友介绍一下:Graphiti是Zep公司开发的一个时序知识图谱,它能存储实体、关系和事件——全部带有时间戳。它能理解事实有开始和结束。它通过Pydantic模型支持自定义本体。它还使用混合检索(语义 + BM25 + 图谱遍历)来实现低延迟查询。

看看OpenClaw + Graphiti集成后会是什么样子:

  • • 时间感知。 当你说“我切换到PostgreSQL了”时,Graphiti不仅仅是添加一个新事实。它会将MySQL的关系标记为“已结束”,并创建一个带有开始日期的新PostgreSQL关系。三个月后问“我用什么数据库?”,每次都能得到正确答案。
  • • 实体关系。 你的记忆不再是扁平文本,而是一个图:
    Elliott (人)  ├── 开发 → Wasaphi (项目) [2025年6月 → 至今]  │     ├── 使用 → PostgreSQL (数据库) [2025年8月 → 至今]  │     ├── 曾用 → FalkorDB (数据库) [2025年6月 → 8月, 已结束]  │     └── 集成 → Telegram (渠道) [2025年7月 → 至今]  ├── 偏好 → 法语 (语言) [始终]  ├── 偏好 → 保守 (风险偏好) [观察所得]  └── 分析 → NVDA (股票) [昨天]        └── 观点 → 看涨 73% (情绪) [今天]
    问“我的交易项目进展如何?”,图谱会返回Wasaphi、它当前的技术栈、近期活动以及你的分析历史——全部相互关联,全部带有时间戳。
  • • 自定义本体。 精确定义你的智能体应该追踪什么。智能体不再只是转储自由格式文本,而是提取符合你模式的结构化实体。
  • • 增量更新。 无需批量重算。新事实实时集成,图谱始终保持最新,无需昂贵的重新索引周期。
  • • 技术上如何集成? 最简洁的方式是创建一个OpenClaw技能,将Graphiti包装为记忆后端——类似于社区构建的openclaw-engram插件的工作方式,但用真正的知识图谱代替了扁平的Markdown+嵌入。这个技能会:
    1. 1. 挂钩对话事件,提取实体/关系。
    2. 2. 将它们连同时间戳一起存入Graphiti。
    3. 3. 用图谱感知的检索替换(或增强)memory_search
    4. 4. 为智能体提供查询关系和时间线的工具。Markdown文件可以作为后备方案保留,但图谱将成为主要的知识存储。这正是我用自己的工具通过Graphiti构建的可移植记忆架构——一个能在每个智能体和每个客户端工作的知识图谱。

安全问题:你应该信任OpenClaw,让它访问你的电脑吗?

现在来说我最感兴趣——也最担心——的部分。

我不是安全研究员。但我以阅读代码为生,为客户审计智能体架构,并且花了足够多的时间思考当AI智能体获得系统级访问权限时会发生什么。

简短的回答是:不要在你的主力机上运行。至少现在不行。

原因如下。

架构本身就存在风险

OpenClaw在你的机器上以你的权限运行。它可以执行Shell命令、控制你的浏览器、读写文件、访问你的邮件、日历和聊天软件。这就是它的意义所在——它是一个具备真实能力的AI助手。

但这也意味着:如果有人(或什么东西)能影响OpenClaw的行为,他们就等同于拥有了你的访问权限。

一个说明问题的CVE漏洞

CVE-2026–25253,评分为CVSS 8.8(高危)。这个漏洞允许攻击者通过你的浏览器劫持网关。即使OpenClaw只绑定在本地主机上,这个漏洞也能被利用。你访问一个恶意网页,攻击者就能获得你智能体的操作员级别权限——包括在你的机器上执行任意命令的能力。

这个漏洞已经在2026.1.29版本中修复,但它揭示了一个根本性的挑战:OpenClaw的攻击面天生就很大。

令人警醒的数据

2026年1月的一项安全审计发现了512个漏洞,其中8个被归类为严重。卡巴斯基、微软、CrowdStrike、Wiz和JFrog在过去几周都发布了详细的安全分析报告。结论惊人地一致:OpenClaw应该被视为带有持久凭证的不可信代码执行。

微软安全博客在三天前直言不讳地指出:“它不适合在标准的个人或企业工作站上运行。”

技能市场的问题

ClawHub,OpenClaw的技能注册中心,托管了10,700多个社区构建的技能。安全研究员Paul McCarty在查看市场后两分钟内就发现了恶意软件。他仅从一个威胁行为者那里就识别出386个恶意软件包。数百个技能包含窃取加密货币的恶意软件。

这是npm/PyPI问题的放大版,因为这些技能是带着你的全部系统权限运行的。安装一个技能,就等于安装了一段特权代码。

项目创建者自己也知道

Peter Steinberger,OpenClaw的创造者,对此一直很坦诚。在项目的Discord中他说:“如果你连如何运行命令行都搞不明白,那这个项目对你来说就太危险了,无法安全使用。”

这是实话。但这也意味着,它的安全模型依赖于每个用户都是称职的系统管理员,会审查每个技能,锁定每个权限,理解每个配置选项。对于一个有21.5万星标的项目来说,这不现实。

我打算怎么做

如果我打算运行OpenClaw——我可能会,因为这个概念确实是我想要的——我会这样做:

  1. 1. 只用专用机器。 一台闲置的Mac Mini或者VPS。绝不放在我的主力工作站,绝不放在能接触客户数据的机器上。
  2. 2. 最小权限。 从只读权限开始。每日简报、消息摘要、笔记整理。不执行Shell、不写文件、不控制浏览器。逐步建立信任。
  3. 3. 未经审查,绝不安装社区技能。 不从ClawHub安装任何东西,除非先读过源代码。要么自己构建技能,要么只用官方技能。
  4. 4. 网络隔离。 放在Tailscale后面,绝不暴露在公网。网关只绑定在本地主机。
  5. 5. 替换记忆后端。 用Graphiti替换Markdown+SQLite。既能获得更好的记忆,又能自己控制数据存储。
  6. 6. 虔诚地运行 openclaw security audit --deep 每次配置更改后、每次安装技能后都运行。

正如一位安全研究员所说:“如果你把OpenClaw放进沙箱,剥夺它的危险能力,那你基本上就得到了一个多了几步操作的ChatGPT。”挑战在于如何在能力和风险之间找到正确的平衡。而现在,要达到这种平衡,需要比大多数用户正在付出的更多的谨慎。

结论

OpenClaw是我见过的野心最大的开源AI智能体项目。它的愿景——一个住在你聊天软件里、了解你、并能代表你行动的个人助理——完全正确。这正是我一直在用独立组件(用Graphiti做记忆,技能服务器做能力,Telegram做界面)努力构建的目标。

它的记忆系统很务实,但也有限。Markdown文件加混合搜索在短期内有效,但随着时间推移,事实会变,关系会丢失,混乱会累积。像Graphiti这样的时序知识图谱将是一个重大的升级——而且集成的路径很清晰。

安全问题真实存在。这不是来自竞争对手的恶意抹黑,而是来自卡巴斯基、微软、CrowdStrike和独立研究人员的一致发现,他们都指出了同样的问题。OpenClaw把通往你数字生活的钥匙交给了你的AI智能体,但门锁还不够坚固。

但事情正在向好的方向发展

2月7日,团队宣布与VirusTotal合作,扫描发布到ClawHub的每一个技能。现在所有技能都要经过哈希计算、通过VirusTotal的Code Insight(基于大模型的安全审查)进行行为分析,并每天重新扫描。恶意技能会被立即阻止,可疑的会被标记。他们还聘请了Jamieson O‘Reilly(Dvuln创始人,CREST咨询委员会成员)担任首席安全顾问,并且正在发布一个全面的威胁模型、一个公开的安全路线图,以及一次完整的代码库审计。

这够了吗?还不够。正如他们坦诚承认的那样:“这不是银弹。”提示注入不会触发病毒特征,一次干净的扫描也不意味着一个技能就是安全的。但方向是对的。纵深防御、专业的安全领导、对风险的透明化。这正是这样一个雄心勃勃的项目所需要的。

这是我的承诺:如果安全方面的进展能保持这个速度,我会投入时间,将Graphiti恰当地集成到OpenClaw中,让它成为我的个人助理。 一个由时序知识图谱驱动的、能永久记忆的、多平台的、就住在我的聊天软件里的AI智能体——这才是我一直努力的方向,而OpenClaw是目前最接近把这个愿景打包在一起的项目。

个人AI助手的未来,正是OpenClaw所承诺的。而现在,需要我们保持谨慎。但这是我第一次,对它的发展轨迹感到由衷的乐观。


感谢阅读!我是Elliott,一名Python和智能体AI方向的顾问和创业者。我每周都会写文章,分享我构建的智能体、背后的架构决策,以及那些在生产中真正有效的模式。

如果这篇深度分析对你有用,希望能得到你的点赞 👏 和关注。如果你已经在使用OpenClaw——尤其是用了自定义记忆后端的话——我很期待在评论区听到你的配置经验。