生成式AI可能成为DevSecOps的圣杯?

admin 2024年3月13日18:41:05评论1 views字数 4341阅读14分28秒阅读模式

生成式AI可能成为DevSecOps的圣杯?

生成式AI可能成为DevSecOps的圣杯,从编写安全代码和文档到创建测试。但如果使用不当,它也可能成为主要的失败点
生成式AI预计将有助于编写安全代码,改进代码分析,创建测试,编写文档,以及协助许多其他DevSecOps功能。但该技术仍处于起步阶段,目前效果喜忧参半。
乐观的看法是,通过在干净、安全的代码库中训练AI,向其灌输最佳实践,并让其接触公司的内部政策和框架,AI产生的所有代码建议从一开始就将是安全的。此外,生成式AI还可用于发现现有代码中的安全问题、调试、生成测试、撰写文档以及与DevSecOps相关的许多其他任务。
然而,危险在于,生成式AI也可能生成不安全的代码,并且生成速度很快且权威,这将为公司带来更多问题。
那么,有多少开发者已经在使用生成式AI?根据行业调查,大多数开发者都在使用。今年1月发布的一项对超过13,000名开发者的CoderPad调查显示,67%的技术专业人员表示他们已经在工作中使用AI,其中ChatGPT是最好的工具,其次是GitHub Copilot(一种生成式AI开发工具)和Bard。近59%的人表示他们使用它进行代码辅助,超过一半的人表示他们使用它进行学习和教程,约45%的人表示他们使用它进行代码生成。
图库摄影公司Shutterstock的CTO Sejal Amin表示,GitHub Copilot的使用对公司软件工程师的日常工作产生了积极影响。“在8个小时的学习后,90%的开发者报告了他们的体验。” Amin告诉CSO。“我们得到的反馈是,我们大多数开发者提高了生产力。”
但他补充说,生成式AI能做什么是有局限性的。也许有一天,生成式AI可以从一开始就建立安全性。但基于我们的经验,今天没有任何工具可以生成具有安全性、性能、稳定性和规模的生产级代码 - 所有这些对我们业务都至关重要的东西。”
相反,生成的代码仍然需要深入的审查。“它需要高级工程师与它创建的输出进行互动,” Amin补充说。

生成式人工智能可以提高代码生产力

SlashData调查了超过17,000名开发者,发现80%的程序员认为生成式AI将提高他们的潜力和生产力 - 对于一个全新的技术来说,这是一个惊人的共识。生成式AI预计将对新手帮助最大。对于开发经验不足一年的开发者来说,80%的人表示生成式AI将帮助他们使用他们以前无法使用的工具,而对于开发经验超过16年的开发者来说,这一比例是60%。
Forrester分析师Janet Worthington确认,生成式AI将对生产力产生巨大影响。“在生成式AI和软件开发中,我们预计在自动化测试用例方面将有15%至20%的生产力提升,” 她告诉CSO。“在编码方面,我们预计生产力的提升会更大,高达50%。人们能够生成的代码数量正在激增,这是我们有很长一段时间没有看到过的软件开发的生产力水平,而我们只是刚刚开始。”
工具还在不断改进。最初对ChatGPT的简单问题,已经演变成集成到软件开发流程中的编程“Copilot”。根据LinearB今年1月发布的一项针对CTOs和工程副总裁的调查,87%的组织计划今年投资一个生成式AI编码工具。
但生成的代码是否真的可以工作?不一定。根据GitClear1月公布的对1.53亿行代码的审查,代码更改率(提交到回购但在两周内被回滚、删除或更新的代码百分比)一直在与生成式AI编码助手的兴起同步增长。该公司预计今年代码更改率将达到7%,是生成式AI之前的两倍。
生产力并不是生成式AI唯一的话题。谷歌云每年都会对数以万计的开发者进行其年度DevOps报告调查,今年AI是热门关键词。受访者表示,在编写和优化代码、分析安全性、学习新技能、识别错误、编写测试、创建文档等方面,人工智能已经显示出价值。
但是,根据该报告的作者的说法,调查数据显示,人工智能对团队绩效和软件交付绩效有中性甚至负面的影响。“我们推测,企业采用人工智能工具的早期阶段可能是会存在这些问题,”作者说。“人们对人工智能开发工具的潜力充满热情......但我们预计,人工智能驱动的工具需要一些时间才能在行业中得到广泛的使用。

生成式 AI 的代码安全性

生成式AI在编写安全代码方面甚至更加喜忧参半。许多人希望,通过从公共代码仓库中摄取最佳编码实践,并可能通过公司自己的政策和框架来补充,AI生成的代码从一开始就更加安全,避免人类开发人员常犯的错误。
例如,当开发者开始编写新代码时,AI可以智能地建议甚至应用诸如知识产权头等元素,Netskope副CISO James Robinson告诉CSO。“这不仅简化了编码过程,而且最小化了DevSecOps团队监控和解决这些问题的需求。”
生成式AI理解上下文信息的能力可以引领软件开发的新时代,提高代码质量和效率。Robinson说:“尽管存在潜在的风险,但利用生成式AI工具如copilot最终使开发者能够以更少的缺陷和漏洞生产代码。”
他认为,生成式AI自动使用安全实践和机制为更安全的编码环境做出了贡献。“这些好处延伸到改进代码结构,增强解释以及简化测试过程,最终减轻了DevSecOps团队的测试负担。”
然而,一些开发者认为当前已经做到了这一点了。根据去年11月由代码安全平台Snyk发布的一份报告,76%的技术和安全专业人士认为AI代码比人类代码更安全。
然而,至少在今天,这种安全感可能是一种错觉,一种危险的错觉。正如去年12月更新的斯坦福大学研究论文所示,使用AI编码助手的开发者编写了“明显不够安全的代码”,但他们也更有可能认为自己编写的代码是安全的。此外,AI编码工具有时会建议不安全的库,而开发者则在没有阅读组件文档的情况下接受了这些建议。
类似地,在Snyk自己的调查中,92%的受访者同意AI至少有时会生成不安全的代码建议,五分之一的人表示它“经常”生成安全问题。
然而,尽管生成式AI加快了代码的生产,但只有10%的受访者表示他们已经自动化了大部分安全检查和扫描,80%的人表示他们组织中的开发者完全绕过了AI安全政策。
实际上,在采用生成式AI编码工具后,超过一半的组织并没有改变他们的软件安全流程。那些改变的组织中,最常见的变化是更频繁的代码审计,其次是实施安全自动化。
Forrester的Worthington说,所有这些AI生成的代码仍然需要经过安全测试。特别是,企业需要确保他们有工具可以检查所有的新代码,仓库和容器镜像。“我们正在看到更多需要DevSecOps工具,因为生成式AI。”
Worthington补充说,生成式AI可以帮助DevSecOps团队编写文档。事实上,生成文本是ChatGPT的第一个用例。生成式AI特别擅长创建文档的第一稿和总结信息。
因此,Google的DevOps报告显示,AI在改进技术文档方面对组织绩效的影响提高了1.5倍。根据CoderPad的调查,文档和API支持是生成式AI的第四大最受欢迎的功能,超过四分之一的专业技术人员使用它。
它也可以反过来帮助开发者更快地浏览文档。“当我编码时,我花了大量的时间阅读文档,” 卡内基梅隆大学的运营研究教授Ben Moseley说。“如果我能够快速获取这些信息,那将对我有很大帮助。”

生成式AI用于测试和质量保证

生成式AI有望帮助DevSecOps团队找到传统测试工具遗漏的漏洞和安全问题,解释问题,并提出修复建议。它还可以帮助生成测试用例。
卡内基梅隆的Moseley说,一些安全漏洞仍然太微妙,这些工具无法捕捉。“对于那些具有挑战性的事情,你仍然需要人类去寻找它们,你需要专家去找到它们。” 然而,生成式AI可以挑出标准的错误。
根据CoderPad的调查,大约13%的专业技术人员已经在使用生成式AI进行测试和质量保证。Insight的首席数据官和数据与AI组合总监Carm Taglienti预计,我们很快就会看到基于漏洞数据库进行自定义训练的生成式AI系统的采用。“简单方法是拥有一个知识库或向量数据库,其中包含这些漏洞,以增强我的特定查询。”
对于企业来说,一个更大的问题将是全自动化生成式AI功能的,以及人类在流程中应该扮演多少角色。例如,如果AI用于在早期阶段检测代码漏洞。“我在多大程度上允许工具自动更正代码?” Taglienti问。第一阶段是让生成式AI生成关于它所看到内容的报告,然后人类可以回过头来进行更改和修复。通过监控工具的准确性,公司可以开始为某些类别的修改建立信任,并开始走向全面自动化。“这就是需要人参与的流程,” Taglienti告诉CSO。同样,在编写测试用例时,AI需要人类的指
生成式AI还具有用于审查整个生产环境的潜力。他说:“生产环境是否符合这些已知的与基础设施相关的基线?” 已经有自动化的工具来检查环境或配置的意外变化,但生成式AI可以以不同的视角看待它。“NIST是否更改了他们的规范?一个新的漏洞是否被确定?”

对内部生成式 AI 策略的需求

Omdia的企业安全管理高级分析师Curtis Franklin说,他与企业的大型开发专业人员交谈,他们正在使用生成式AI。独立开发者和顾问以及小团队也在使用它。“区别在于,大公司已经出台了正式的政策,说明将如何使用它,” 他告诉CSO。“具有真正的指导方针,说明如何检查、修改和测试任何通过生成式AI的代码,然后才能在生产中使用。我的感觉是,这种正式的质量保证框架在小公司中并不存在,因为他们承担不起这种开销。
从长远来看,随着生成式AI代码生成器的改进,它们确实有潜力提高整体软件安全性。问题是,我们将遇到一个危险的转折点。Franklin说:“当生成式AI引擎和模型达到可以始终生成相当好的代码的点时,开发团队将面临更大的压力,假设相当好就足够了。而正是在这一点上,漏洞更有可能未经检测和纠正而被忽略。这就很危险了。”
只要开发者和经理们保持适当的怀疑和谨慎,那么生成式AI将是一个有用的工具,他说。“当谨慎程度降低时,它会变得危险 -,就像我们在其他领域看到的那样,比如那些提交由AI生成的文件但包含对不存在的案例的引用的律师。”
总结:生成式AI有潜力彻底改变DevSecOps,提高编码效率,改进代码质量和安全性。然而,由于这项技术仍处于早期阶段,存在一些风险,包括生成不安全的代码和过度依赖AI。为了最大限度地发挥其潜力并降低风险,组织需要制定正式的政策和流程,以确保AI生成的代码经过适当的审查、修改和测试。随着生成式AI工具的成熟,它们有望提高软件开发的整体安全性,但组织需要保持警惕,避免陷入过度依赖AI的危险。
来源:csoonline

原文始发于微信公众号(星尘安全):生成式AI可能成为DevSecOps的圣杯?

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年3月13日18:41:05
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   生成式AI可能成为DevSecOps的圣杯?http://cn-sec.com/archives/2572816.html

发表评论

匿名网友 填写信息