Vibe coding 安全检查清单应该包含什么?
Vibe coding 安全检查清单包含四组共十二项检查:数据规则与访问、密钥与机密、支付与滥用、部署与维护。下面每一项都只需要一个浏览器和托管后台,大约五分钟就能测完。Aibrify 把整份清单做成 $300 的安全检查,两天完成,发现的每项问题按 $100 或 $300 固定报价。
Vibe coding 安全检查清单列出的是用 Lovable、Cursor、Bolt 或 Replit 生成的应用在上线前必须做对的设置和代码路径。清单覆盖谁能读数据、密钥放在哪里、支付如何验证,以及数据丢失时会发生什么。
这份清单存在的原因是公开扫描反复发现同样的漏洞。Matt Palmer 2025 年 3 月的扫描覆盖 1,645 个 Lovable 项目,发现 170 个数据表可被读取,约占 10.3%。Escape 在 2025 年 10 月扫描了 5,600 个已发布应用,发现超过 2,000 个漏洞、400 个以上暴露的密钥和 175 处个人数据。
Aibrify 是洛杉矶的软件工作室,修复并维护用这些工具生成的应用。$300 的安全检查两天内覆盖整个应用:暴露的密钥、缺失的登录校验或数据库规则、未受保护的付费接口。每项发现都附固定报价,简单修复 $100,跨系统的修复 $300。
下面十二项检查各自说明查什么、五分钟怎么测、修一下多少钱。修复价格指南介绍诊断和重建的价格。
为什么用 Lovable、Cursor、Bolt、Replit 生成的应用上线前需要安全检查?
生成的应用需要安全检查,因为工具产出的是能用的功能,防护留给了老板。Wiz Research 在 2025 年 9 月描述了四种反复出现的漏洞。它们是:在浏览器里处理登录、密钥写在客户端代码里、数据库表对所有人敞开,以及内部工具没有登录就公开发布。
Tenzai 在 2025 年 12 月测试了用五种编码工具生成的 15 个应用,发现 69 个漏洞。15 个应用没有一个具备跨站请求伪造防护,也没有一个设置了 HSTS 或内容安全策略之类的安全响应头。
密钥在源头就在泄露。GitGuardian 统计,2025 年公开 GitHub 提交中新增了 2,865 万个硬编码密钥,比上一年增加 34%。用某款编码助手做的提交泄露密钥的比例是 3.2%,而整体基线是 1.5%。
Lovable 自己的安全文档把配置错误的 RLS 规则称为数据泄露的常见原因,并说明其扫描不能保证完全安全。清单背后的标准是 OWASP Top 10 2025 版,它把访问控制失效排在第一位。这一版的数据来自超过 280 万个应用。
IBM 2026 年报告给出的全球数据泄露平均成本是 $4,990,000,创历史新高,比上一年高 12%。十二项测试本身只花一个小时。

上图显示四次扫描的四个发现,样本各不相同;下表给出样本和来源。
| 发现 | 比例 | 样本 | 来源 |
|---|---|---|---|
| 没有 CSRF 防护的测试应用 | 100% | 用五种编码工具生成的 15 个应用 | Tenzai,2025 年 12 月测试 |
| 至少泄露一个密钥的已发布站点 | 20% | 13 个平台上约 130,000 个站点 | RedHunt Labs,2025 年 9 月 |
| 数据表可被读取的 Lovable 项目 | 10.3% | 1,645 个项目 | Matt Palmer,2025 年 3 月扫描 |
| 用编码助手做的提交中泄露密钥的 | 3.2% | 2025 年公开 GitHub 提交,基线 1.5% | GitGuardian,2026 年 3 月 |
Vibe coding 应用的 12 项安全检查是什么?
十二项检查按攻击者会尝试的顺序排列:先数据,再密钥,再钱,最后是恢复能力。
数据规则与访问(第 1 到 4 项)
1. 每张暴露的表都开启了行级安全。
- 查什么:数据库后台里每张表的 RLS 标记。Supabase 的行级安全指南说明,开启 RLS 后,在建立策略之前,公开密钥读不到任何数据。
- 五分钟测试:退出登录,打开浏览器的网络面板,复制一条访问表接口的请求,去掉 authorization 请求头再发送一次。有数据返回就是不通过;这正是 Matt Palmer 声明里找出 170 个暴露项目的方法。
- 修复:一组表 $100,需要重做数据权限时 $300。
2. 密码校验在服务器上,而不是在浏览器里。
- 查什么:任何在前端代码里比对密码的页面。Wiz Research 发现有应用把整个登录过程放在客户端完成,根本不联系后端。
- 五分钟测试:退出登录后在无痕窗口打开一个受保护页面的地址,再在页面源码里搜索"password"。页面能打开,或者源码里存着密码,都是不通过。
- 修复:$300,因为登录横跨前端、服务器和数据库。
3. 一个顾客打不开另一个顾客的记录。
- 查什么:地址或请求里带 ID 的记录,比如订单号或发票号。访问控制失效是 OWASP Top 10 2025 版的第一项 A01。
- 五分钟测试:用一个测试顾客登录,打开一条记录,把地址或请求里的 ID 改成另一个数字。出现第二个顾客的数据就是不通过。
- 修复:某一页检查错了对象 $100,规则需要跨表重做 $300。
4. 管理页和内部页面需要登录。
- 查什么:随应用一起发布的后台、测试副本和内部工具。Wiz 报告有很多这类工具在公网上不用认证就能访问。
- 五分钟测试:在无痕窗口打开 /admin、/dashboard 以及搭建者提到过的任何内部地址。任何渲染出数据的页面都是不通过。
- 修复:$100,把页面放到现有登录之后。
密钥与机密(第 5、6 项)
5. 前端和代码仓库里没有任何机密密钥。
- 查什么:粘贴进组件的服务商密钥,或者从浏览器里使用的数据库机密密钥。Supabase 的密钥指南说得很直接:机密密钥绕过所有 RLS 策略,所以绝不能进入浏览器、发布的应用或源码管理。
- 五分钟测试:打开已发布的 JavaScript,搜索"service_role"、"sk_live"、"sk-"以及每个在用服务商的密钥前缀。再搜索仓库历史里的 .env;任何命中都是不通过,密钥当天轮换。
- 修复:$100,把调用移到服务器函数后面并轮换密钥。
6. 每个第三方密钥都有消费上限和用量提醒。
- 查什么:按用量计费的模型、地图、邮件和短信服务商。Palmer 的扫描发现暴露的密钥可能造成意外花费,OWASP 的 API 安全清单把缺少消费限额算作漏洞。
- 五分钟测试:打开每个服务商的账单页,确认有月度上限和提醒地址。没有上限就是不通过,哪怕密钥藏得很好。
- 修复:上限由老板自己设置;把调用移到服务器端并加限额是一次 $100 的修复。
支付与滥用(第 7 到 9 项)
7. 支付 webhook 经过验证。
- 查什么:接收支付事件的路由,以及它是否校验签名。Stripe 的 webhook 指南警告,不做验证,攻击者就能发送伪造事件,让订单发货或获得账户权限。
- 五分钟测试:从终端向 webhook 地址发送一个空的 POST 请求。返回 200 是不通过;返回 400 并提示签名错误是通过。
- 修复:$300,支付属于复杂修复。
8. 价格和金额在服务器上设定。
- 查什么:从浏览器传到支付服务商的金额。Stripe 的快速入门在服务器上创建结账会话,因为机密密钥不能暴露在客户端代码里。
- 五分钟测试:在网络面板里把结账请求的金额改成 1 再发送。更便宜的扣款成功就是不通过。
- 修复:$300,两项都不通过时与第 7 项合并处理。
9. 登录和公开表单有速率限制。
- 查什么:登录尝试、密码重置和公开表单的限制。Supabase 的认证速率限制默认是每五分钟 30 次登录请求,内置邮件服务每小时 2 封邮件。
- 五分钟测试:用脚本或手工把注册或联系表单提交 40 次。每一次提交都进了数据库就是不通过。
- 修复:$100,给公开表单加限制和验证挑战。
部署与维护(第 10 到 12 项)
10. 强制 HTTPS 并设置了安全响应头。
- 查什么:告诉浏览器只用 HTTPS 的 Strict-Transport-Security 响应头,以及内容安全策略。Tenzai 发现 15 个测试应用没有一个设置了 CSP、X-Frame-Options、HSTS 或 X-Content-Type-Options。
- 五分钟测试:把地址放进免费的响应头扫描器,或者在网络面板里读响应头。缺少 HSTS 就是不通过。
- 修复:$100,在托管层加上响应头。
11. 依赖库没有已知漏洞。
- 查什么:依赖包清单及其最后更新日期。Lovable 自带的扫描会审计依赖的已知漏洞,npm audit 在仓库里做同样的事。
- 五分钟测试:在仓库里运行 npm audit,或者运行工具内置的安全扫描。任何高危或严重级别的发现都是不通过。
- 修复:一次 $100;每月 $49 的 Care 方案持续更新依赖和安全补丁。
12. 有备份,且生产数据与测试数据分离。
- 查什么:备份计划,以及一个搭建者在开发会话里碰不到的数据库。Supabase 的备份指南给 Pro 项目七天的每日备份,并要求免费档项目自行导出数据。
- 五分钟测试:找到最近一次备份的日期,把它恢复到一个副本里。没有备份,或者恢复失败,都是不通过。
- 修复:$100,开启备份并拆分环境。
这份清单要花多长时间,修复要多少钱?
十二项测试总共大约一小时,十二项修复里有七项是 Aibrify 的 $100 简单修复。剩下五项里,两项按规则需要重做的程度收 $100 或 $300。另外三项因为涉及登录或支付收 $300。

上图列出全部十二项检查;下表以文字重复。
| # | 检查 | 五分钟测试 | Aibrify 修复价 |
|---|---|---|---|
| 1 | 每张暴露的表都开了 RLS | 去掉 authorization 请求头重发一条表请求 | $100;权限需要重做时 $300 |
| 2 | 密码在服务器上校验 | 退出登录后打开受保护地址;在源码里搜索"password" | $300 |
| 3 | 访问不到别的顾客的记录 | 改一条记录请求里的 ID | $100 或 $300 |
| 4 | 管理页在登录之后 | 在无痕窗口打开 /admin 和 /dashboard | $100 |
| 5 | 前端和仓库里没有机密密钥 | 在已发布的 JavaScript 和仓库历史里搜索密钥前缀 | $100 加密钥轮换 |
| 6 | 每个第三方密钥有消费上限 | 在每个账单页确认上限和提醒 | 上限由老板设置;移到服务器端 $100 |
| 7 | 支付 webhook 经过验证 | 发送空 POST;应返回 400 | $300 |
| 8 | 金额在服务器上设定 | 修改结账请求里的金额 | $300 |
| 9 | 登录和表单有速率限制 | 把表单提交 40 次 | $100 |
| 10 | 强制 HTTPS,设置安全响应头 | 读响应头或运行响应头扫描器 | $100 |
| 11 | 依赖库没有已知漏洞 | 运行 npm audit 或内置扫描 | $100;每月 $49 的 Care 持续更新 |
| 12 | 有备份,生产数据分离 | 把最近一次备份恢复到副本 | $100 |

环形图显示十二项检查在四组之间的分布,下表给出数量。
| 组 | 检查项 | 占清单比例 |
|---|---|---|
| 数据规则与访问 | 4 项(第 1 到 4 项) | 33% |
| 密钥与机密 | 2 项(第 5、6 项) | 17% |
| 支付与滥用 | 3 项(第 7 到 9 项) | 25% |
| 部署与维护 | 3 项(第 10 到 12 项) | 25% |
清单的三分之一是访问控制,这与它在 OWASP 排名中的第一位相符。
检查之后,每月 $49 的 Care 方案让第 11 和 12 项每个月都保持通过。它把托管、监控、备份与依赖和安全更新打包在一起,含一次不超过一小时的改动和两个工作日内响应。Care Plus 每月 $149,增加每月四小时的修改、下一个工作日响应,并处理第三方接口变更。
什么时候安全检查是不必要的购买?
三类应用不需要付费检查。它们是:没有登录、没有数据的宣传页站点;只有测试数据的原型;以及诊断已经建议重建的应用。
没有登录、没有数据的宣传页站点。第 10 和 11 项仍然适用,而且两项都可以免费测;清单上其余各项没有可保护的东西。$390 建站费加每月 $5 的 Lite 网站就是为这类站点准备的产品,见网站页面。
只有测试数据的原型。免费的测试照做,但钱应该花在真正开发前的需求说明上。新开发的书面范围可以把这十二项检查写成验收标准。
诊断已建议重建的应用。登录、支付和数据规则全都坏了的时候,$300 的检查只会给出没人会买的修复报价。修复价格指南说明什么时候 $5,000 起的重建胜过一串修复。所有权指南说明成果归谁。
常见问题
什么是 vibe coding 安全检查清单?
Vibe coding 安全检查清单是一份十二项的清单,列出生成应用在接待真实顾客之前需要核实的设置和代码路径。检查分四组:数据规则与访问、密钥与机密、支付与滥用、部署与维护。每项大约五分钟就能测完。
用 Lovable、Bolt、Cursor 或 Replit 生成的应用可以放心上线吗?
十二项检查全部通过之后可以上线,之前不行。Matt Palmer 2025 年的扫描在 1,645 个 Lovable 项目里发现 170 个数据表可读,Tenzai 在 15 个测试应用里没有发现任何 CSRF 防护。工具自己的文档把数据库规则和密钥存放留给了老板。
怎么判断我的应用数据库有没有暴露?
退出登录,打开浏览器的网络面板,复制一条访问表接口的请求,去掉 authorization 请求头再发送一次。有数据返回,说明这张表没有行级安全,任何拿到公开密钥的人都能读。Aibrify 修一组表 $100,需要重做数据权限时 $300。
Lovable 或 Bolt 应用里的 API 密钥应该放在哪里?
API 密钥应该放在平台的机密存储里,只从服务器函数调用,绝不放在前端代码或仓库文件里。放在前端的任何东西都会发给每一位访客。密钥曾经进过浏览器时,修法是轮换密钥并把调用移到服务器端,在 Aibrify 是一次 $100 的简单修复。
$300 的安全检查包含什么?
$300 的安全检查用两天检查整个应用:暴露的密钥、缺失的登录校验、敞开的数据库规则、未受保护的付费接口。每项发现附 $100 或 $300 的固定报价。修复有 90 天保修,检查之后报价不变。
修复清单查出的问题要多少钱?
大多数修复是 $100:十二项里有七项。两项按规则需要重做的程度收 $100 或 $300;涉及登录或支付的三项收 $300。五项以上不通过的应用适合 $1,000 的稳定化方案:一到两周内修好最重要的五到八个问题。
检查之后 Aibrify 会继续保障应用安全吗?
会,通过两种维护方案,适用于 Aibrify 开发过或检查过的软件。Care 每月 $49,含托管、监控、备份以及依赖和安全更新;单独托管仍是每月 $10 到 $30。Care Plus 每月 $149,增加每月四小时的修改、下一个工作日响应,以及处理第三方接口变更。
这份清单能用在不是 Aibrify 开发的应用上吗?
能,这些检查适用于任何用 Cursor、Lovable、Bolt、Replit、v0 或类似工具生成的应用。$300 的安全检查从代码仓库或账号登录开始,老板有哪个就用哪个。代码在检查前后都归客户,Aibrify 无法交付的已报价修复不收费。
接下来该做什么?
今天就做第 1、5、7 项:暴露的表、放在前端的密钥、没有验证的 webhook,这三项会真正造成损失。每项五分钟,只需要一个浏览器和托管账号。
用短信或邮件联系 Aibrify 申请完整的 $300 安全检查;代码或托管账号的访问权限是唯一需要的输入。报告两天内送达,每项发现附固定报价,之后代码归客户。看修复与维护价格或申请检查。用 Lovable 做的应用,见修复 Lovable 应用。



