一款完全由 AI 开发的应用在 3 天内泄露了 150 万条记录:为防止此类事件需注意的 5 件事

@yagiryuuu
日语2026年9月10日
597K
466
30
2
1.5K

TL;DR

一个由 AI 构建的社交网络因缺失数据库规则和暴露了浏览器密钥,导致 150 万条记录泄露。作者分享了 5 个具体的提示,以确保 AI 工具的构建过程安全可靠。

今年 1 月,一个名为 "Moltbook" 的社交网络上线了。

这是一个不寻常的社交网络——只有 AI Agent 可以发帖,而且几乎完全由 AI 构建。这大概就是所谓的 "氛围编程"。

上线三天内,一名安全研究员就发现了一个问题:

"任何人都可以读取并重写这个应用数据库的内容。"

泄露的数据包括约 150 万个身份验证令牌、约 35,000 个电子邮件地址,以及数千条私密消息。

管理团队立即修复了这个问题,但在此之前,任何人都可以在数天内随意获取想要的数据。

我的工作是为公司内部 AI 工具的开发提供支持,并进行安全检查。

实际上,这个事件暴露出的漏洞,正是我在那些用 AI 构建内部工具的公司中最常见的问题。

以下是事件详情,以及防止此类事件发生在你身上的五个注意事项。

====

发生了什么

原因只有两个。

第一,数据库没有设置 "只能查看自己的数据" 的规则。

第二,用于连接数据库的密钥直接写在了浏览器端的代码中。

任何人只需打开开发者工具,就能看到写在浏览器中的密钥。

用这个密钥连接数据库,由于没有限制规则,所有数据都会被返回。

换句话说,无需通过应用界面,所有数据都通过后门暴露无遗。

AI 成功构建了一个 "能运行的应用"。

但是,它没有构建 "对他人隐藏数据" 的部分,因为没人要求它这么做。

这就是用 AI 构建应用时最大的陷阱。

====

1. "能登录" 和 "看不到别人的数据" 是两码事

开发应用时,几乎总会包含登录功能。

人们往往会想:"我已经加了登录功能,应该没问题了",但这是不对的。

登录是一个用来验证 "是谁" 的功能。

而 "这个人能看什么" 必须单独构建。

Moltbook 也有登录系统。

然而,登录之后,用户就能访问到其他人的数据。

检查方法很简单。

创建两个测试账号,用账号 A 登录,然后直接尝试打开账号 B 的数据 URL。

如果能看见,说明你已经暴露了。

以下是给 AI 的提示词:

"确保用户只能访问自己的数据。确保即使他们打开其他人的数据 URL,也无法看到。"

====

2. 在数据库端也设置 "只能查看自己的数据" 的规则

第一点讲的是应用端。

但是,像 Moltbook 那样,有人可能会绕过应用,通过后门直接连接数据库。

因此,你需要在数据库本身设置一条规则:"此人只能看到这一行数据"。

有了这条规则,即使密钥泄露,也无法获取其他人的数据。

近年来 AI 开发中常用的数据库服务都具备这个功能。

然而,它通常默认是关闭的。除非你要求,否则 AI 不会启用它。

以下是给 AI 的提示词:

"在所有数据库表上启用规则,使用户只能读取自己的数据行。"

====

3. 不要把密钥放在浏览器端

Moltbook 的另一个原因是密钥被写在了浏览器中。

一个应用包含 "在服务器端运行的代码" 和 "在浏览器端运行的代码"。

浏览器端的代码会完整地发送到用户的电脑上。换句话说,把密钥写在那里,就等于把它分发给了所有人

如何检查:打开开发者工具,搜索 "key"、"token" 或 "secret"。

如果出现一个看起来像密钥的长字符串,你就需要小心了。

以下是给 AI 的提示词:

"将密钥和密码严格保留在服务器端。切勿将它们包含在浏览器端的代码中。"

====

4. 在发布前,让 "另一个 AI" 扮演坏蛋角色

如果你问构建应用的 AI:"它安全吗?",它会说 "安全"。因为这是它自己构建的。

因此,你应该让一个不同于开发所用的 AI 从攻击者的角度来审查它。

问它:"如果你要入侵这个应用,你会从哪里入手?"

当我用这个方法检查客户的工具时,他们自己没注意到的漏洞会大量涌现。

Moltbook 的两个漏洞,通常用这个问题就能发现。

以下是给 AI 的提示词:

"你是一个攻击者。列出所有能在这个应用中查看他人数据的方法。如果发现了,也请提供修复方案。"

====

5. 一旦发布,记录 "谁看了什么",并在第一周每天检查

Moltbook 之所以被修复,是因为外部研究员发现并联系了他们。

他们自己并没有注意到这个问题。

对于内部工具,没有人会主动联系你。

因此,要记录 "谁在什么时候登录,查看了什么数据"。

然后在发布后的第一周,每天检查这些记录。

未知的访问来源、深夜的大量访问、或者某个人打开了所有人的数据。

通过查看记录,你可以立刻发现这些情况。

以下是给 AI 的提示词:

"记录谁在什么时间访问了什么数据。但是,不要在日志中写入密码或个人身份信息。"

====

总结

用一句话总结 Moltbook 事件:

"AI 会构建你要求它构建的东西,但它不会构建你没要求它构建的东西。"

在制作内部工具时,我们会说 "我想要这样的功能"。

但我们不会说 "不要给别人看" 或 "不要把密钥放在浏览器里"。

因为我们没说,所以它就不会被包含进去。

反过来,这五件事,只需给 AI 加上一句话就能全部包含进去。

首先,试着用你当前正在运行的工具创建两个测试账号,然后打开另一个人的数据 URL。

仅仅这样做,就能让你知道你的工具是否存在与 Moltbook 相同的漏洞。

====

最后,发布一个通知。

我们公司提供一项服务,为您的公司从零开始开发针对特定任务的 AI Agent。

不是培训或工具介绍,而是与您沟通实际业务工作流,直接交付 "明天就能用" 的成品。我们提供从上线后的改进到内部开发的全流程持续支持。

我们还提供一项服务,由工程师陪同检查内部 AI 工具的安全性和运行情况,并负责后续的维护和修改。一个关键特点是,我们不会在构建完成后就结束,而是根据本文中五个要点的视角,建立一个 "持续保护体系"。

如果您是企业的所有者或管理者,并且认为 "我们的工具,如果别人打开另一个人的 URL,可能会显示数据",请让我们与您聊聊。

初次咨询免费,我们可以当场为您演示本文中介绍的从攻击者视角进行的检查。由于我们可以从共同梳理您系统的薄弱环节开始,请随时通过私信或 LINE 联系我们。

直接说 "AI" 就可以了↓

LINE: https://line-harness.r-yagi.workers.dev/r/x

一键保存

使用 YouMind AI 深度阅读爆款文章

保存原文、追问细节、总结观点,并在一个 AI 工作空间里把爆款文章沉淀成可复用笔记。

了解 YouMind
写给创作者

把你的 Markdown 变成干净的 𝕏 文章

图片上传、表格、代码块,往 𝕏 上手动重排太痛苦。YouMind 把整篇 Markdown 一键转成干净、可直接发布的 𝕏 文章草稿。

试试 Markdown 转 𝕏

更多可拆解样本

近期爆款文章

探索更多爆款文章