Moltbook 泄露事件:当氛围编程变成安全噩梦
安全

Moltbook 泄露事件:当氛围编程变成安全噩梦

Moltbook 泄露事件暴露了 150 万 API 密钥,原因是一个氛围编码平台在客户端 JavaScript 中硬编码了 Supabase 凭据。以下是出错原因、影响及如何保护您的 AI 生成代码。

由 GetFree 团队·2026 年 2 月 19 日·5 分钟阅读

Moltbook 泄露事件:当氛围编程变成安全噩梦

Moltbook到底发生了什么?

让我详细拆解哪里出了错,因为细节很重要。

Moltbook使用Supabase构建——一个流行的开源Firebase替代方案,提供托管的PostgreSQL数据库。Supabase已成为vibe编码应用的首选后端,因为它只需最少配置即可处理认证、数据库和存储。

问题在于有人(或某个 AI)将 Supabase API 密钥直接放在了客户端 JavaScript 代码中。这是一个根本性的安全错误。API 密钥属于服务器,永远不应出现在用户浏览器中运行的代码中。

但情况变得更糟。

该 API 密钥拥有对整个数据库的完全读写权限。而 Moltbook 并未启用行级安全(RLS)——Supabase 的一项功能,控制谁能访问什么数据。RLS 就像安全带一样不可或缺。你可能觉得不需要它,直到出事那一刻。

Wiz 的安全研究人员在查看网站几分钟内就发现了暴露的密钥。他们本可以:

  • 下载了所有 150 万个 API 密钥(包括 OpenAI、Anthropic 和其他 AI 提供商的密钥)
  • 访问了 AI 代理之间的私密消息
  • 修改或删除了数据库中的任何数据
  • 劫持任意用户账户
  • 使用窃取的 API 密钥产生巨额账单

最关键的是:创始人承认他“完全用氛围编程(vibe-coded)”了整个平台。没有代码审查,没有安全审计,只是向 AI 发送提示词然后复制粘贴结果。

为什么这事反复发生

这个故事令人沮丧的地方在于:它并非个例。

还记得 DeepSeek 的 API 密钥泄露吗?或者 Base44?这种模式不断重复,因为 vibe coding 哲学积极阻止那些能防止这些漏洞的做法。

氛围编码的核心理念是:快速行动,聚焦成果,不纠结细节。它令人着迷是因为——说实话——它对构建原型确实有效。你可以在几小时内搭建出一个可运行的应用。

但生产应用生活在不同的世界。它们处理真实用户数据、真实支付、真实安全威胁。那种帮助你周末推出原型的心态,会让你的生产应用在第一天就被黑客攻击。

我与一位专注于 AI 生成代码的安全研究员交谈。以下让他夜不能寐的事情:

  • 不懂发生了什么:当你提示 AI "构建登录系统",得到的代码看起来像登录系统,但可能藏着只有专家能发现的微妙缺陷
  • 信任AI:用户认为AI生成的代码是安全的,因为……它是AI生成的?这种假设完全错误
  • 缺失基础:Vibe 编码者通常不知道他们不懂什么关于安全的知识

45% 的问题

给你一个可能会让你夜不能寐的数字:45%。

根据 Veracode 对 AI 生成软件安全性的研究,[1]有该比例的 AI 生成代码包含安全漏洞。

这不是关于糟糕的 AI 模型或不称职的开发者。而是关于代码生成的基本性质。AI 模型在现有代码上训练——其中包括不安全的代码。它们会复制所见模式,包括易受攻击的模式。

AI 生成代码中的常见漏洞包括:

漏洞它的含义真实影响
SQL 注入攻击者可运行恶意数据库命令完全接管数据库
XSS(跨站脚本攻击)攻击者可以注入恶意脚本会话劫持,数据窃取
硬编码密钥API密钥、密码在代码中账户接管、账单虚高
缺失输入验证不检查用户输入注入攻击、崩溃
身份验证不安全登录实现薄弱未授权访问

Moltbook泄露实际上是两个问题:硬编码API密钥(硬编码密钥)和缺失RLS(不安全配置)。任何一个单独都会很糟。两者结合在一起造成了灾难。

没人告诉你关于氛围编程的事

实话实说。我用氛围编程做过不少项目。确实改变了我构建产品的方式。但我也吃过不少亏,才学到一些惨痛教训。

你仍然需要了解安全

这是一个令人不适的真相:如果您不懂安全,就无法用 AI 工具构建安全的应用。AI 不知道您的威胁模型,不知道您在保护什么资产,它只是生成看起来合理的代码。

你不需要成为安全专家。但你确实需要了解:

  • 永远不要在客户端代码中放置密钥
  • 始终在数据库上启用行级安全
  • 使用环境变量存储敏感配置
  • 实施正确的输入验证
  • 对生成代码运行安全扫描

快速原型,然后工程化

我目前的工作流程:

  • 用 Vibe code 编写原型——先做出能用的东西,用真实用户验证想法
  • 验证产品市场契合度——在投入任何资源前
  • 重构以投入生产——这是您真正构建安全性、性能和可维护性的工程阶段

错误在于将vibe-coded原型直接发布到生产环境而没有重构步骤。您不是在节省时间——您是在积累技术债务,以后会付出代价。

使用正确的工具做正确的事

这可能颇具争议,但我不认为vibe coding适合:

  • 处理敏感用户数据的应用(医疗、金融)
  • 处理支付的系统
  • 任何有合规要求的应用
  • 安全故障可能造成实际伤害的应用程序

对于内部工具、MVP 和原型?随意发挥。对于处理真实用户数据的生产系统?请正确地进行工程设计。

如何保护自己

如果你已经在做 vibe coding(而且说实话,你应该做——它非常强大),以下是如何避免成为下一个头条新闻:

给你的 Supabase/后端

javascript
// WRONG - Never do this const supabase = createClient('https://xxx.supabase.co', 'YOUR_ANON_KEY_HERE') // Your service_role key is also exposed here! // CORRECT - Use environment variables, server-side only const supabase = createClient( process.env.SUPABASE_URL, process.env.SUPABASE_ANON_KEY )

基本安全检查表

  • [ ] 在所有数据库表上启用行级安全性
  • [ ] 将 API 密钥存储在环境变量中,切勿放在代码中
  • [ ] 对所有生成的代码运行安全扫描(Snyk、CodeQL 或 GitHub Advanced Security)
  • [ ] 切勿向客户端暴露 service_role 密钥
  • [ ] 在所有用户输入上实施适当的输入验证
  • [ ] 设置速率限制以防止滥用
  • [ ] 在面向真实用户之前进行渗透测试

辅助工具

工具功能介绍免费层级
Snyk代码安全扫描是
GitHub Advanced Security漏洞检测支持(针对仓库)
StackHawkAPI安全测试是
Dependabot依赖漏洞是

对行业的意义

我真的担心我们的走向。

我们正处于软件构建方式的巨大转变之中。非技术创始人现在可以创建复杂的应用。入门门槛已经坍塌。这确实令人兴奋。

但我们也在创造一代无人监管的应用程序。

我认为需要发生以下情况:

  • AI 编码工具需要更好的安全默认设置——停止生成带有漏洞的代码
  • 社区需要更多地讨论这个问题 — 每一篇关于 vibe coding 的博客文章都应该提及安全性
  • 我们需要更好的工具 —— 自动化安全扫描应该内置到每个 AI 编码工作流中
  • 创始人必须担责 — 出事不能怪 AI

软件开发的未来不是要在 AI 速度和安全之间做出选择。而是学会将两者结合使用。

常见问题

AI 工具能修复他们的安全问题吗?

它们可以并且正在改进。但 AI 模型在现有代码上训练——其中包括不安全的代码。它们基本上是在从整个人类软件库中学习坏习惯。我们开始看到专门在安全代码上训练的模型,但我们还没有达到那个阶段。

AI 工具能修复他们的安全问题吗?

配置得当 Supabase 没问题。问题不在 Supabase —— 在 Moltbook 的配置缺失。Supabase 有优秀安全特性(如行级安全)。问题是氛围编程导致跳过这些特性。

Supabase 不安全吗?

绝对不是。这是一种非常强大的构建和迭代方式。只需理解 "vibe coded" 不是安全失败的借口。快速原型,验证您的想法,然后为生产进行工程设计。

我应该停止vibe coding吗?

传统开发配合安全优先实践。或者:学习足够知识以自行审查 AI 生成的代码。或者:聘请他人在发布前进行安全审计。或者:使用具有强大安全默认设置的工具和框架。

氛围编码的替代方案是什么?

底线总结

Moltbook 并非个例。这是未来的预演。

随着更多创始人在不理解安全基础的情况下发布氛围编码应用,我们将看到更多泄露。更多API密钥泄露。更多数据库暴露。更多受害者。

这不是反对氛围编码的论点。这是关于诚实面对其局限性的论点。

快速发布。测试想法。快速行动。但在将真实用户数据置于风险之前,慢下来做好安全工作。你的用户正在信任你保护他们的信息。这种信任不应该被 vibe coding 掉。

相关文章

准备好安全地发布您的应用了吗?在 GetFree 上列出您的应用 — 一个精选目录,开发者在此与数千名精准测试人员分享促销代码和测试版访问权限。

来源

最初发布在 GetFree.APP 博客——最后更新:2026 年 2 月 17 日

喜欢这篇文章?分享给他人!

分享:

准备好发现神奇的应用了吗?

在 GetFree.APP 寻找并分享最佳免费 iOS 应用

开始使用