不久前,几乎所有的应用程序代码都是由人类编写的。但现在情况已经发生改变:使用 AI 工具编写代码的情况大幅增加。一些专家,如 Anthropic 的 CEO Dario Amodei 预计,在未来 6 个月内,AI 将编写 90% 的代码。
在这样的背景下,对企业有什么影响?传统的代码开发实践涉及各个层面的控制、监督和治理,以确保质量、合规性和安全性。对于 AI 开发的代码,组织是否能获得同样的保证?更重要的是,组织必须知道是哪些模型生成了他们的 AI 代码。
了解代码来源对企业来说并不是一个新挑战。这就是源代码分析 (SCA) 工具发挥作用的地方。历史上,SCA 工具并不提供对 AI 的洞察,但现在这种情况正在改变。包括 Sonar、Endor Labs 和 Sonatype 在内的多个供应商现在提供不同类型的洞察,可以帮助企业处理 AI 开发的代码。
"现在我们接触的每个客户都对如何负责任地使用 AI 代码生成器感兴趣,"Sonar CEO Tariq Shaukat 告诉 VentureBeat。
金融公司每周因 AI 开发的代码出现一次故障
AI 工具并非完美无缺。许多组织在早期就学到了这一教训,当内容开发工具提供了被称为"幻觉"的不准确结果时。
同样的基本教训也适用于 AI 开发的代码。当组织从实验模式转向生产模式时,他们越来越意识到代码存在很多 bug。Shaukat 指出,AI 开发的代码还可能导致安全性和可靠性问题。这种影响是真实的,而且并非微不足道。
"例如,大约六个月前,一家金融服务公司的 CTO 告诉我,他们每周都会因为 AI 生成的代码而出现一次故障,"Shaukat 说。
当他询问客户是否进行代码审查时,答案是肯定的。但是,开发人员对代码的责任感远不如以前,也没有像以前那样投入时间和严谨性。
代码最终变得有 bug,尤其是对大型企业来说,原因可能各不相同。但一个特别常见的问题是,企业通常有大型代码库,可能具有 AI 工具可能不了解的复杂架构。在 Shaukat 看来,AI 代码生成器通常无法很好地处理更大更复杂的代码库。
"我们最大的客户分析超过 20 亿行代码,"Shaukat 说。"当你开始处理这些代码库时,它们更复杂,有更多的技术债务和依赖关系。"
AI 开发代码的挑战
对 Sonatype 的首席产品开发官 Mitchell Johnson 来说,AI 开发的代码显然将继续存在。
软件开发人员必须遵循他所说的工程希波克拉底誓言。也就是说,不要损害代码库。这意味着在提交之前严格审查、理解和验证每一行 AI 生成的代码——就像开发人员对手写或开源代码所做的那样。
"AI 是一个强大的工具,但在安全性、治理和质量方面不能取代人类判断,"Johnson 告诉 VentureBeat。
据 Johnson 说,AI 生成代码的最大风险是:
安全风险:AI 在包含易受攻击或恶意代码的海量开源数据集上进行训练。如果不加检查,可能会在软件供应链中引入安全漏洞。
盲目信任:开发人员,尤其是经验较少的开发人员,可能会认为 AI 生成的代码是正确和安全的,而没有进行适当的验证,导致未经检查的漏洞。
合规性和上下文差距:AI 缺乏对业务逻辑、安全策略和法律要求的认识,使合规性和性能权衡变得有风险。
治理挑战:AI 生成的代码可能在没有监督的情况下扩散。组织需要自动化护栏来大规模跟踪、审计和保护 AI 创建的代码。
"尽管存在这些风险,但速度和安全性不必是一个权衡,"Johnson 说。"有了正确的工具、自动化和数据驱动的治理,组织可以安全地利用 AI——在确保安全性和合规性的同时加速创新。"
模型很重要:识别代码开发的开源模型风险
组织正在使用各种模型来生成代码。例如,Anthropic Claude 3.7 是一个特别强大的选择。Google Code Assist、OpenAI 的 o3 和 GPT-4o 模型也是可行的选择。
然后是开源。Meta 和 Qodo 等供应商提供开源模型,在 HuggingFace 上似乎有无穷无尽的选择。Endor Labs CISO Karl Mattson 警告说,这些模型带来了许多企业尚未准备好应对的安全挑战。
"系统性风险是使用开源大语言模型,"Mattson 告诉 VentureBeat。"开发人员使用开源模型正在创造一整套新问题。他们正在将未经审查或评估、未经验证的模型引入他们的代码库。"
与 Anthropic 或 OpenAI 等公司的商业产品不同,Mattson 将后者描述为具有"实质性的高质量安全和治理计划",来自 Hugging Face 等存储库的开源模型在质量和安全态势方面可能有很大差异。Mattson 强调,组织应该了解潜在风险并适当选择,而不是试图禁止使用开源模型进行代码生成。
Endor Labs 可以帮助组织检测代码库中何时使用开源 AI 模型,特别是来自 Hugging Face 的模型。该公司的技术还从 10 个风险属性评估这些模型,包括操作安全性、所有权、使用率和更新频率,以建立风险基线。
专门的检测技术出现
为了应对新出现的挑战,SCA 供应商发布了许多不同的功能。
例如,Sonar 开发了一种 AI 代码保证功能,可以识别机器生成特有的代码模式。该系统可以检测代码何时可能是 AI 生成的,即使没有与编码助手直接集成。然后 Sonar 对这些部分进行专门审查,寻找人工编写的代码中不会出现的幻觉依赖和架构问题。
Endor Labs 和 Sonatype 采用不同的技术方法,专注于模型来源。Sonatype 的平台可用于识别、跟踪和管理 AI 模型及其软件组件。Endor Labs 还可以识别代码库中何时使用开源 AI 模型并评估潜在风险。
如何有效使用 AI 工具生成企业应用程序代码
在企业环境中实施 AI 生成的代码时,组织需要采用结构化方法来降低风险,同时最大限度地发挥效益。
企业应考虑几个关键最佳实践,包括:
实施严格的验证流程:Shaukat 建议组织对代码库特定部分使用代码生成器的情况有严格的流程。这对于确保生成代码的正确问责制和审查级别是必要的。
认识到 AI 在复杂代码库方面的局限性:虽然 AI 生成的代码可以轻松处理简单的脚本,但在处理具有大量依赖关系的复杂代码库时,有时可能会受到限制。
了解 AI 生成代码中的独特问题:Shaukat 指出,虽然 AI 避免了常见的语法错误,但它往往会通过幻觉创造更严重的架构问题。代码幻觉可能包括编造一个实际不存在的变量名或库。
要求开发人员问责:Johnson 强调 AI 生成的代码本质上并不安全。开发人员必须在提交之前审查、理解和验证每一行代码。
简化 AI 审批:Johnson 还警告了影子 AI 的风险,即不受控制地使用 AI 工具。许多组织要么完全禁止 AI (员工会忽视),要么创建过于复杂的审批流程,导致员工绕过它们。相反,他建议企业创建一个清晰、高效的框架来评估和批准 AI 工具,确保安全采用而不会有不必要的障碍。
这对企业意味着什么
影子 AI 代码开发的风险是真实存在的。
组织在 AI 协助下可以生产的代码量正在急剧增加,并可能很快占所有代码的大部分。
对于复杂的企业应用程序来说,风险尤其高,因为一个幻觉的依赖关系就可能导致灾难性的故障。对于希望采用 AI 编码工具同时保持可靠性的组织来说,实施专门的代码分析工具正在从可选变为必需。
"如果你允许在生产中使用 AI 生成的代码而没有专门的检测和验证,你实际上是在盲目飞行,"Mattson 警告说。"我们看到的故障类型不仅仅是 bug——它们是可能使整个系统崩溃的架构故障。"
好文章,需要你的鼓励
本文探讨了AI驱动的网络攻击如何在短短51秒内突破网络防线,并介绍了CISO们应对这些超高速攻击的策略。重点包括零信任架构、身份验证强化、AI驱动的实时威胁检测等。文章强调了迅速撤销会话令牌、统一端点和云安全、以及从恶意软件检测转向凭证滥用预防的重要性。
Lovelace Studio 正在开发名为 Nyric 的 AI 工具,帮助玩家在生存制作类沙盒游戏中打造自己的游戏世界。玩家可以使用 AI 工具创建独特风格的世界,并与其他玩家互动。该工具旨在赋予独立创作者和社交玩家更多能力,让他们能够轻松构建和连接自己的虚拟世界。
随着AI代码生成工具的广泛应用,企业面临着新的挑战。AI生成的代码可能存在安全漏洞、架构问题和合规风险。为此,企业需要实施严格的验证流程,认识AI在复杂代码库中的局限性,理解AI代码的特有问题,要求开发人员对代码负责,并建立高效的AI工具审批机制。同时,专门的代码分析工具也变得不可或缺。
AI 语音克隆技术的滥用正日益成为企业面临的重大安全威胁。近期多起高调事件显示,不法分子利用 AI 生成的虚假音频视频进行诈骗。目前许多语音克隆应用缺乏有效防护措施,企业领导人的公开音频很容易被用于克隆。专家呼吁采取多因素认证等措施加强防范,并预计未来将出台更多监管措施和检测技术来应对这一威胁。