人工智能代码助手与开发安全性

AI快讯 1年前 (2024) admin
1,953 0

近年来,类似于GitHub Copilot的人工智能代码助手在开发领域取得了显著的进展。这些工具通过智能化的代码生成,极大地提高了开发人员的效率和生产力,同时也降低了开发技术门槛,使不熟悉特定语言或概念的程序员能够更轻松地参与开发过程。然而,一项最新的研究发现,虽然这些人工智能助手为开发者提供了便利,但却可能引入安全漏洞风险。

人工智能代码助手与开发安全性

研究调查发现

斯坦福大学的一项研究发现,使用人工智能助手编写的代码相比手工编写的代码在安全性上存在较大差距。研究还指出,人工智能工具可能导致开发者对其代码的安全性过于自信。在调查中,47名参与者使用三种不同的编程语言执行了与安全相关的编程任务,涉及Python、JavaScript和C。

关键发现

  1. 人工智能生成的代码在安全性测试中表现普遍低于手工编写的代码。
  2. 在五项不同类型的安全错误测试中,使用人工智能助手的开发者提供了更多的错误解决方案,相较于手工编写的对照组。
  3. 67%的使用人工智能助手的开发者提供了正确的解决方案,而手工编写的对照组达到了79%。
  4. 在特定测试中,如SQL注入漏洞测试,使用人工智能助手的解决方案安全性较低,有36%的参与者编写了容易受到SQL注入攻击的代码。

开发者行为与语言选择

调查还揭示了开发者在与人工智能助手交互时的行为和语言选择对代码安全漏洞的影响。开发者通常通过不同的策略提示人工智能助手,其中包括直接任务规范、提供函数声明指令、指定编程语言等方式。不同国家的开发者在选择提示词和语言上存在一些差异,提示词的选择对代码安全性产生影响。

解决方案建议

研究提出了一些解决方案,以降低人工智能代码助手引入安全漏洞的风险:

  1. 优化提示词: 未来的系统应该考虑改进用户的提示,修复拼写错误并包含与安全性相关的语言,以更好地优化整体性能。
  2. 减少AI的代理权: 避免给予人工智能助手过多的代理权,防止用户疏于防范安全漏洞。
  3. 净化训练数据: 对于人工智能编程助手使用的训练数据,开发者应运行静态分析工具,只使用通过安全检查的输入进行训练,并重新加权整个数据集以提高数据的安全性。

结论

尽管人工智能代码助手在提高开发效率方面取得了显著成果,但开发者需要谨慎使用并意识到其生成的代码可能存在安全漏洞。通过优化提示词、减少AI的代理权以及净化训练数据,可以在一定程度上降低这些工具引入漏洞的风险,从而更好地保障软件开发的安全性。

版权声明:admin 发表于 2024-01-19 17:11:22。
转载请注明:人工智能代码助手与开发安全性 | ai导航网

暂无评论

暂无评论...