AI 落地判断

我拆解了一个开源AI编程代理的源码,发现了三个传统行业做AI最该关注的安全设计

深度拆解 ZoroCoding 源码后,最让我意外的不是它怎么调大模型——而是文件身份锁定、命令沙箱执行、物理离线存储这三个安全设计。这不是技术问题,是信任问题。

AIAgent安全开源传统行业源码拆解

我最近深度拆解了一个开源的 AI 编程代理项目(叫 ZoroCoding,MIT 协议)。代码从头读到尾,最让我意外的不是它怎么调用大模型——那部分谁都会。让我停下来反复琢磨的,是它在安全设计上做的三件事。

这三件事,跟「写代码」关系不大,但跟「传统行业能不能放心把业务交给 AI」关系极大。


第一件事:AI 读文件之前,先"锁定身份"

想象一个场景:你让 AI 帮你整理一份合同。AI 说"好,我去读取项目里的合同文件"。但就在它读文件的前一秒,有人把那个文件替换成了一个符号链接,指向你电脑上的 SSH 私钥。

普通程序会直接读——它只检查了文件路径,没检查"这个文件还是不是原来那个"。

ZoroCoding 的做法是三层验证:

  1. 读之前:记录文件的设备号 + inode 号(文件系统的"身份证")
  2. 读过程中:用 O_NOFOLLOW 标志打开文件(拒绝跟随符号链接)
  3. 读完之后:再验证一次设备号 + inode 号,确认中间没有被替换

这三步合在一起,专业术语叫 TOCTOU 防护(Time-of-check-time-of-use)。翻译成大白话:"我说的这个文件,必须从头到尾是同一个文件。你想半路偷换?没门。"

这不是教科书上的概念。这是被攻击过、或者审计过别人系统的人,才会在代码里埋的防御。

对一个传统行业的老板来说,这意味着什么?意味着如果你用这套架构来构建自己的 AI 工具,你的客户数据不会被"偷梁换柱"。


第二件事:让 AI 在"笼子"里运行命令

AI Agent 跟聊天机器人的本质区别是:Agent 会执行操作。它不只是说话,它会读写文件、运行命令。

这就带来了一个核心问题:你怎么保证 AI 不会把你的系统搞崩?

ZoroCoding 的做法分两层。

第一层:命令白名单。 不是什么命令都放行。只有项目内的常规开发命令自动执行——比如 npm test、git status。任何涉及 sudo、rm -rf、磁盘操作、全局安装的命令,一律弹窗让用户确认。

第二层:沙箱执行。 在 macOS 上,它用系统自带的 sandbox-exec 给 AI 的命令画了一个笼子:只允许读写项目目录和临时目录,禁止访问系统文件,禁止访问网络。AI 想偷偷发数据到外部服务器?网络直接给你断了。

这在开源 AI 编程工具里极为罕见。大部分工具的做法是"相信 AI 不乱来"——或者更诚实的说法是"我们没做"。

对于传统行业来说,这意味着:你可以让 AI 帮你做事,但它的"行动范围"是你事先划好的。这不是不信任 AI——这是不让任何工具拥有超出它职责范围的权限。


第三件事:拔了硬盘,一切安全停止

ZoroCoding 有一个我一开始没看懂的设计:它必须从移动硬盘启动。

不是"支持"移动硬盘,是必须。你把应用复制到 Mac 内置硬盘上,它不工作。

后来我想明白了:这不是技术限制,是安全设计。

整个应用的数据——数据库、加密后的 API Key、项目文件、任务日志——全部保存在移动硬盘上。应用进程实时监控这个硬盘的状态。一旦检测到硬盘被拔出:

  • 正在进行的 AI 模型请求 → 立即中止
  • 正在运行的文件操作和终端命令 → 立即中止
  • 数据库写入 → 锁定,拒绝任何修改
  • 所有在内存里的密钥引用 → 失效

即使你把同一块硬盘重新插回去,应用也要求重启并重新验证存储位置。

这个设计的潜台词是:"如果存储不在你手里,就不该有任何人能访问你的数据。"

对个人用户,这意味着你拔了硬盘、装进口袋,你的 AI 工作环境就物理离线了。

对企业用户,这意味着合规审计的时候,你可以说:"我们的 AI 数据存储在物理可移除介质上,断开即不可访问。"

这是一种从硬件层面解决问题的思路——跟互联网公司"把所有数据放云端加密"的思路正好相反。


传统行业做 AI,安全不是技术问题,是信任问题

我在装修行业干了 17 年。工地上最头疼的问题从来不是"有没有好材料",而是"信息对不对齐、责任落没落地、每个人愿不愿意面对事实"。

AI 也一样。技术能力只是底线。真正决定一个企业敢不敢把核心业务交给 AI 的,是信任。

而信任不是靠 PPT 讲出来的,是靠这些藏在代码里的设计决策堆出来的:

  • 你要读文件?先证明它没被替换。
  • 你要运行命令?先确认它在允许范围内。
  • 你问我数据在哪?在你手里的硬盘上,拔了就没。

这就是我拆解 ZoroCoding 源码之后最大的感受。


这篇文章是我拆解开源 AI Agent 项目源码系列的第一篇。我正在探索如何把这种级别的 AI Agent 能力带给传统行业的个人 IP 和企业。如果你在自己的业务里有类似的场景想聊聊,欢迎联系我。

Zeno 头像Z

Zeno · 赞诺

16 年装修从业经历,从工地和客户沟通中走出来。 现在用 AI 把一线经验整理成普通人也能用的判断系统——不追热点,只讲真实。

下一步

拿不准下一步该做什么?

不是你的问题——装修这件事本来就不该靠运气。直接告诉我你的情况,我帮你看下一步该做什么。

读完这篇,你还可以

继续阅读

AI 落地判断

AI是我的助手,不是我的替身——用AI两年后的边界感

2026年6月21日