仅仅点击一个错误的链接,其后果已不再仅仅是窃取密码或安装恶意软件。它可能会在你的组织内部孕育出一个持久化的 AI Agent,它会读取你的电子邮件,翻找你的文件,并以你的名义与同事聊天。Zenity Labs 的安全研究人员通过一种被称为 AgentForger 的技术展示了这一场景,其运作机制揭示了我们在保护自主 AI 工具方面存在的一个令人不安的漏洞。
从 CSRF 到 AgentForger:一种新型攻击
大多数安全专业人员都知道跨站请求伪造(Cross-Site Request Forgery,简称 CSRF)是一种经典的 Web 漏洞。在传统形式中,攻击者会诱导已通过身份验证的用户浏览器发送单个未经授权的请求。也许是更改账户邮箱地址,或者是禁用双重身份验证。其破坏范围通常局限于单一操作。
AgentForger 彻底打破了这种模式。它不再是伪造单个请求,而是在 OpenAI 的 ChatGPT Workspace Agents 内部伪造出整个自主 Agent。攻击始于 ChatGPT Agent Builder,其地址为 chatgpt.com/agents/studio/new。在正常情况下,构建 Agent 是一个需要人工参与的过程。你需要选择模板,审查 Agent 可以访问哪些工具,并设置防护栏,以便机器在读取收件箱或写入云端硬盘之前会先进行询问。该工作流假设人类在每一步都会进行关注。
Zenity Labs 发现,当攻击者控制 URL 时,这些防护措施就会烟消云散。通过嵌入特定的查询参数——即 template_name 和 initial_assistant_prompt——恶意链接可以预先填充整个创建表单。当受害者点击时,initial_assistant_prompt 会被自动提交并执行。模板选择、工具审查和权限对话框根本不会出现。Agent 会直接在后台生成,其配置完全符合攻击者的意图,而受害者可能只看到一个普通的 ChatGPT 页面加载,然后就关闭了标签页。
这不是传统的恶意软件感染。没有任何东西会被下载到笔记本电脑上。威胁完全存在于受害者的 SaaS 会话中,并利用其背后平台的全部合法性进行操作。
劫持信任而非凭据
AgentForger 真正的残酷之处在于它处理权限的方式。ChatGPT Workspace 的企业用户通常会通过 OAuth 将其 AI Agent 连接到业务应用程序。他们只需进行一次身份验证即可连接 Gmail、Outlook、Slack、Google Drive 或 Microsoft Teams,此后 Agent 就可以代表他们查询这些服务。
AgentForger 会自动继承所有这些访问权限。由于受害者已经登录了 ChatGPT 并建立了这些 OAuth 连接,伪造的 Agent 会直接复用它们。受害者不会看到新的授权界面询问是否允许这个新 Agent 进入其电子邮件。系统将该 Agent 视为用户的延伸。
在 Zenity 的演示中,攻击者精心构造了恶意 URL,以执行更具侵略性的操作。它指示 Agent Builder 将读取、写入和删除的所有权限开关全部切换为“从不询问”。通常情况下,平台在执行敏感操作(如打开电子表格、发送消息、删除日历事件)之前会提示人工确认。通过将这些控制强制设为静默模式,攻击者完全排除了“人工介入”(human-in-the-loop)。Agent 变成了账户中的幽灵,可以在连接的应用中自由穿梭,而不会产生任何警报或确认对话框。
隐匿于眼前的命令通道
持久化将一个棘手的漏洞利用变成了运营噩梦,而 AgentForger 通过 ChatGPT 内置的调度功能实现了持久化。攻击者在创建过程中设置了多个交错的调度计划,从而产生一个每隔五分钟就会唤醒并运行一次的 Agent。
以下是命令与控制(C2)循环的工作原理。攻击者向受害者的 Outlook 收件箱发送一封电子邮件。主题行包含一个触发词,例如“TASK”。每隔五分钟,该恶意 Agent 就会扫描收件箱以寻找该触发词。一旦找到匹配项,它就会打开邮件,读取指令,使用受害者已认证的应用执行指令,并将结果发回给攻击者。
受害者的企业邮箱本身就变成了命令与控制(C2)基础设施。没有可疑的 DNS 信标,没有与东欧未知 IP 地址的连接,也没有可供端点检测标记的恶意软件二进制文件。流量通过完全合法的凭据流经 Microsoft 或 Google API。对于监控网络日志的安全运营团队来说,这看起来就像一名忙碌的员工正在使用获准的 SaaS 工具。
现实世界的影响:映射组织架构与将信任武器化
Zenity Labs 在受控环境中测试了这种攻击的实际极限,其结果足以让任何 CISO 感到担忧。
通过邮件触发器发送的一条指令,研究人员便命令智能体对组织进行架构映射。它查询了 Slack、Microsoft Teams 和 SharePoint,并返回了频道名称、团队结构和文件库。该智能体定位到了敏感文档,包括并购(M&A)条款清单和员工薪酬数据。每一次访问都记录在受害者的合法身份下,这使得取证检测变成了一个从正常用户噪声中分辨恶意用户噪声的问题。
此外还有社会工程学的潜力。由于智能体可以通过受害者的官方 Slack 或 Teams 账号发送消息,它可以进行内部钓鱼攻击,从而完全绕过外部邮件网关和 DMARC 检查。想象一下,收到一条来自信任同事的私信,要求你确认即将进行的 SSO 部署,或者点击链接测试新的福利门户。这条消息带有同事的名字、头像和聊天历史上下文。它出现在你昨天讨论午餐计划的同一个对话线程中。这种信任程度与伪造域名或拼写错误的发送者地址有着本质的区别,而 AgentForger 正是无情地利用了这一点。
核心启示
AgentForger 揭示了企业级 AI 平台在继承信任方面存在的结构性问题。我们正在构建能够自我调度、编写代码并查询敏感数据的自主智能体,但我们使用的权限模型仍然是为静态 Web 应用程序设计的,即由人类点击每一个按钮。“用户所做的”与“用户的智能体所做的”之间的界限已经崩溃,攻击者现在已准备好大规模利用这种崩溃。
使用 ChatGPT Workspace 的组织需要将智能体创建视为一种特权操作,而非普通的日常工作流。这意味着需要审计 OAuth 作用域,以确保智能体无法静默访问整个收件箱或文件存储。这意味着要监控那些看起来像是定时循环而非人类操作节奏的突发活动。这也意味着要意识到,下一次大规模数据泄露可能并非始于密码泄露或钓鱼邮件,而是始于一次分心的点击,从而将你的身份静默地委托给了一台永不休息的机器。
