思想领袖
AI 生成的代码已成定局。我们的安全是否会因此降低?

2025 年的编程不再是辛苦地处理碎片化代码,也不再需要花费大量时间进行调试。这是一种完全不同的氛围。 AI生成的代码 它将成为未来产品中代码的主体,并已成为现代开发人员的必备工具包。使用 Github Copilot、Amazon CodeWhisperer 和 Chat GPT 等工具生成的代码,被称为“氛围编码”,将成为缩短构建时间和提高效率的常态,而非例外。但是,人工智能生成代码的便利性是否会带来更严重的威胁?生成式人工智能是否会增加安全架构中的漏洞?或者,开发人员是否有安全的方式来“氛围编码”?
DeepSource 创始人 Sanket Saurav 表示:“由于 AI 生成代码中的漏洞而引发的安全事件是当今讨论最少的话题之一。Copilot 或 Chat GPT 等平台生成的代码仍然有很多未经人工审核,安全漏洞可能会给受影响的公司带来灾难性的后果。”
Saurav 是一位开源平台的开发者,他采用静态分析来确保代码质量和安全性,他引用了 2020 年 SolarWinds 黑客攻击事件 如果企业在使用人工智能生成的代码时没有安装正确的安全防护措施,就可能面临类似的“灭绝事件”。Saurav 表示:“静态分析可以识别不安全的代码模式和不良的编码实践。”
图书馆袭击事件
针对人工智能生成代码的安全威胁可能以各种形式出现,并且可能直接针对库。编程中的库是实用的可重用代码,开发人员可以使用它们来节省编写时间。
它们通常解决诸如管理数据库交互之类的常规编程任务,并帮助程序员不必从头开始重写代码。
针对图书馆的威胁之一被称为“幻觉”,即人工智能生成的代码通过使用虚构的图书馆而暴露出漏洞。另一种针对人工智能生成代码的最新攻击被称为“恶意抢注”,即攻击者可以直接以图书馆为目标来渗透数据库。
正面应对这些威胁可能需要比“氛围编码”一词所暗示的更多的专注力。拉斐尔·库里教授在魁北克大学乌塔韦分校的办公室里发表讲话,他一直密切关注人工智能生成代码安全性的发展,并相信新技术将提高其安全性。
In 一张2023纸Khoury 教授调查了要求 ChatGPT 在没有任何上下文或信息的情况下生成代码的结果,这种做法会导致代码不安全。这还只是 Chat GPT 的早期阶段,Khoury 现在对未来充满信心。“从那时起,有很多研究正在审查中,未来我们正在研究一种利用 LLM 的策略,以取得更好的结果,”Khoury 说道,并补充道,“安全性正在提高,但我们还没有达到能够直接给出提示并获得安全代码的水平。”
Khoury 继续描述 一项有前途的研究 他们生成代码,然后将代码发送给一个工具进行漏洞分析。该工具使用的方法被称为“使用生成式人工智能查找线路异常”(简称 FLAG)。
他说:“这些工具发送的 FLAG 可能会识别出第 24 行中的漏洞,然后开发人员可以将其与信息一起发送回 LLM,并要求其调查并解决问题。”
Khoury 表示,这种反复的迭代对于修复易受攻击的代码可能至关重要。“这项研究表明,经过五次迭代,就可以将漏洞数量降至零。”
话虽如此,FLAG 方法并非没有问题,尤其是它可能产生假阳性和假阴性。此外,LLM 可以创建的代码长度也有限制,而将片段连接在一起的行为可能会增加另一层风险。
让人类参与其中
一些“氛围编码”的参与者建议将代码碎片化,并确保在代码库最重要的编辑中,人类始终占据中心位置。“编写代码时,要以提交的方式思考,”Windsurf 产品工程主管 Kevin Hou 说道,他高度赞扬了“小块代码”的智慧。
将大型项目拆分成通常以提交或拉取请求形式呈现的小块。让代理构建小规模的功能,一次构建一个独立的功能。这可以确保代码输出经过充分测试且易于理解。他补充道。
截至撰写本文时,Windsurf 已拥有超过 5 亿行 AI 生成代码(通过其前身 Codeium)。侯先生表示,他们面临的最紧迫问题是开发人员是否了解这一流程。
“AI 能够同时对大量文件进行大量编辑,那么我们如何确保开发人员真正理解并审查正在发生的事情,而不是盲目接受一切?”Hou 问道,并补充说,他们在 Windsurf 的用户体验上投入了大量资金,“采用大量直观的方式与 AI 正在做的事情保持完全同步,并让人类完全了解情况。”
这就是为什么“氛围编码随着“循环”变得越来越主流,身处其中的人类必须对其漏洞更加谨慎。从“幻觉”到“蹲坑”威胁,挑战是真实存在的,但解决方案也同样存在。
静态分析等新兴工具、FLAG 等迭代细化方法以及周到的 UX 设计表明安全性和速度不必互相排斥。
关键在于确保开发人员的参与度、知情度和掌控力。有了正确的防护措施和“信任但需验证”的思维模式,AI辅助编码既可以带来革命性,又能确保安全可靠。