# 氛围编程把应用和漏洞一起发了出去

一个叫 Moltbook 的 AI 社交网络在一月份上线，创始人得意地宣称自己『一行代码都没写』。三天后，研究人员发现它的整个数据库对全世界敞开着——150 万个认证令牌、3.5 万个邮箱、私信，全都裸奔在外。这不是什么离奇意外。研究一次又一次发现，大约 45% 的 AI 生成代码带着已知漏洞发了出去。演示现在免费了，但安全审查仍然是你没法靠氛围糊弄过去的那一步——而跳过它的账单，得由别人的数据来付。

- **Author:** Fedor Chishchin
- **Published:** 2026-06-06
- **Tags:** security, methodology, ai-native
- **Source:** https://fedorthinks.com/zh/blog/vibe-coding-ships-the-breach

---

一月份，一个叫 Moltbook 的 AI 社交网络上线了，引来一阵热议。它的创始人把那句本该藏着的话直接说了出来：他
["一行代码都没写,"](https://www.infosecurity-magazine.com/news/moltbook-exposes-user-data-api/)
整个东西都是用 AI 工具搭出来的。三天后，Wiz 的研究人员发现，整个生产数据库就那么挂在公网上——**150 万个 API 认证令牌、3.5 万个邮箱地址，还有用户的私信，** 谁去看一眼都能读到。

原因简直直白得过分。AI 生成的代码把数据库密钥直接放进了浏览器端的 JavaScript 里，而且从没开过行级安全（row-level security）——就是那个能把这把密钥从万能钥匙变成一张无害标签的设置。开了它，密钥暴露也没事；不开它，这把密钥就是一扇被人撑开的大门。这个智能体写出的代码在演示里能跑，到了生产环境却门户大开，而没有人去核对这中间的差别。

Moltbook 不是个意外。它是一个大得多的问题的必然形态。如果你正在发布 AI 写的代码，值得搞清楚它为什么会*一再*发生。

## 没人想放进幻灯片里的那个数字

这方面的研究结论惊人地一致，而且很难看。Veracode 的测试发现，
[大约 45% 的 AI 生成代码引入了一个已知的 OWASP 漏洞](https://www.veracode.com/blog/spring-2026-genai-code-security/)——
更要命的是，在号称翻天覆地的两年模型升级里，安全通过率一直平躺在大约 55%。模型写代码越来越聪明，却没有变得更安全。

接下来还在层层叠加。独立分析发现，AI 产出的代码带着
[比人类写的代码高 2.74 倍的漏洞率](https://www.softwareseni.com/ai-generated-code-security-risks-why-vulnerabilities-increase-2-74x-and-how-to-prevent-them/)，
有 86% 的情况挡不住跨站脚本攻击，88% 的样本对日志注入毫无防御。而且它已经在真实世界里冒头了：光是三月份，佐治亚理工的 Vibe Security Radar 就
[记录了 35 个直接由 AI 生成代码造成的新 CVE，而一月份只有 6 个](https://thenewstack.io/vibe-coding-could-cause-catastrophic-explosions-in-2026/)。
漏洞曲线正在以很快的速度朝错误的方向弯过去。

## 为什么模型默认就会写出不安全的代码

这不是模型笨。这是模型在不折不扣地照你说的做。

你告诉一个智能体「给我搭个注册表单」，它就做了——它让这个表单能用。安全不在你的要求里，所以也不在它的输出里。模型只为你在演示里能看到的那个东西做优化：正确的用户做正确的事的那条顺畅路径。它对那条不顺畅的路径毫无直觉，因为那条路径是看不见的。没有人会*在看演示的时候*去读另一个用户的数据、注入脚本、或者猛敲接口。攻击者是之后才干这些的，趁你没盯着的时候。

这就是整个陷阱。氛围编程最不擅长的那部分软件，恰恰就是不会出现在演示里的那部分——而安全*全部*都是不顺畅的路径。同一种逻辑被反写的认证 bug 出现在了
[170 多个生产应用](https://modall.ca/blog/vibe-coding-security-risks)里：
AI 写出的访问控制把已登录用户挡在外面，却给匿名访客开了全部权限。它在演示里跑得好好的，因为测试它的创始人是登录状态。这个洞只对那个没登录的人敞开。

## 安全是你没法靠氛围糊弄的那道审查

我写过
[便宜的代码很贵](/blog/cheap-code-is-expensive)——AI 代码的成本不会凭空消失，它只是顺流而下，转移给了维护它的人。安全是这张账单里最尖锐的版本，因为它不是由你来付。它由你的用户来付，用他们泄露的数据，而且一次性全砸下来。

这些都不意味着别用 AI 来搭东西。我每天都在用智能体搭东西。它意味着的是：生成这一步和验证这一步是两份不同的活，而 AI 只把第一步压缩掉了。一些不可商量的底线，是我看着别人用难的方式学会、自己却用容易的方式捡来的：

- **假设智能体放下的每一个密钥都在错误的位置，直到你亲眼看过。** Moltbook 那把放在客户端 JavaScript 里的密钥，是最常见的那种失误。用 grep 把密钥找出来，挪到服务器端去。
- **把平台早就给你的那些无聊护栏打开。** Moltbook 之所以完蛋，是因为[行级安全](/blog/agents-need-boring-databases)没开。保护本来就在那儿，智能体只是没启用它。默认值是你的朋友——把它们打开。
- **故意去测那条不顺畅的路径。** 登出，然后试着去读数据。发错误的输入。当十分钟攻击者，因为模型永远不会。
- **发布前跑一遍真正的扫描器。** 一次静态分析就能逮住那整整 45% 的无聊货——硬编码的密钥、缺失的校验、经典的注入——智能体兴高采烈写下的那些东西。

## 老实说的那个框架

氛围编程确实让搭一个应用变得几乎免费了。它*没有*让免费的，是让那个应用安全到能放别人的数据进去——而这两件事之间的差距，从来没有这么大过。演示是容易的那 80%。漏洞活在没有任何演示会给你看的那 20% 里。

所以快点发，当然可以。但在真实用户碰到它之前，花上那不光彩的一个小时，当一回你自己的攻击者。Moltbook 的创始人跳过了那一个小时，结果以世上最糟糕的理由上了头条。那一个小时很便宜，漏洞不便宜。
