我们编写软件的方式正在以比开发者预期的更快的速度发生变化。这背后的核心是“氛围编程”——一种程序员利用生成性人工智能比人类更快地生成代码的技术。
根据Gartner的报告,这一变化的规模非常显著,预计在三年内,AI辅助的代码开发将占所有新商业软件的40%——而这只是一个保守的估计。
在最佳情况下,氛围编程通过帮助开发者更快地完成耗时的任务,如编写样板代码,为开发者创造了新的机会。这段额外的时间使团队能够专注于构建、创新和提供特定产品的价值。
然而,随着氛围编程的兴起,它也带来了开发者、安全团队和工程领导者需要提前应对的威胁。随着越来越多的人通过自然语言提示与代码互动,开发者可能会越来越远离直接编写源代码。
这为有害代码的插入创造了机会。
速度与审查的碰撞
氛围编程不仅允许开发者生成更多的代码,还通过更快的重构和实验提高了代码质量的标准。
如果做得对,氛围编程不仅仅是关于更快的输出,它还在于增强代码审查的能力。这在某种程度上可以帮助初级开发者为担任高级领导角色做好准备,因为代码审查是他们的核心责任。
与此同时,氛围编程以微妙而重要的方式扩展了代码库的范围,使其面临更多错误、滥用甚至恶意注入的风险。
即使AI生成的代码质量有所提高(这并不总是能保证),生成的代码量庞大,可能导致整体缺陷率上升。
严格的审查、测试和健康的怀疑态度对任何代码都很重要,无论是人类还是AI编写的,以确保错误或不安全的模式不会被忽视。
AI就像一个不知疲倦、毫无自我的初级工程师。它具有巨大的潜力,但需要持续的监督和保护措施。当实习生在生产环境中出错时,我们不仅仅责怪他;我们会把这视为团队流程和监督的失败。
人工智能也是如此。如果你让一个人工智能代理将有害代码推向生产环境,这不仅是人工智能的失败;这也是审查、测试和治理的失效。通过适当的保护措施和程序,氛围编码(vibe coding)的结果可以是变革性的。
没有这些措施,你就有可能因遗漏而引入漏洞,并在安全性上冒险。
问责不仅仅是授权:优先考虑来源
氛围编码的兴起类似于开源软件的早期发展阶段。开发者可以通过重用别人编写和发布的代码来更快地构建,而不是自己从头开始编写。
但随着开源成为现代软件的基础,组织们学到了一个重要的教训:即使你没有创建每一个组件,你仍然要对在你环境中运行的内容负责。现在,氛围编码同样适用。
好好利用人工智能需要投入大量人力,开发者必须改变对质量、审查和所有权的看法。
在未先审查的情况下接受自动生成的想法,这不仅会导致 AI 生成的低质量内容,还可能使你的构建环境更容易受到漏洞的影响。
AI 以速度取代零日漏洞
威胁行为者现在也在利用与开发者相同的生成性 AI 技术。历史上,黑客利用“零日”漏洞(即防御者未察觉的缺陷)对技术栈发起复杂攻击。
事实上,“零日”一词来源于防御者在需要防御这些漏洞之前没有时间修补漏洞。这意味着攻击者必须在软件供应商发现漏洞之前就已经知道该漏洞。
今天,情况发生了变化。氛围黑客让网络犯罪分子也能使用与开发者相同的生成性 AI 工具;他们不再需要等待寻找或购买昂贵的零日漏洞来发动攻击。
这是因为上游修复漏洞通常需要几周或几个月,而用户实施这些补丁则需要更长的时间。
来自谷歌威胁情报组(GTIG)的数据显示,攻击者利用已知漏洞的速度正在急剧上升。攻击者现在能够在大多数组织有机会修复这些漏洞之前就加以利用。
在一个被黑客攻击的世界中,安全必须持续、主动,并完全融入软件开发生命周期。作为工程领导者,我们需要创造一个安全、透明地使用人工智能的环境,并让开发者在这些工具的帮助下得到赋能,而不是被边缘化。
安全的氛围编码方法
在生产力工具前加上“人工智能”这个词并不会改变使用者的责任。同样,在自动化前加上“人工智能”这个词也不会改变部署它的公司的责任。
随着人工智能加速我们的构建方式,开发者的角色从创造者转变为管理者。我们的责任不是要超越人工智能,而是要确保它产生的内容经得起审查。
前进的最安全路径是将自动化与责任结合、将创新与意图结合。当开发者对每一行人工智能辅助的代码负责时,我们就更接近一个速度与安全相互促进的世界。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
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.