网易首页 > 网易号 > 正文 申请入驻

Cursor用户花6小时写出的代码,上线3天被注入攻击

0
分享至


45%的AI生成代码带安全漏洞,2.74倍于人工代码——这不是实验室数据,是过去几个月我从真实代码库里扫出来的。

有个场景每个用Cursor的人都熟悉:连续肝了6小时,AI帮你补全句子,应用能跑通,数据能存,登录流程顺畅。你推上生产环境,感觉自己发现了软件开发的作弊码。

然后用户发邮件来了。或者更糟,他们什么都不说,直接走人。

我这半年干了一件多数开发者跳过的事:在代码上线前扫描AI生成的代码库。不是事后,是事前。AI分析加人工工程师复核,专门找那些"看起来没问题"的问题。结果同一批漏洞反复出现——不是偶尔,不是烂代码才这样,是持续出现,出现在聪明人用最好工具写的项目里。

这不是说AI工具不行。我每天都在用。这是一个特定、可预测的盲区——它正在让创始人丢失用户、信任,有时候是整个产品。

AI写的代码能跑,这才是问题

先杀死第一个误解。

Cursor、Bolt、v0、GitHub Copilot、Claude这些工具写的代码功能 remarkably 完整。这正是危险所在。代码能编译,测试能通过(如果你写了的话),主流程跑得漂亮。

但Veracode的数据是:45%的AI生成代码引入安全漏洞。CodeRabbit发现AI辅助项目的安全问题数量是人工代码的2.74倍。Forrester预测到2027年,仅AI生成代码就会产生1.5万亿美元的技术债。

这些不是边缘案例。是一款被优化为"输出看起来合理、能运行的代码"的工具的统计结果——而非"输出防御性强、能抵抗攻击的代码"。

区别很大。

60%代码库出现的SQL注入:AI知道答案,但不选

带数据库层的代码库里,大概60%有这个问题。看AI生成的典型代码:

const user = await db.query( `SELECT * FROM users WHERE email = '${req.body.email}'` );

运行完美——直到有人把邮箱填成 ' OR '1'='1,然后读走了你的整张用户表。字符串拼接不是风格选择,是敞开的门。

参数化版本写起来并不难:


const user = await db.query( 'SELECT * FROM users WHERE email = $1', [req.body.email] );

AI知道这个模式存在。它只是不会主动选——除非你明确要求,而多数人不知道要提这个要求。

密钥硬编码:AI在"完成"你的暗示

这个问题安静但致命。

const stripe = require('stripe')('sk_live_424242...'); const db = new Client({ connectionString: 'postgresql://admin:prod-password@...' });

AI根据上下文和注释补全代码。当你的注释写// Connect to Stripe,变量名叫stripeKey,它就会填一个"看起来对"的东西。有时候从你代码库里的模式提取,有时候从训练数据里"借"一个看着像的密钥。

生产环境的Stripe密钥就这样躺在GitHub公开仓库里。我上个月扫到一个项目,数据库连接字符串里嵌着明文密码,提交历史里能追溯到三个月前。

开发者没意识到这是问题——因为本地跑的时候一切正常,AI也没标红警告。

权限模型:AI默认"信任所有人"

这是我最常发现的架构级漏洞。AI生成的API端点通常长这样:

app.get('/api/documents/:id', async (req, res) => { const doc = await db.documents.findById(req.params.id); res.json(doc); });

能跑。能根据ID取文档。但检查用户是否有权看这个文档?AI不会主动加这层。我见过医疗记录系统、财务仪表盘、内部管理后台,全是这个模式。

横向权限漏洞(IDOR)在AI代码里几乎是默认配置。不是AI故意不安全,是它的优化目标里没有"怀疑请求合法性"这一项。

为什么聪明人反复踩同一个坑

这不是能力问题,是注意力分配问题。

AI工具把开发者的认知负荷从"怎么写"转移到"写什么"。当你连续6小时处于心流状态,大脑不会自动切到"攻击者视角"——而传统开发里,写查询语句时的摩擦感恰好给人停下来想一想的空间。


Cursor的自动补全太快、太顺滑了。顺滑到危险代码和安全的代码看起来同样"对"。

我观察到一个规律:用AI越熟练的开发者,越可能在安全审查上偷懒。不是因为他们不在乎,是因为工具训练他们信任"能跑的代码"。

CodeRabbit的2.74倍数据背后,是经验与警惕性的错配——老手知道SQL注入的原理,但不再逐行检查AI生成的查询;新人根本没见过 ' OR '1'='1 长什么样。

1.5万亿技术债的账单谁付

Forrester的1.5万亿美元预测不是抽象数字。它分解到每个创始人身上,是凌晨三点处理数据泄露的紧急会议,是向用户解释为什么密码要强制重置,是合规审计失败后的罚款单。

更隐蔽的成本是信任折旧。用户不会告诉你他们因为"感觉不安全"而流失——他们直接消失。等你发现的时候,已经攒了六个月有漏洞的代码,重构成本远超当初花20分钟做安全审查。

我见过一个团队,AI生成的认证模块跑了八个月,直到白帽黑客在漏洞赏金平台提交报告。修复用了两周,但用户注册转化率在那之后跌了40%——没人知道具体原因,但时间线对得上。

不是不用AI,是改个流程

我现在的做法很简单,分享给你:

第一,把安全审查从"上线前检查"改成"生成时拦截"。Cursor有规则文件(.cursorrules),可以强制要求参数化查询、禁止字符串拼接SQL。花10分钟写规则,比事后扫代码有效十倍。

第二,AI生成任何涉及数据访问的代码后,强制问自己:如果我是攻击者,怎么让这个查询返回不该看的数据?这个视角切换不能省。

第三,密钥管理用环境变量检查工具做预提交钩子。不是相信开发者会记得,是让错误推不上去。

第四,也是最反直觉的:降低AI补全速度。Cursor的Tab键太顺手了,顺手到你会在没看清代码前就接受。我关了自动提交,改成手动触发,给自己三秒钟的停顿窗口。

这三秒钟,就是区分"能跑的代码"和"能扛住攻击的代码"的间隙。

最后说个细节。上周扫的一个代码库,开发者在注释里写了句"AI generated, review carefully"。结果审查跳过了——人类看到这句,潜意识里把责任推给了"AI会处理好",反而看得更粗。

安全审查不能外包给注释。你的下一个AI生成项目,准备在哪一步卡住自己?

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
武亮第一次直播被吐槽,模仿张雪峰!网友:不要活在他的影子下…

武亮第一次直播被吐槽,模仿张雪峰!网友:不要活在他的影子下…

火山詩话
2026-03-31 06:36:56
“没钱请你做代言” 张雪称要将夺冠车辆送给尹正 后者:我自己买

“没钱请你做代言” 张雪称要将夺冠车辆送给尹正 后者:我自己买

风过乡
2026-03-31 08:16:47
好心塞!自己推掉的角色被接替的人演红了,这10位演员肠子都悔青

好心塞!自己推掉的角色被接替的人演红了,这10位演员肠子都悔青

上官晚安
2026-03-30 19:11:16
文班41+16+3帽!马刺横扫公牛豪取9连胜 近27战25胜追雷霆

文班41+16+3帽!马刺横扫公牛豪取9连胜 近27战25胜追雷霆

醉卧浮生
2026-03-31 10:26:50
李荣浩看似佛系,但不好惹,战绩可查

李荣浩看似佛系,但不好惹,战绩可查

非常先生看娱乐
2026-03-30 17:17:50
刚送别张雪峰,11岁女儿收到第一张江湖令!

刚送别张雪峰,11岁女儿收到第一张江湖令!

职场火锅
2026-03-30 15:42:03
苹果在中国意外推出Apple Intelligence 已紧急移除

苹果在中国意外推出Apple Intelligence 已紧急移除

CNMO科技
2026-03-31 07:15:16
李荣浩公开讨伐不到48小时,单依纯过往被扒,身体隐疾是冰山一角

李荣浩公开讨伐不到48小时,单依纯过往被扒,身体隐疾是冰山一角

阿纂看事
2026-03-30 17:35:47
大战一触即发,特朗普准备豪赌

大战一触即发,特朗普准备豪赌

南风窗
2026-03-30 15:29:40
绝对“钞能力”!哈兰德用不到一周工资,入手限量LV联名迈巴赫!

绝对“钞能力”!哈兰德用不到一周工资,入手限量LV联名迈巴赫!

田先生篮球
2026-03-30 21:35:46
张雪峰办公室 “诡异” 一角引热议!黑白照 + 香炉 网友:不吉利

张雪峰办公室 “诡异” 一角引热议!黑白照 + 香炉 网友:不吉利

魔都姐姐杂谈
2026-03-30 19:57:02
风向变了,中东传来消息,黎巴嫩跪在了黎明前,向美以举起白旗

风向变了,中东传来消息,黎巴嫩跪在了黎明前,向美以举起白旗

漫步独行侠
2026-03-30 08:59:30
鲁山舅舅娶亡姐大结局!新华社通报调查结果,这次终于真相大白了

鲁山舅舅娶亡姐大结局!新华社通报调查结果,这次终于真相大白了

青橘罐头
2026-03-31 07:11:50
外交部:已向美方提出严正交涉

外交部:已向美方提出严正交涉

环球时报国际
2026-03-30 18:34:49
张雪:我以前挺喜欢雷军,挖孔机盖事件我会给消费者两个选择

张雪:我以前挺喜欢雷军,挖孔机盖事件我会给消费者两个选择

金融界
2026-03-30 17:38:20
伊朗国防军为何在本次伊朗战争中未参战?

伊朗国防军为何在本次伊朗战争中未参战?

深度报
2026-03-30 22:04:19
伊朗:发动第87波攻势 打击美军指挥中心

伊朗:发动第87波攻势 打击美军指挥中心

中国网
2026-03-31 06:12:05
央视紧急曝光:全是假货!别再往家里拎了,很多人天天在用!

央视紧急曝光:全是假货!别再往家里拎了,很多人天天在用!

兴史兴谈
2026-03-30 15:15:11
外卖打出优势,美团下一章:加速AI落地物理世界

外卖打出优势,美团下一章:加速AI落地物理世界

首条研究院
2026-03-30 18:02:55
重庆一隧道发生爆炸事故,致4人死亡

重庆一隧道发生爆炸事故,致4人死亡

界面新闻
2026-03-31 08:29:34
2026-03-31 11:23:00
报错免疫体
报错免疫体
一名在需求评审和数据异常中反复横跳的产品运营。
528文章数 1关注度
往期回顾 全部

科技要闻

尚未正式宣发,国行苹果AI半夜"意外闪现"

头条要闻

伊朗发出警告 特朗普:即使霍尔木兹仍关闭也愿停战

头条要闻

伊朗发出警告 特朗普:即使霍尔木兹仍关闭也愿停战

体育要闻

想进世界杯,意大利还要过他这一关

娱乐要闻

丝芭传媒举报鞠婧祎:瞒报收入竟达85%

财经要闻

高薪内推藏陷阱!"招转培"骗局盯上求职者

汽车要闻

16万级最强2.0T 全新一代瑞虎9来了

态度原创

亲子
游戏
健康
房产
公开课

亲子要闻

2026上海桃花节亲子定向赛开跑 以赛为媒赋能乡村文旅振兴

《超级食肉男孩3D》媒体评分解禁!M站均分79

干细胞抗衰4大误区,90%的人都中招

房产要闻

14亿!电竞巨头出手,海棠湾“超级运动综合体”来了!

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版