AI 编程助长了哪些安全漏洞
安全研究员指出 AI 生成代码的典型陷阱:前端暴露密钥、CORS 配置错误、IDOR 访问控制缺失等,强调「能跑」不等于「安全」。
安全研究员指出 AI 生成代码的典型陷阱:前端暴露密钥、CORS 配置错误、IDOR 访问控制缺失等,强调「能跑」不等于「安全」。
键盘另一端的一个令人不安的真相。
我出身安全领域,做渗透测试和漏洞挖掘,后来成了一名 AI 原生全栈工程师。所以我花了多年时间像攻击者一样思考。最近,闯入系统变得更容易了。
不是因为防御者变懒了。而是因为所有人都开始发布他们从未阅读过的代码。
AI 可以在几分钟内搭建一个可用的应用。这确实很神奇,我每天都在用。但"能运行"和"安全"是两个完全不同的句子。AI 很擅长第一个,对第二个完全漠不关心。
模型的工作是让演示版本能跑起来。你的工作,那部分没人能外包的工作,是问一个问题:当恶意用户出现时会发生什么?
在我看过的大多数 AI 构建的应用中,没有人问过这个问题。
我不打算给攻击者一份操作指南。但这是我一直在看到的模式。如果你发布 Web 应用,你可能这周已经做了至少其中一件:
客户端中的 secrets。API 密钥和令牌直接暴露在前端包或提交的 .env 文件中。模型愉快地把它接上了。它"能跑"。但对任何打开 DevTools 的人来说,这也是一把万能钥匙。
授权形同虚设。认证问"你是谁?"授权问"你有权这样做吗?"AI 搞定了登录界面却忘了第二个问题。所以用户 A 修改 URL 中的 ID 就能读到用户 B 的数据。每次都这样。
信任客户端。价格在前端计算。验证只在前端做。isAdmin 从客户端发送并被信以为真。浏览器是攻击者的游乐场。从中出来的任何东西都不是事实。
没有速率限制。登录、密码重置、你按调用次数付费的那个昂贵 AI 端点,所有这些都敞开任由每秒被攻击无数次。你的演示能撑过一个用户,但撑不过一个无聊的脚本小子。
错误信息过于详细。完整的堆栈跟踪、数据库消息、内部路径,直接暴露给用户。你这是在给攻击者画地图。

正确理解我。我和任何 AI 原生工程师一样。我与 AI 配对工作,比整个团队更快地交付产品。这个工具令人惊叹。
但速度是一把上了膛的手枪。AI 移除了曾经迫使你放慢脚步和思考的摩擦力。那种摩擦力本来在发挥作用。现在你必须主动去做那个工作。
这些都不难。只是不再自动了。而"不自动"恰恰是攻击者生存的地方。
我见过的最可怕的应用不是新手构建的。它们是由快速行动、因为输出看起来很干净就信任它的聪明人构建的。干净的代码和安全的代码看起来一模一样,直到它们不再一样的那一刻。
所以在我构建的任何东西上线之前,我会问一个唯一的问题:
如果我把应用交给一个想伤害我的人,他们首先会尝试什么,那会成功吗?
如果你不知道答案,你就不是有一个应用,而是在等一个灾难发生的日期。
快速发布。只是不要盲目发布。