思想领袖
AI 代码即将成为常态,但这会让我们变得不那么安全吗?

2025 年的编码不再是苦苦挣扎于代码片段或花费数小时进行调试。它是一个完全不同的氛围。 AI 生成的代码 将成为未来产品中的主要代码,并且已经成为现代开发人员的必备工具。被称为“氛围编码”,使用像 Github Copilot、Amazon CodeWhisperer 和 Chat GPT 这样的工具生成的代码将成为常态,而不是例外,以减少构建时间和提高效率。但是,AI 生成的代码的便利性是否会带来更大的安全威胁?是否存在增加安全架构漏洞的风险,还是开发人员可以安全地进行“氛围编码”?
“由于 AI 生成的代码中的漏洞导致的安全事件是今天最少讨论的话题之一,”DeepSource 的创始人 Sanket Saurav 说。 “像 Copilot 或 Chat GPT 这样的平台仍然会生成很多没有经过人工审查的代码,安全漏洞可能会对受影响的公司造成灾难性的后果。”
作为一个使用静态分析进行代码质量和安全性的开源平台的开发者,Saurav 引用了2020 年的 SolarWinds 黑客事件作为一种“灭绝事件”,公司可能会面临这种事件,如果他们没有在使用 AI 生成的代码时安装正确的安全防护措施。 “静态分析可以识别不安全的代码模式和糟糕的编码实践,”Saurav 说。
通过库被攻击
对 AI 生成的代码的安全威胁可以采取创造性的形式,并且可以针对库。编程中的库是有用的可重用代码,开发人员使用它们来节省编写代码的时间。
它们通常解决常见的编程任务,如管理数据库交互,并帮助程序员避免从头开始编写代码。
针对库的威胁之一被称为“幻觉”,其中 AI 生成的代码通过使用虚构的库显示漏洞。另一种更最近的针对 AI 生成的代码的攻击被称为“slopsquatting”,攻击者可以直接针对库来渗透数据库。
直接解决这些威胁可能需要比“氛围编码”这个术语所暗示的更多的注意力。从魁北克大学的办公室,Rafael Khoury 教授一直密切关注 AI 生成的代码的安全性发展,并且他相信新的技术将提高其安全性。
在 2023 年的一篇论文中,Khoury 教授研究了让 ChatGPT 生成没有任何上下文或信息的代码的结果,这种做法导致了不安全的代码。那些是 Chat GPT 的早期日子,Khoury 现在对未来持乐观态度。 “从那时起,已经有很多研究正在审查中,未来看起来像是一种使用 LLM 的策略,这可能会带来更好的结果,”Khoury 说,并补充说“安全性正在改善,但我们还没有达到可以直接输入提示并获得安全代码的地步。”
Khoury接着描述了 一项有前途的研究,其中他们生成了代码,然后将其发送到一个分析工具中,以检查漏洞。该工具使用的方法称为使用生成式 AI 查找行异常(FLAG)。
“这些工具可能会发送 FLAG,例如可能在第 24 行识别出一个漏洞,开发人员可以将其发送回 LLM,并要求其检查和修复问题,”他说。
Khoury 表示,这种来回可能是修复容易受到攻击的代码的关键。 “这项研究表明,经过五次迭代,可以将漏洞减少到零。”
但是,FLAG 方法并非没有问题,特别是它可能产生假阳性和假阴性。此外,LLM 生成的代码长度有限,将代码片段组合在一起可能会增加另一个风险层。
让人类保持在循环中
“氛围编码”中的某些人推荐将代码分解,并确保人类始终处于代码库中最重要的编辑位置。 “编写代码时,请考虑提交,”Windsurf 的产品工程负责人 Kevin Hou 说,提倡小块的智慧。
“将大项目分解为较小的块,这些块通常是提交或拉取请求。让代理构建较小的、独立的功能。这样可以确保代码输出经过良好的测试和理解,”他补充说。
在撰写本文时,Windsurf 已经处理了超过 50 亿行 AI 生成的代码(通过其以前的名称 Codeium)。Hou 说,他们正在回答的最紧迫的问题是开发人员是否了解该过程。
“AI 可以同时对多个文件进行大量编辑,因此我们如何确保开发人员实际上理解和审查正在发生的事情,而不是简单地接受一切?”Hou 问道,并补充说他们在 Windsurf 的 UX 上投入了大量资金,“以便与 AI 的操作保持完全同步,并让人类始终保持在循环中。”
这就是为什么当“氛围编码”变得更加主流时,循环中的人类必须更加谨慎地对待其漏洞。从“幻觉”到“slopsquatting”威胁,挑战是真实的,但解决方案也是真实的。
新兴的工具,如静态分析、迭代改进方法,如 FLAG,以及周到的 UX 设计,表明安全性和速度不必相互排斥。
关键在于让开发人员保持参与、了解和控制。拥有正确的防护措施和“信任但验证”的心态,AI 辅助编码可以既革命性又负责任。












