Vibe 编码的 Lovable‑hosted app 充斥基本缺陷,暴露 18K 用户

发布: (2026年2月28日 GMT+8 00:48)
8 分钟阅读

Source: Hacker News

Vibe‑coding 平台 Lovable 被指控托管了充斥漏洞的应用程序,原因是其声称用户需自行处理在发布前标记的安全问题。

技术企业家、拥有软件工程背景的 Taimur Khan 在单个由 Lovable 托管的应用中发现了 16 个漏洞——其中 6 个 被他标记为 关键——该应用泄露了超过 18,000 人的个人数据。

  • 他在披露过程中拒绝透露该应用的名称,尽管它托管在 Lovable 平台上并展示在其 Discover 页面。
  • 该应用当时拥有 >100 k 次浏览,并获得约 400 票 的赞同。

主要问题

Khan 说,问题的根源在于 所有在 Lovable 平台上 vibe‑coded 的应用都使用 Supabase 提供的后端,该后端通过 PostgreSQL 数据库连接处理身份验证、文件存储和实时更新。

当开发者——在本例中是 AI——或人类项目所有者未 明确实现关键的安全特性(例如 Supabase 的行级安全和基于角色的访问控制)时,生成的代码看似可用,实则存在缺陷。

示例:错误的身份验证函数

实现 Supabase 后端(使用远程过程调用)的 AI 在实现身份验证函数时 采用了错误的访问控制逻辑,基本上:

  • 阻止已认证用户
  • 允许未认证用户

Khan 解释道:

“本意是阻止非管理员访问应用的某些部分,但错误的实现却阻止了所有已登录用户——这一错误在多个关键函数中重复出现。
‘这完全相反,’ Khan 说。*‘守卫阻止了本该允许的用户,却放行了本该阻止的用户。这是一种经典的逻辑倒置,人类安全审查员几秒钟就能发现——但 AI 代码生成器只追求 “能跑的代码”,于是直接部署到了生产环境。’”

由于该应用本身是一个 创建考试题目和查看成绩的平台,其用户群自然包括 教师和学生——其中一些来自美国顶尖大学,如加州大学伯克利分校(UC Berkeley)和加州大学戴维斯分校(UC Davis),以及 “可能有未成年人的 K‑12 教育机构”,Khan 指出。

缺陷的影响

在这些安全缺陷存在的情况下,未认证的攻击者可以

  • 访问所有用户记录
  • 通过平台发送批量邮件
  • 删除任何用户账户
  • 为学生的测试提交评分
  • 访问组织的管理员邮箱

暴露的数据

类别数量
用户记录总数18,697
唯一电子邮件地址14,928
学生账户(含电子邮件)4,538
企业用户10,505
完整个人身份信息被曝光的用户870

更广泛的背景

这些安全缺陷 并非仅限于 Lovable 托管的应用;问题更为广泛且已有充分文献记录。

  • Vibe coding,Collins Dictionary 2025 年度词汇,承诺打破软件开发的陡峭学习曲线,并赋能任何“prompt jockey”将应用创意变为现实。
  • 当 AI 不在 generating slop bug reports 为了丰厚的漏洞赏金而生成低质量的错误报告,或 catastrophically forgoing instructions 严重忽视指令时,它可能会产生外观华丽却充满漏洞的应用。

最近的相关报道

Veracode 最近发现 45 % 的 AI 生成代码包含安全缺陷来源),更不用说 The Register 在最近几个月报道的无数 悲惨案例

Khan的立场

Khan 认为 Lovable 应该对其托管的应用安全负责。他尤其感到恼火,因为在通过公司支持报告他的发现后,他的工单据称在没有任何回应的情况下被关闭。

“如果 Lovable 要将自己定位为一个能够生成生产就绪、且‘内置’身份验证的应用平台,它就必须对其生成并推广的应用的安全状况承担一定责任。
你不能向 10 万人展示一个应用,自己托管它,然后在有人告诉你它泄露用户数据时就关闭工单。至少,对展示的应用进行一次基本的安全扫描就能捕获本报告中的所有关键问题。”

Lovable的回应

Lovable 告诉 The Register,公司已联系该应用的所有者,并对“此类发现极其重视”。

关于已关闭的工单,Lovable CISO Igor Andriushchenko 表示,公司仅在 26 February 晚上收到了“一份正式的披露报告”,并在“几分钟内”对发现的内容采取了行动。

“使用 Lovable 构建的任何项目在发布前都包含一次免费安全扫描,” Andriushchenko 告诉 The Register
“该扫描会检查漏洞,如果发现漏洞,会提供解决前的行动建议。最终是否实施这些建议由用户自行决定。”

建议

在此案例中,未进行该实现。

“该项目还包含非 Lovable 生成的代码,且易受攻击的数据库并非由 Lovable 托管。我们已与该应用的创建者取得联系,对方正着手解决此问题。”

0 浏览
Back to Blog

相关文章

阅读更多 »