思想领袖

无秘密的必然性:为什么传统的安全模型在AI代理接触代码时就会崩溃

mm

2023年4月,三星发现其工程师将敏感信息泄露给ChatGPT。但那是意外的。现在想象一下,如果这些代码仓库中包含故意植入的指令,人类无法看到,但AI可以处理,旨在提取不仅仅是代码,还有API密钥、数据库凭据和服务令牌。这种情况并非假设。安全研究人员已经证明这些“不可见的指令”攻击是有效的。问题不是是否会发生,而是何时会发生。

不再存在的边界

几十年来,我们一直在安全的基础上建立假设:代码就是代码,数据就是数据。SQL注入教会我们参数化查询。跨站点脚本攻击教会我们转义输出。我们学会了在程序执行和用户输入之间建立墙壁。

但是,随着AI代理的出现,这个边界已经消失了。

与确定性软件不同,Large Language Models是概率黑盒,无法区分合法的开发者指令和恶意输入。当攻击者向AI编码助手提供提示时,他们不仅仅是在提供数据,还在实时重编程应用程序。输入已经成为程序本身。

这代表了我们对应用程序安全的理解发生了根本性的变化。传统的基于语法的防火墙,寻找恶意模式,如DROP TABLE或标签,在面对自然语言攻击时完全失败。研究人员已经证明了“语义替换”技术,可以通过在提示中用“苹果”替换“API密钥”来完全绕过过滤器。如何防火墙意图,当它被伪装成无害的对话时?

没有人讨论的零点击现实

以下是大多数安全团队不理解的内容:提示注入不需要用户输入。这通常是零点击漏洞。AI代理仅仅扫描代码仓库进行日常任务、审查拉取请求或阅读API文档,就可以在没有任何人机交互的情况下触发攻击。

考虑以下场景,基于研究人员已经证明的技术:恶意行为者在流行的开源库的文档中嵌入不可见的指令,作为HTML注释。每个分析此代码的AI助手,无论是GitHub Copilot、Amazon CodeWhisperer还是任何企业编码助手,都有可能成为潜在的凭据收集器。一个受损的库可能意味着成千上万个暴露的开发环境。

危险不在于LLM本身,而在于我们赋予它的代理权。我们一旦将这些模型与工具和API集成,允许它们获取数据、执行代码和访问机密,我们就将有用的助手转变为完美的攻击向量。风险不随着模型的智能而增加,而是随着其连接性而增加。

当前方法的失败

行业目前痴迷于“对齐”模型和构建更好的提示防火墙。OpenAI添加更多的护栏。Anthropic专注于宪法AI。每个人都试图制造出不能被欺骗的模型。

这是一个失败的战斗。

如果AI足够聪明以至于有用,那么它就足够聪明以至于被欺骗。我们陷入了我所谓的“净化陷阱”:假设更好的输入过滤将拯救我们。但攻击可以被隐藏在HTML注释中,深埋在文档中,或以我们尚未想到的方式编码。你不能净化你不能理解的东西,而上下文正是使LLM强大的原因。

行业需要接受一个残酷的真相:提示注入将会成功。问题是,当它发生时会发生什么。

我们需要的架构转变

我们目前处于“补丁阶段”,拼命地添加输入过滤器和验证规则。但是,就像我们最终学会防止SQL注入需要参数化查询,而不是更好的字符串转义一样,我们需要一个针对AI安全的架构解决方案。

答案在于一个听起来简单但需要重新思考我们如何构建系统的原则:AI代理永远不应该拥有它们使用的秘密。

这不仅仅是更好的凭据管理或改进的金库解决方案。这是关于将AI代理识别为独特的、可验证的身份,而不是需要密码的用户。当AI代理需要访问受保护的资源时,它应该:

  1. 使用其可验证的身份(而不是存储的秘密)进行身份验证

  2. 仅为该特定任务而获得即时凭据

  3. 使这些凭据在几秒或几分钟内自动过期

  4. 永远不存储或“看到”长期秘密

已经有几种方法正在出现。AWS IAM角色用于服务账户Google的工作负载身份HashiCorp Vault的动态秘密以及专门为此设计的解决方案,如Akeyless的零信任配置,都指向了这个无秘密的未来。实现细节可能有所不同,但原则仍然相同:如果AI没有秘密可窃取,提示注入将成为一个较小的威胁。

2027年的开发环境

在三年内,.env文件将在AI增强的开发中死亡。长期API密钥放在环境变量中将被视为我们现在对明文密码的看法:一种更加天真的时代的尴尬遗物。

相反,每个AI代理将在严格的权限分离下运行。默认为只读访问。操作白名单作为标准。沙盒执行环境作为合规性要求。我们将停止尝试控制AI的思考,专注于控制它可以做什么。

这不仅仅是一种技术演进,也是信任模型的根本转变。我们正在从“相信但验证”转变为“永远不相信,总是验证,并假设已经被攻破”。最小特权原则,长期以来被宣扬但很少实践,当你的初级开发人员是一个每天处理成千上万个潜在恶意输入的AI时,这一原则变得不可商量。

我们面临的选择

将AI集成到软件开发中的趋势是不可避免的,并且在很大程度上是有益的。GitHub报告称,使用Copilot的开发人员可以将任务完成速度提高55%。生产力收益是真实的,没有一家想要保持竞争力的组织可以忽视它们。

但是,我们站在一个十字路口。我们可以继续沿着当前的道路前进,添加更多的护栏,构建更好的过滤器,希望我们可以制造出不能被欺骗的AI代理。或者,我们可以承认威胁的根本性质,并相应地重建我们的安全架构。

三星事件是一个警告信号。下一次违规事件不会是意外的,也不会仅限于一家公司。随着AI代理获得更多功能并访问更多系统,潜在的影响会指数级增加。

每个CISO、每个工程领导和每个开发人员的问题很简单:当提示注入在您的环境中成功(并且它会)时,攻击者会发现什么?他们会发现一个充满长期凭据的宝藏,还是会发现一个AI代理,即使被破坏,也没有秘密可窃取?

我们现在做出的选择将决定AI是否会成为软件开发的最大加速器,还是我们创造的最大漏洞。构建安全的无秘密AI系统的技术已经存在。问题是,我们是否会在攻击者迫使我们这样做之前实施它。

OWASP已经将提示注入识别为LLM应用程序的第一个风险NIST正在制定零信任架构的指导方针。框架已经存在。唯一的问题是实施速度与攻击演化的速度。

Bio:拉法埃尔·安吉尔是Akeyless的联合创始人和CTO,他开发了该公司的专利零信任加密技术。作为一名具有深厚密码学和云安全专业知识的资深软件工程师,拉法埃尔此前曾在Intuit的以色列研发中心担任高级软件工程师,负责在公共云环境中管理加密密钥,并设计机器身份验证服务。他19岁时就获得了耶路撒冷科技学院的计算机科学学士学位。

拉法埃尔·安吉尔(Refael Angel)是Akeyless的联合创始人和CTO,他开发了公司的专利零信任加密技术。作为一名具有深厚加密和云安全专业知识的资深软件工程师,拉法埃尔此前曾在以色列Intuit的研发中心担任高级软件工程师,他在那里构建了用于管理公有云环境中加密密钥的系统,并设计了机器认证服务。他从耶路撒冷科技学院获得了计算机科学学士学位,当时他只有19岁。