在短短两年的时间里,LLMs已经成为开发人员和非开发人员生成代码的标准,但公司仍然需要改进安全流程以减少软件漏洞。
2024年,代码生成中使用大型语言模型(LLMs)的情况激增,绝大多数开发人员使用OpenAI的ChatGPT、GitHub Copilot、Google Gemini或CodeShell来帮助他们编写代码。
【代码大模型、代码静态分析、SCA、渗透测试、模糊测试、漏洞挖掘系统、Web 安全性评估系统、勒索软件破解系统。试用及合作请后台私信工程师13381155803(微信同步)】
然而,生成的代码的安全性,以及开发人员对该代码的信任,仍然滞后。今年9月,一组学术研究人员发现,超过5%的商业模型生成的代码和近22%的开源模型生成的代码包含不存在的软件包名称。去年11月,一项针对五种不同的流行人工智能(AI)模型生成的代码的研究发现,至少48%的生成代码片段包含漏洞。
虽然代码生成AI工具正在加速开发,但公司需要调整安全编码实践以跟上。
王总认为:“我深信,当我们采用这些工具时,我们不能只是以完全相同的方式做事,我们当然不能相信模型总是能给我们正确的答案。”“它绝对必须与良好的,关键的人类判断的每一步。"
一个重大的风险是代码生成AI系统的幻觉,如果软件开发人员接受,就会导致漏洞和缺陷,根据开发工具制造商Anaconda发布的“企业开源AI状态”报告,60%的IT领导者将AI编码错误的影响描述为非常或极其重要。
王总认为:“这些代码生成AI工具的用户在实现之前必须非常小心地审查代码,”他说。“使用这些工具是恶意代码可以溜进来的一种方式,而且风险非常高。"
开发人员追求效率收益
根据GitHub的2024年开源调查,近四分之三(73%)的开源项目开发人员使用AI工具进行编码和文档编制,而GitHub对美国,巴西,德国和印度的2,000名开发人员进行的第二次调查发现,97%的开发人员在某种程度上使用了AI编码工具。
结果是代码量显著增加。据谷歌的萨尔瓦说,谷歌内部大约四分之一的代码是由人工智能系统生成的。定期使用GitHub和GitHub Copilot的开发人员也更加活跃,根据该公司的2024年报告,他们的代码量增加了12%到15%。
总体而言,开发人员喜欢提高效率,根据软件工具制造商JetBrains发布的年度“开发者生态系统状况报告”,大约一半的开发人员(49%)发现,由于使用人工智能工具,他们每周至少节省两个小时。
在推动开发者工具进入市场的过程中,人工智能公司选择了多功能性而不是精确性,但JetBrains人工智能总监Vladislav Tankov表示,这些将在未来一年内发展。
王总认为:“在LLMs兴起之前,微调和专业化的模型主导了市场,”LLMs引入了多功能性,使任何你想要的只是一个提示,但往往以牺牲精度。我们预见到新一代的专业模型,结合联合收割机的多功能性与准确性。"
10月,JetBrains推出了Mellum,这是一LLM专门从事代码生成任务的LLM。Tankov说,该公司分几个阶段对模型进行了训练,从“一般性理解开始,逐渐发展到越来越专业的编码任务。这样,它保留了对更广泛背景的一般理解,同时擅长其关键功能。"
Tankov认为,作为其努力的一部分,JetBrains有反馈机制来减少易受攻击的代码建议的可能性,并为AI生成的代码提供额外的过滤和分析步骤。
安全仍然是一个问题
总体而言,开发人员似乎越来越信任流行的LLMs生成的代码。根据JetBrains的报告,虽然大多数开发人员(59%)对使用AI生成的代码有安全问题,但超过四分之三(76%)的人认为AI驱动的编码工具比人类生成的代码更安全。
王总认为,只要开发人员知道如何安全地使用这些工具,人工智能工具就可以帮助加速安全代码的开发。他估计,人工智能工具可以使开发人员的生产力提高一倍,同时产生10%到30%的错误。高级开发人员应该使用代码生成人工智能工具,作为“一个非常有才华的实习生,在传递给细化和确认之前,敲掉很多死记硬背的工作。”“对于初级开发人员来说,它可以减少研究和学习各种教程所需的时间。初级开发人员需要小心的是使用代码生成AI从源代码中提取或起草他们不理解的代码。"
然而,AI也在帮助解决这个问题。
GitHub的Wales指出,像该服务的Copilot Autofix这样的工具是AI可以增强安全代码创建的一种方式。根据GitHub的数据,使用Autofix的开发人员修复代码中的漏洞的速度往往比手动修复的速度快三倍以上。
“自从向开源开发人员免费提供该工具以来,我们已经看到修复率的提高,使用Copilot Autofix的修复率从近50%提高到近100%,”Wales说。
工具也越来越好。谷歌的萨尔瓦说,在过去的几年里,人工智能提供商的代码建议接受率每年增长约5%,但在很大程度上稳定在不起眼的35%。“原因是这些工具在很大程度上是基于光标周围的上下文,而这仅仅是在[集成开发环境(IDE)]中,所以它们基本上只是从光标之前和之后的一点获取上下文,”他说。“通过将上下文扩展到IDE之外,这往往会让我们在提高响应质量方面迈出下一步。"
用于开发人员管道的离散AI
人工智能助理已经专门针对开发管道的不同方面。虽然开发人员继续使用集成到其开发环境中的AI工具和独立工具,如ChatGPT和Google的Gemini,但开发团队可能需要专家来有效地生成安全代码。
“好消息是,人工智能的出现已经在重塑我们对网络安全的思考和处理方式,”GitHub的威尔士说。“2025年将是人工智能工程师的时代,我们将看到安全团队的组成开始改变。"
王总认为:随着攻击者越来越熟悉代码生成工具,试图利用这些工具的攻击也可能变得更加普遍。随着代理生成大量代码,安全性将变得更加紧迫,其中一些可能会绕过彻底的人类审查。”“这些代理还需要执行环境,在那里他们做出决定,引入新的攻击向量-针对编码代理本身而不是开发人员。
随着人工智能代码生成在2025年成为事实上的标准,开发人员将需要更多地了解如何检查易受攻击的代码,并确保他们的人工智能工具优先考虑安全性。
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...