AI 编程工具使软件更加脆弱

人工智能助力编程的安全性分析

关键要点

  • 研究显示,使用人工智能(AI)助手的开发者编写的代码安全性较低。
  • 开发者对人工智能助手的信任可能导致错误的安全感。
  • 在加速开发的同时,安全测试的重要性不得不得到重视。
  • 结合自学习AI和现代测试方法,以提高代码测试的效率与安全性。

在过去一年中,人工智能(AI)技术的普及和应用呈现出爆炸性增长,特别是ChatGPT的广泛使用使得强大的AI技术可以被大众所接触。随之而来,各种基于GPT的编程工具也相继推出,极大地提升了开发者的生产力。然而,随着我们日益依赖数字化的世界,软件的完整性和安全性变得越发重要。在日益加剧的网络威胁面前,使用AI技术辅助开发者编写代码的潜在影响是什么?研究已经揭示了一些有趣的发现。

AI对安全编程的影响

斯坦福大学最近发布的研究标题为: 该研究给出了一些关键的发现:

发现 | 解释
—|—
使用AI助手编程的开发者代码安全性较低 | 与未使用AI助手的开发者相比,他们的代码较不安全。
开发者对自己代码的安全性评价过高 | 使用AI助手编写的代码安全性被认为高于手动编写的代码。

对速度的需求

AI助手在编程中的应用无疑减轻了开发者的负担。与其他行业一样,AI技术的应用帮助开发者迅速编写和发送代码。这种开发速度使组织能够提升效率并增加开发者的生产力。

多年来,技术和组织设计都已根据日益增加的开发速度发生了转变。云原生技术、方法论,以及持续集成/持续交付(CI/CD)管道在现代软件开发的进程中得到了演变,从而加速了软件的构建和部署。如今,AI帮助开发者以更快的速度编写新的代码。

风险伴随速度而来

将AI加入编程中以减轻开发者的工作量和提高开发速度听起来不错,但这同时也带来了额外的安全风险。安全测试如今已成为软件开发的重要组成部分,但通常被淹没在发布周期的紧迫性中,进而被降低了优先级,这会产生负面影响。

根据近期的研究,45%的软件在未经过安全检查或测试的情况下发布,而32%的开发者完全跳过安全流程。那么问题来了:AI将如何影响软件安全?

AI降低代码安全性

斯坦福大学的研究发现,AI编码助手正如安全专业人士所担心的那样,实际上导致了安全性下降。使用AI助手的开发者所生产的代码安全性较低,而这些开发者往往认为他们的代码更安全,从而产生了错误的安全感。

这些发现并不令人意外。AI编码助手的工作是基于提示和算法,缺乏上下文或项目特定的理解。总体来看,行业希望这些情况能随着时间的推移而改善。无论如何,这些发现强调了确保代码在发布前进行适当测试的必要性。

随着AI编码助手的使用,软件开发领域又一次发生了变化。AI编写的代码越来越普遍,同时恶意行为者也利用AI更加高效地识别脆弱性,这更加强化了对可扩展且强大的软件测试工具的需求。

当编码方法演变时,测试方法也必须随之变化。现代软件安全方法应高度自动化,并能够高效生成测试用例。通过自学习AI来增强现有的测试方法,我们可以自动生成测试用例,利用待测系统的信息,使每次测试过程变得更为精准。

通过在测试过程中利用自学习的AI,我们能够减少手动工作量,并且创造出人类无法轻易想到的智能

Leave a Reply

Your email address will not be published. Required fields are marked *