正文
第二天,Palmer 和他的同事 Kody Low 进行了更深入的分析,总计发现 170 个存在漏洞的 Lovable 网站。他们向 Lovable 通报了该漏洞。Lovable 方面确认收到了,但未回邮件。
随后,他们在 4 月 14 日正式披露了漏洞情况,并启动为期 45 天的披露窗口期。
4 月 15 日,另一位软件工程师 Danial Asaria 也发现了 Lovable 的这一漏洞,并在 X 平台上发帖提醒开发者们:谨慎选择愿意托付个人数据的氛围编码平台。
据称,他“黑入”了 Lovable 推荐页面上的多个网站,并在短短 47 分钟内就找到了大量个人债务金额、家庭住址、API 密钥以及“擦边提示词”。而且,他强调自己“不是以黑客身份——而是以一个用 15 行 Python 代码的好奇开发者身份(发现的)”。
同日,Palmer 结合公开的漏洞利用情况再次通知 Lovable。
这之后,Lovable 就此事回应了外界质疑,宣布已实施一项新功能,并称“会在应用发布前扫描其中的安全问题”。4 月 24 日,Lovable 推出了“Lovable 2.0”,新增“安全扫描”功能。
然而,据 Palmer 称,其仍“未解决底层 RLS 架构缺陷”。
根据漏洞报告,这项安全扫描只会做一件事:确定 Supabase 数据库是否启用了访问控制。也就是说,Lovable 仍然回避了控制选项是否正确配置这个哪怕是经验丰富的软件开发人员也经常会出错的核心问题。
5 月 24 日,Palmer 对 Linkable 网站的漏洞状态进行了再次评估。结果,该网站仍存在数据操纵和注入等严重安全问题,也暴露出 Lovable 生态系统中系统性的 RLS 实施缺陷。
由于 Lovable 未采取有效修复措施或通知用户,他们在 5 月 29 日发布了该漏洞的 CVE 编号(CVE 全称是公共漏洞和暴露,是公开披露的网络安全漏洞列表)。
“氛围编码及类似范式应通过本质上提升安全性来赋能用户,而非催生漏洞或将安全责任完全转嫁给用户(甚至指责用户缺乏安全意识)。”Palmer 在发布 Lovable 的 CVE 编号后表示。
目前代码生成模型尚缺乏良好的全局观,无法详尽审视代码的最终使用方式。它们或许能够就具体问题提供相关指导,但缺乏经验的用户显然很难、甚至根本不知道该提出哪些问题。
例如,Lovable 宣称能使用 AI 模型即时创建网站。但要想实现大部分功能,网站还须接入存储用户账户及支付信息的数据库。Lovable 本身并不负责构建此类数据库,只是为用户提供一种便捷方式,允许他们接入一家名为 Supabase 的初创公司运营的数据库服务。
网络安全公司 SentinelOne 的首席信息安全官 Alex Stamos 表示,Web 应用程序的最佳实践要求完全避免让用户访问数据库。相反,应用程序应当确定用户可以访问哪些信息,再据此执行数据交付。从这个意义上讲,这有点像是快递员把包裹送到用户家中,而不是让他们一股脑涌进快递中转站。