要从人工智能创新中获益,首先要确保代码安全

发布于 2024 年 4 月 09 日
由Secure Code Warrior
案例研究

要从人工智能创新中获益,首先要确保代码安全

发布于 2024 年 4 月 09 日
由Secure Code Warrior
查看资源
查看资源

软件开发人员已经表明,他们已经准备好并愿意利用生成式人工智能(AI)来编写代码,而且他们也普遍看到了一些有利的结果。但也有很多迹象表明,他们可能在玩一场危险的游戏。

根据GitHub 最近的一项调查,超过 90% 的美国开发人员正在使用人工智能编码工具,他们认为人工智能编码工具具有更快的完成时间、快速解决事件和更具协作性的环境等优势。使用人工智能工具可以让开发人员放弃常规任务,让他们从事更有创造力的工作,使公司受益,同时也减少了在职倦怠的几率。

然而,研究也表明,人工智能工具在编写代码时容易引入缺陷Snyk 公司的一项调查发现,尽管 75.8% 的受访者表示人工智能代码比人类代码更安全,但 56.4% 的受访者承认人工智能有时会引入编码问题。令人震惊的是,80% 的受访者表示,他们在开发过程中绕过了人工智能代码安全策略。

自 2022 年 11 月 OpenAI 的ChatGPT首次亮相以来,生成式人工智能模型的使用已经以迅雷不及掩耳之势在金融服务的代码开发流程中蔓延开来,在许多其他领域也是如此。GitHub CopilotOpenAI Codex 以及越来越多的其他模型的快速出现表明,我们对生成式人工智能所能做的事情和所能产生的影响还只是略知一二。但是,要想产生积极的影响,我们必须确保其生成的代码是安全的。

编码错误会迅速传播

无论是由人类开发人员还是人工智能模型创建的代码,都会包含一些错误。随着人工智能帮助加快代码开发,以满足高度分布式、基于云的计算环境中日益增长的需求,错误代码在被发现之前大肆传播的几率可能会增加。 

正在接受编写代码训练的人工智能模型会摄取数千个执行各种任务的代码示例,然后它们可以借鉴这些示例创建自己的代码。但是,如果它所使用的示例包含缺陷或漏洞--无论它们最初是由人类还是其他人工智能创建的--模型就会将这些缺陷转移到新的环境中。 

研究表明,人工智能模型并不能可靠地识别其所使用代码中的缺陷,因此几乎不存在防止缺陷和漏洞扩散的内置防御措施。人工智能不仅会在编码时犯错,而且会重复自己和其他来源的错误,直到漏洞在某个地方被发现--也许是以使用它创建的软件成功入侵公司的形式。

防止编码漏洞扩散的真正办法是人类和人工智能模型共同合作。人类开发人员应该监督人工智能代码的编写,并对不安全的编码实践和易受攻击的代码进行检查。但要做到这一点,开发人员必须在安全代码编写的最佳实践方面接受全面培训,这样他们才能识别人工智能可能犯的编码错误,并迅速加以纠正。

创建和修复人工智能代码的挑战

像 ChatGPT 这样的大型语言模型(LLM)的突然爆发是一把双刃剑。一方面,公司和普通用户通过使用人工智能处理耗时、繁重或困难的琐事,极大地提高了工作效率。另一方面,也有很多例子表明,如果盲目信任人工智能来处理工作,会出现什么问题。

人工智能模型犯过明显的错误,出现过偏差,也产生过幻觉。在许多情况下,问题的根源在于训练数据不足或不负责任。任何人工智能模型的好坏都取决于它的训练数据,因此训练数据必须全面且经过仔细审核。但即便如此,还是会犯一些错误。

使用人工智能进行编码也面临许多同样的障碍。人工智能生成的代码已被证明包含一系列缺陷,如跨站脚本和代码注入漏洞,以及人工智能和机器学习(ML)特有的攻击,如提示注入。人工智能模型也是在黑盒中运行的,因为它们的过程并不透明,这就使安全或开发团队无法看到人工智能是如何得出结论的。因此,模型可能会重复犯同样的错误。可能影响代码编写的缺点同样适用于使用人工智能进行代码修复和满足合规性要求。 

人工智能模型制造或重复出现漏洞的可能性越来越大,以至于 LLM 现在有了自己的开放式 Web 应用程序安全项目(OWASP)十大漏洞列表。

开发人员和人工智能可携手创建安全代码

对人工智能生成代码潜在缺陷的担忧,可能会让一些组织在采用该技术时产生短暂的犹豫。但潜在的好处不容忽视,尤其是随着人工智能开发人员不断创新和改进其模型。金融服务业就不太可能把精灵放回瓶子里。银行和金融服务公司已经是技术驱动型企业,而且它们所处的领域一直在寻求竞争优势。 

关键是要以最小化风险的方式实施人工智能模型。这意味着开发人员要有安全意识,并接受过安全编码最佳实践的全面培训,这样他们才能自己编写安全代码,并密切监控人工智能模型生成的代码。让人工智能引擎和人类开发人员紧密合作,开发人员拥有最终决定权,公司就能获得提高生产力和效率的好处,同时还能提高安全性、限制风险并确保合规性。 

要全面了解安全编码如何帮助金融服务公司确保成功、安全和利润,您可以阅读最新发布的Secure Code Warrior 指南:金融服务安全趋势终极指南

查看 Secure Code Warrior博客页面,了解有关网络安全、日益危险的威胁环境的更多信息,以及如何利用创新技术和培训来更好地保护您的组织和客户。

查看资源
查看资源

作者

Secure Code Warrior

Secure Code Warrior 通过向开发人员传授安全代码编写的技能,建立以安全为导向的开发人员文化。我们的旗舰产品敏捷Learning Platform 为开发人员提供了基于技能的相关途径、动手实践missions 以及上下文工具,帮助他们快速学习、构建和应用技能,从而快速编写安全代码。

想要更多吗?

在博客上深入了解我们最新的安全编码见解。

我们广泛的资源库旨在增强人类对安全编码技术提升的方法。

查看博客
想要更多吗?

获取关于开发者驱动的安全的最新研究

我们广泛的资源库充满了有用的资源,从白皮书到网络研讨会,让你开始使用开发者驱动的安全编码。现在就去探索它。

资源中心

要从人工智能创新中获益,首先要确保代码安全

发布于 2024 年 4 月 09 日
通过Secure Code Warrior

软件开发人员已经表明,他们已经准备好并愿意利用生成式人工智能(AI)来编写代码,而且他们也普遍看到了一些有利的结果。但也有很多迹象表明,他们可能在玩一场危险的游戏。

根据GitHub 最近的一项调查,超过 90% 的美国开发人员正在使用人工智能编码工具,他们认为人工智能编码工具具有更快的完成时间、快速解决事件和更具协作性的环境等优势。使用人工智能工具可以让开发人员放弃常规任务,让他们从事更有创造力的工作,使公司受益,同时也减少了在职倦怠的几率。

然而,研究也表明,人工智能工具在编写代码时容易引入缺陷Snyk 公司的一项调查发现,尽管 75.8% 的受访者表示人工智能代码比人类代码更安全,但 56.4% 的受访者承认人工智能有时会引入编码问题。令人震惊的是,80% 的受访者表示,他们在开发过程中绕过了人工智能代码安全策略。

自 2022 年 11 月 OpenAI 的ChatGPT首次亮相以来,生成式人工智能模型的使用已经以迅雷不及掩耳之势在金融服务的代码开发流程中蔓延开来,在许多其他领域也是如此。GitHub CopilotOpenAI Codex 以及越来越多的其他模型的快速出现表明,我们对生成式人工智能所能做的事情和所能产生的影响还只是略知一二。但是,要想产生积极的影响,我们必须确保其生成的代码是安全的。

编码错误会迅速传播

无论是由人类开发人员还是人工智能模型创建的代码,都会包含一些错误。随着人工智能帮助加快代码开发,以满足高度分布式、基于云的计算环境中日益增长的需求,错误代码在被发现之前大肆传播的几率可能会增加。 

正在接受编写代码训练的人工智能模型会摄取数千个执行各种任务的代码示例,然后它们可以借鉴这些示例创建自己的代码。但是,如果它所使用的示例包含缺陷或漏洞--无论它们最初是由人类还是其他人工智能创建的--模型就会将这些缺陷转移到新的环境中。 

研究表明,人工智能模型并不能可靠地识别其所使用代码中的缺陷,因此几乎不存在防止缺陷和漏洞扩散的内置防御措施。人工智能不仅会在编码时犯错,而且会重复自己和其他来源的错误,直到漏洞在某个地方被发现--也许是以使用它创建的软件成功入侵公司的形式。

防止编码漏洞扩散的真正办法是人类和人工智能模型共同合作。人类开发人员应该监督人工智能代码的编写,并对不安全的编码实践和易受攻击的代码进行检查。但要做到这一点,开发人员必须在安全代码编写的最佳实践方面接受全面培训,这样他们才能识别人工智能可能犯的编码错误,并迅速加以纠正。

创建和修复人工智能代码的挑战

像 ChatGPT 这样的大型语言模型(LLM)的突然爆发是一把双刃剑。一方面,公司和普通用户通过使用人工智能处理耗时、繁重或困难的琐事,极大地提高了工作效率。另一方面,也有很多例子表明,如果盲目信任人工智能来处理工作,会出现什么问题。

人工智能模型犯过明显的错误,出现过偏差,也产生过幻觉。在许多情况下,问题的根源在于训练数据不足或不负责任。任何人工智能模型的好坏都取决于它的训练数据,因此训练数据必须全面且经过仔细审核。但即便如此,还是会犯一些错误。

使用人工智能进行编码也面临许多同样的障碍。人工智能生成的代码已被证明包含一系列缺陷,如跨站脚本和代码注入漏洞,以及人工智能和机器学习(ML)特有的攻击,如提示注入。人工智能模型也是在黑盒中运行的,因为它们的过程并不透明,这就使安全或开发团队无法看到人工智能是如何得出结论的。因此,模型可能会重复犯同样的错误。可能影响代码编写的缺点同样适用于使用人工智能进行代码修复和满足合规性要求。 

人工智能模型制造或重复出现漏洞的可能性越来越大,以至于 LLM 现在有了自己的开放式 Web 应用程序安全项目(OWASP)十大漏洞列表。

开发人员和人工智能可携手创建安全代码

对人工智能生成代码潜在缺陷的担忧,可能会让一些组织在采用该技术时产生短暂的犹豫。但潜在的好处不容忽视,尤其是随着人工智能开发人员不断创新和改进其模型。金融服务业就不太可能把精灵放回瓶子里。银行和金融服务公司已经是技术驱动型企业,而且它们所处的领域一直在寻求竞争优势。 

关键是要以最小化风险的方式实施人工智能模型。这意味着开发人员要有安全意识,并接受过安全编码最佳实践的全面培训,这样他们才能自己编写安全代码,并密切监控人工智能模型生成的代码。让人工智能引擎和人类开发人员紧密合作,开发人员拥有最终决定权,公司就能获得提高生产力和效率的好处,同时还能提高安全性、限制风险并确保合规性。 

要全面了解安全编码如何帮助金融服务公司确保成功、安全和利润,您可以阅读最新发布的Secure Code Warrior 指南:金融服务安全趋势终极指南

查看 Secure Code Warrior博客页面,了解有关网络安全、日益危险的威胁环境的更多信息,以及如何利用创新技术和培训来更好地保护您的组织和客户。

我们希望得到您的许可,向您发送有关我们产品和/或相关安全编码主题的信息。我们将始终以最谨慎的态度对待您的个人资料,绝不会将其出售给其他公司用于营销目的。

提交
要提交表格,请启用 "分析 "cookies。完成后,请随时再次禁用它们。