当前位置: 首页 > backend >正文

当 “欧洲版 Cursor” 遇上安全危机

在 AI 编程助手蓬勃发展的当下,安全问题正成为行业不容忽视的隐忧。近期,AI 编程助手公司 Replit 与号称 “欧洲版 Cursor” 的 Lovable 之间,因安全漏洞问题掀起了一场风波,引发了业界的广泛关注。​

Replit 的员工 Matt Palmer 披露,他与同事对 Lovable 网站上 1645 款由其开发的 Web 应用程序进行扫描后,竟发现其中 170 款存在严重漏洞。这些漏洞使得任何人都能轻易访问网站用户的敏感信息,如姓名、电子邮件地址、财务信息,甚至 AI 服务的 API 密钥。目前,该漏洞已被列入国家漏洞数据库,凸显出 AI 降低开发门槛背后隐藏的巨大安全风险,新手开发的应用,一不小心就可能沦为黑客的 “盘中餐”。​

Lovable 作为一家瑞典初创企业,致力于让客户仅通过自然语言提示词,就能在无需专业技术培训的情况下创建网站及应用程序,试图成为 “软件体系的最后一块拼图”。想法虽美好,现实却残酷。据 Matt Palmer 介绍,Lovable 平台开发的应用程序常常缺乏安全的 RLS(后端权限控制)配置,这一缺陷让未经授权者有机可乘,能够肆意访问敏感用户数据,甚至注入恶意数据。​

Lovable 的应用程序以客户端驱动为主,身份验证和数据存储等后端操作依赖外部服务。这种架构看似轻巧,实则将安全责任部分转嫁给了应用程序开发者。客户端逻辑与后端权限控制(RLS)策略的错位,就像一颗定时炸弹,频繁引发漏洞,攻击者借此轻松绕过前端控制,对数据进行随意访问和修改。​

今年 3 月 20 日,Palmer 发现 Lovable 创建的 Linkable 网站存在漏洞,只需修改查询参数,就能获取项目 “用户” 表中的所有数据,他甚至因此看到了约 500 名该应用用户的电子邮件地址。当 Palmer 在 Lovable 官方账号下指出问题后,对方先是矢口否认,接着删除推文和网站。可没过多久,Linkable 重新上线还开始收费。原来,是 Supabase 数据库配置不正确导致问题依旧存在。Palmer 向 Lovable 联合创始人兼 CEO Anton Osika 发出通知,却只得到 “没有问题” 这样敷衍的回应。​

次日,Palmer 和同事 Kody Low 深入分析,最终确定了 170 个存在漏洞的 Lovable 网站。4 月 14 日,他们正式披露漏洞,并开启 45 天的披露窗口期。4 月 15 日,软件工程师 Danial Asaria 也发现了这一漏洞,并在 X 平台提醒开发者:选择托付个人数据的氛围编码平台时务必谨慎。他自称以一个仅用 15 行 Python 代码的好奇开发者身份,在短短 47 分钟内,就从 Lovable 推荐页面上的多个网站中找到了大量个人债务金额、家庭住址、API 密钥等敏感信息。​

面对外界质疑,Lovable 回应称已实施新功能,会在应用发布前扫描安全问题。4 月 24 日,Lovable 推出 “Lovable 2.0”,新增 “安全扫描” 功能。但 Palmer 直言,该功能根本没有解决底层 RLS 架构缺陷。漏洞报告显示,这项安全扫描仅仅是确定 Supabase 数据库是否启用访问控制,而对于控制选项是否正确配置这一关键问题,却选择了回避,导致网站依然面临数据操纵和注入等严重安全问题,充分暴露出 Lovable 生态系统中系统性的 RLS 实施缺陷。​

由于 Lovable 始终未采取有效修复措施,也未通知用户,Replit 员工在 5 月 29 日发布了该漏洞的 CVE 编号。其实,Lovable 本身并不构建数据库,只是为用户接入 Supabase 初创公司运营的数据库服务提供便捷方式。对于敏感数据,Lovable 只是建议进行 “人工安全审查”,将安全责任部分丢给了使用氛围编码的客户。​

5 月 30 日,Lovable 在 X 上回应称,相比几个月前,在构建安全应用方面已有显著提升,且仍在快速改进。据悉,Replit 公司正在探索沙箱方法,以此限制氛围编码应用程序可能造成的损害,明确责任边界,这或许也是他们怒揭 Lovable 安全问题的原因之一。​

此次事件为整个 AI 编程助手行业敲响了警钟。在追求便捷开发的同时,安全绝不能被忽视。无论是开发工具提供商,还是开发者自身,都应将安全置于首位,共同为 AI 编程创造一个安全可靠的环境。广大开发者在选择编程工具时,也需多留个心眼,仔细考量工具的安全性,避免因小失大。​

科技脉搏,每日跳动。

与敖行客 Allthinker一起,创造属于开发者的多彩世界。

图片

- 智慧链接 思想协作 -

http://www.xdnf.cn/news/10884.html

相关文章:

  • 7.RV1126-OPENCV cvtColor 和 putText
  • 软件架构文档最少编写规范
  • 【软考】计算机系统构成及硬件基础知识
  • 如何在PowerBI中使用Analyze in Excel
  • 1130 - Host ‘xxx.x.xx.xxx‘is not allowed to connect to this MySQL server
  • 网络安全-等级保护(等保)3-0 等级保护测评要求现行技术标准
  • Linux系统-基本指令(5)
  • 大话软工笔记—分离之组织和物品
  • 基于SDN环境下的DDoS异常攻击的检测与缓解
  • C++ Learning string类模拟实现
  • ADI硬件笔试面试题型解析下
  • 晶台光耦在手机PD快充上的应用
  • 古典密码学介绍
  • 物联网数据归档方案选择分析
  • 【Pandas】pandas DataFrame rename_axis
  • Registry和docker有什么关系?
  • Vue.js 后台管理系统
  • java后端生成心电图-jfreechart
  • Java高级 | (二十二)快速应用开发框架——Spring Boot
  • 基于谷歌ADK的 智能产品推荐系统(1): 功能简介
  • 黑马Java面试笔记之 消息中间件篇(RabbitMQ)
  • LeetCode刷题 -- 542. 01矩阵 基于 DFS 更新优化的多源最短路径实现
  • 【Java实用工具类】手撸SqlBuilder工具类,优雅拼接动态SQL,MyBatisPlus同款风格!
  • NodeMediaEdge任务管理
  • 第11节 Node.js 模块系统
  • Redis 缓存问题及其解决方案
  • 接口继承和实现继承
  • OpenCV CUDA模块霍夫变换------在 GPU 上执行概率霍夫变换检测图像中的线段端点类cv::cuda::HoughSegmentDetector
  • OpenCV 滑动条调整图像亮度
  • 相机camera开发之差异对比核查一:测试机和对比机的硬件配置差异对比