当 “欧洲版 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.pswp.cn/pingmian/83484.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

centos挂载目录满但实际未满引发系统宕机

测试服务器应用系统突然挂了,经过排查发现是因为磁盘“满了”导致的,使用df -h查看磁盘使用情况/home目录使用率已经到了100%,但使用du -sh /home查看发现实际磁盘使用还不到1G,推测有进程正在写入或占用已删除的大文件(Linux 系统…

乾坤qiankun的使用

vue2 为主应用 react 为子应用 在项目中安装乾坤 yarn add qiankun # 或者 npm i qiankun -Svue主应用 在main.js中新增 (需要注意的是路由模型为history模式) registerMicroApps([{name: reactApp,entry: //localhost:3011,container: #container,/…

PostgreSQL的扩展 auth_delay

PostgreSQL的扩展 auth_delay auth_delay 是 PostgreSQL 提供的一个安全相关扩展,主要用于防止暴力破解攻击。它通过在认证失败后引入人为延迟来增加暴力破解的难度。 一、扩展基础 功能:在认证失败后增加延迟目的:减缓暴力破解和字典攻击…

Web前端为什么要打包?Webpack 和 Vite 如何助力现代开发?

一. 为什么要使用框架库? 1.1 传统网页与现代前端的差异 在最早期的网页开发中,我们只需要写几个.html文件,配上.css和.js文件,浏览器直接加载就能展现页面,每个文件都是独立的静态资源,简单且直观 但现在网站越来越复杂了: 需要用到最新的js语法(比如ES6)使用框架(Vue…

使用pdm+uv替换poetry

用了好几年poetry了,各方面都还挺满意,就是lock实在太慢; 已经试用pdmuv一段时间了,确实是快,也基本能覆盖poetry的功能。 至于为什么用pdmuv,而不是只用uv,原因很多,有兴趣的可以…

java后端生成心电图-jfreechart

用jfreechart生成心电图 先上成功的图片 上代码 1.导入包 implementation org.jfree:jfreechart:1.5.4implementation org.jfree:jcommon:1.0.242.实现代码 对数据进行滤波 转换单位 package com.shinrun.infrastructure.util;import java.util.ArrayList; import java.ut…

微软Build 2025:Copilot Studio升级,解锁多智能体协作未来

微软Build 2025大会圆满落幕,作为年度科技盛会,它一直是开发与AI技术突破性创新的重要展示平台。对于工程师、创作者和领域专家来说,这是了解微软生态未来动向的关键时刻。今年,Microsoft Copilot Studio推出了一系列新功能&#…

LabVIEW杂草识别与精准喷洒

基于LabVIEW构建了一套集成机器视觉、智能决策与精准控制的农业杂草识别系统。通过高分辨率视觉传感器采集作物图像,利用 LabVIEW 的 NI Vision 模块实现图像颜色匹配与特征分析,结合 Arduino 兼容的工业级控制硬件,实现杂草定位与除草剂精准…

使用 Akamai 分布式云与 CDN 保障视频供稿传输安全

作者简介:David Eisenbacher 是 EZDRM 公司的首席执行官兼联合创始人,该公司是首家提供 "DRM 即服务" 的企业。作为 CEO,David 始终秉持为企业确立的使命:为视频服务商提供简洁有效的数字版权管理方案,助力其…

javascript 实战案例 二级联动下拉选框

本案例完全使用原生javascript实现,使用时只需填充platform_list二维数组即可,platform_list填充规则如下: [‘一级选项1’,‘二级选项11’,‘二级选项12’,‘二级选项13’,‘二级选项14’,…], [‘一级选项2’,‘二级选项21’,‘二级选项22’…

Elasticsearch集群最大分片数设置详解:从问题到解决方案

目录 前言 1 问题背景:重启后设置失效 2 核心概念解析 2.1 什么是分片(Shard)? 2.2 cluster.max_shards_per_node的作用 2.3 默认值是多少? 3 参数设置的两种方式 3.2 持久性设置(persistent) 3.2 临时设置(transient) 4 问题解决方…

Redis Sorted Set 深度解析:从原理到实战应用

Redis Sorted Set 深度解析:从原理到实战应用 在 Redis 丰富的数据结构家族中,Sorted Set(有序集合)凭借独特的设计和强大的功能,成为处理有序数据场景的得力工具。无论是构建实时排行榜,还是实现基于时间的…

Java并发编程:读写锁与普通互斥锁的深度对比

在Java并发编程中,锁是实现线程安全的重要工具。其中,普通互斥锁(如synchronized和ReentrantLock)和读写锁(ReentrantReadWriteLock)是两种常用的同步机制。本文将从多个维度深入分析它们的区别、适用场景及…

《云原生安全攻防》-- K8s网络策略:通过NetworkPolicy实现微隔离

默认情况下,K8s集群的网络是没有任何限制的,所有的Pod之间都可以相互访问。这就意味着,一旦攻击者入侵了某个Pod,就能够访问到集群中任意Pod,存在比较大的安全风险。 在本节课程中,我们将详细介绍如何通过N…

Log4j2、Fastjson特征流量分析

文章目录 一、Log4j2流量特征分析1. 漏洞原理简述2. 核心流量特征(1)请求特征(2)响应特征(3)日志特征 3.检测与防御建议 二、fastjson流量特征分析1.漏洞原理简述2.核心流量特征(1)请…

Java编程之建造者模式

建造者模式(Builder Pattern)是一种创建型设计模式,它将一个复杂对象的构建与表示分离,使得同样的构建过程可以创建不同的表示。这种模式允许你分步骤构建一个复杂对象,并且可以在构建过程中进行不同的配置。 模式的核…

Spring AI之RAG入门

目录 1. 什么是RAG 2. RAG典型应用场景 3. RAG核心流程 3.1. 检索阶段 3.2. 生成阶段 4. 使用Spring AI实现RAG 4.1. 创建项目 4.2. 配置application.yml 4.3. 安装ElasticSearch和Kibana 4.3.1. 安装并启动ElasticSearch 4.3.2. 验证ElasticSearch是否启动成功 …

mysql数据库实现分库分表,读写分离中间件sharding-sphere

一 概述 1.1 sharding-sphere 作用: 定位关系型数据库的中间件,合理在分布式环境下使用关系型数据库操作,目前有三个产品 1.sharding-jdbc,sharding-proxy 1.2 sharding-proxy实现读写分离的api版本 4.x版本 5.x版本 1.3 说明…

运维视角下的广告系统之理解广告索引级联

广告索引中为什么要级联 这里的“级联”一般指的是多层索引结构,也叫级联索引(Cascade Index 或 Multi-level Index)。 在广告系统的索引中,级联设计有重要作用,主要原因如下: 1. 多维特征筛选的需求 广…

2025年5月24日系统架构设计师考试题目回顾

当前仅仅是个人用于记录&#xff0c;还未做详细分析&#xff0c;待更新… 综合知识 设 x,y 满足约束条件&#xff1a;x-1>0, x-y<0, x-y-x<0, 则 y/x 的最大值是()。 A. 3 B. 2 C. 4 D. 1 申请软件著作权登记时应当向中国版本保护中心提交软件的鉴别材料&#xff…