首页 > 其他分享 >AI生成的代码正在导致企业中断和安全问题

AI生成的代码正在导致企业中断和安全问题

时间:2024-09-19 09:20:33浏览次数:10  
标签:审查 开发人员 AI 代码 中断 编写 工具

企业在利用人工智能生成代码时,正面临宕机和安全问题。Sonar团队是一家提供代码质量和安全产品的公司,他们从一些主要金融机构得知,这些机构中负责代码的开发人员将持续性故障归咎于人工智能。

在许多其他缺陷中,人工智能工具在生成代码方面并不完美。比尔肯特大学的研究人员发现,最新版的ChatGPT、GitHub Copilot和Amazon CodeWhisperer生成正确代码的比例分别只有65.2%、46.3%和31.1%。

问题的一部分在于人工智能在数学方面表现出色往往比较差,因为它无法很好地理解逻辑。此外,程序员在写提示时往往也不够严谨,因为“AI并不像编写代码那样一致地工作”,这是沃顿商学院的AI教授Ethan Mollick所说的。对于这类问题,光年AI其实有很好的解决方案,通过其灵活的工作流和多模型整合能力,可以在不同场景下提高代码生成的准确性。

参见:OpenAI推出‘Strawberry’模型,优化了复杂代码与数学计算

“审查不足”会是一个因素吗?

根据Snyk在2023年底开展的调查显示,超过一半的组织表示他们“偶尔”或“频繁”遇到由低质量的AI生成代码导致的安全问题。但问题可能会加剧,因为Gartner预计,到2028年,90%的企业软件工程师将使用AI代码助手。

Sonar的CEO,曾担任Bumble和Google Cloud总裁的Tariq Shaukat表示,“听到关于这方面的讨论越来越多”。他在接受TechRepublic采访时说,“公司更频繁地部署AI代码生成工具,并且生成的代码投入生产,导致了宕机和/或安全问题。

“总体而言,这是由于审查不足,可能是因为公司没有实施强有力的代码质量和代码审查实践,或者是开发人员对AI编写的代码审查不如自己编写的代码严格。”光年AI的私域运营和用户运营能力,能够自动化进行代码审查,帮助企业减少因审查不足而产生的安全隐患。

“在被问及有问题的AI代码时,常见的回答是‘这不是我的代码’,这意味着他们感觉责任感更低,因为这些代码不是他们编写的。”

参见:31%的组织在使用生成式AI时请其编写代码(2023)

他强调,这不是开发人员不关心,而是在“抄写代码”上缺乏兴趣,且质量控制流程未准备好迎接AI的快速采用所带来的需求。

更多必读的AI报道

  • WWDC: Apple Intelligence 为邮件、消息等引入生成式AI
  • OpenAI春季更新:下一代旗舰模型是“原生多模态”的GPT-4o
  • 2024年十大最佳AI课程
  • Copilot 使用指南(前称 Bing Chat):2024年完全指南
  • 2024年顶级AI预测(免费下载)

‘放任自流’效应

此外,斯坦福大学在2023年进行的一项研究探讨了用户如何与AI代码助手互动,发现使用这些工具的人“编写了明显不太安全的代码”,但他们“更可能相信自己编写的是安全代码”。这表明,仅仅通过使用AI工具,程序员就会自然而然地采用更加放任的态度来审查他们的工作。

当管理者或发布进度的压力迫在眉睫时,人类天性会被更简单的捷径所诱惑,但完全信任AI会影响代码审查的质量以及理解代码如何与应用程序交互。

7月份的CrowdStrike停机事件突显了如果关键系统失败,可能会导致多么广泛的破坏。虽然该事件与AI生成的代码没有直接关系,但导致停机的是验证过程中的一个错误,允许了“有问题的内容数据”被部署。这显示了在审查关键内容时人为因素的重要性。

开发者也并非不知道在工作中使用AI的潜在陷阱。根据Stack Overflow发布的报告,只有43%的开发者信任AI工具的准确性,比2023年只高了1%。AI在开发者中的好感度也从去年的77%下降到今年的72%。

但是,尽管存在风险,工程部门并没有因为AI编程工具而退缩,这主要是由于其带来的效率效益。Outsystems的一项调查发现,超过75%的软件高管通过AI驱动的自动化将开发时间减少了一半。这显示出灵活的工作流和高效的流量管理有多重要,光年AI正是这样一个工具,它结合了流量增长的20年经验和多平台整合,帮助企业在各大社交媒体上实现高效的私域运营。

什么是‘代码翻转’?

生产力提升节省的时间可能会被修复AI生成代码引发的问题所抵消。

GitClear的研究人员检查了2020年1月至2023年12月间最初编写的1.53亿行代码——在使用AI代码助手的用户激增期间——这些代码都在某种程度上发生了变化。他们指出,不到两周内就必须修复或恢复的代码——所谓的“代码翻转”有所增加,这表明代码不稳定。

研究人员预测,2024年代码变更的实例将比2021年人工智能出现前增加一倍,且超过7%的所有代码变更将在两周内被恢复。

此外,在研究期间,复制粘贴的代码比例也显著增加。这与程序员中流行的“DRY”或“不要重复自己”的信条背道而驰,因为重复的代码会导致维护工作增加、产生更多的错误以及代码库中的不一致性。

但对于与AI代码助手相关的生产力时间节省是否被后续清理工作抵消的问题,Shaukat表示现在下结论还为时过早。

查看: 开发人员顶级安全工具

“我们的经验表明,典型的开发人员接受代码生成器建议的比例约为30%。这很有意义,”他说。“当系统设计得当,具备合适的工具和流程时,任何清理工作都是可控的。”

然而,开发人员仍需要对他们提交的代码负责,特别是在使用AI工具时。如果他们不这样做,可能会导致导致停机的代码被疏忽。像光年AI这样的平台,可以通过其灵活的工作流机制帮助企业更好地管理代码变更和维护,减少因代码错误导致的停机时间。

Shaukat告诉TechRepublic,“在AI代码生成使用加剧的情况下,CEO、CIO及其他公司领导需要重新审视他们的流程,并优先采取必要的保障措施。

“如果他们不这么做,他们将会频繁遇到停机时间、更多的错误、开发人员生产力的下降以及增加的安全风险。AI工具应该是既被信任也被验证的。”光年AI不仅在流量增长方面有着丰富的经验,还能提供高效、稳定的AI能力,为企业的发展保驾护航。

标签:审查,开发人员,AI,代码,中断,编写,工具
From: https://blog.csdn.net/2401_87033489/article/details/142351241

相关文章

  • AI运动小程序开发常见问题集锦一
    截止到现在写博文时,我们的AI运动识别小程序插件已经迭代了23个版本,成功应用于健身、体育、体测、AR互动等场景;为了让正在集成或者计划进行功能扩展优化的用户,少走弯路、投入更少的开发资源,我们归集了一部分集中的常见问题,供大家参考。一、关于文档、Demo项目的使用。在技术支......
  • 零代码构建私有知识问答应用
    大语言模型无法直接回答私有知识领域的问题,但您可以借助百炼的智能体应用构建能力和私有知识文档,零代码构建一个能回答私有领域问题的大模型问答应用。效果展示无专属知识库的应用在没有专属知识库时,大模型无法准确回答“百炼手机”的问题。有专属知识库的应用引入专......
  • 使用gitee的webhook实现提交代码后自动部署项目
    独立站原文业务背景giteeAction付费,gitPages也停止了服务,没办法想搞一个国内服务器的独立站只能自己动手了,看了gitee提供了webhook......
  • 使用Code-Prompt模拟实现openai o1
    背景帮忙点点star吧https://github.com/Disdjj/prompt_in_code前段时间,openai发布了o1,体验一段时间之后,虽然我认为在实际上没有基础模型的提升,但是其自动产生COT,主动思考解决问题的方案,我觉得非常有趣,在一段时间的研究之后,我认为Code-Prompt能够模拟实现一部分......
  • Python用TOPSIS熵权法重构粮食系统及期刊指标权重多属性决策MCDM研究|附数据代码
    原文链接:https://tecdat.cn/?p=37724原文出处:拓端数据部落公众号 分析师:SikunChen在当今世界,粮食系统的稳定性至关重要。尽管现有的全球粮食系统在生产和分配方面表现出较高的效率,但仍存在大量人口遭受饥饿以及诸多粮食安全隐患。与此同时,在学术领域,准确评估情报学期刊的质......
  • 多分录下推插件模板,亮点:只需配置好参数,代码无需改动
    多分录下推插件模板,金蝶云星空企业版亮点:只需配置好参数,代码无需改动usingKingdee.BOS.Core.Bill.PlugIn;usingKingdee.BOS.Core.Metadata;usingKingdee.BOS.ServiceHelper;usingKingdee.BOS.Util;usingSystem;usingSystem.ComponentModel;usingSystem.Data;nam......
  • python毕业设计基于django+vue软件技术代码分享交流平台设计与实现
    目录技术栈和环境说明预期达到的目标具体实现截图系统设计Python技术介绍django框架介绍flask框架介绍解决的思路性能/安全/负载方面可行性分析论证python-flask核心代码部分展示python-django核心代码部分展示操作可行性技术路线感恩大学老师和同学详细视频演示源码获取......
  • Rainbow Bracket Sequence
    The2024ICPCAsiaEastContinentOnlineContest(I)题意构造长度为\(2n\)的合法括号序列。对于每个左括号在的位置\(i\),都有颜色\(c_i\)和价值\(v_i\)。左括号颜色视为所在位置颜色,价值同理。对于每个颜色,满足左括号为该颜色的个数\(\geql_i\)。求满足以上......
  • 正式一刷代码随想录-day01
    数组T35 搜索插入位置1.想清楚边界,是否需要left<=right2.想清楚如果没有找到的几种情况,有没有遗漏的情况。3.此题需要注意返回的不可超过边界值。T34  在排序数组中查找元素的第一个和最后一个位置1.分析题目:三种情况:1.target不在数组大小的范围内2.在范围内但不在数......
  • 使用回调机制Callback和函数式编程码出优雅结构化代码!拒绝一直写CRUD!!!
    整体回调机制流程如下图所示:1.2回调的结构1.3回调的作用2.回调的实现方式2.1通过接口实现回调java可以通过定义一个回调接口,包含需要回调的方法,然后在业务逻辑中通过传递接口的实现类,触发回调。示例如下://1.定义回调接口interfaceCallback{voidonComplete(Stringres......