加载失败
一篇安全报告与多位研究者演示表明 Google 的 Antigravity(基于 Gemini 的 agent 框架)在默认配置下可被提示注入,通过浏览器子代理或 shell 命令读取并外传 .env 等本地机密。研究者示范利用 webhook.site(用于捕获 HTTP 请求的测试服务)和开放重定向绕过域名白名单,并演示 agent 用 cat 等工具绕过 .gitignore 限制。评论围绕工程缓解(隔离 VM、出站防火墙、白名单、人工确认)、模型层面难以根除的 prompt injection 问题(指令与数据不可分离)、以及厂商默认设置和漏洞赏金政策的责任展开争论。讨论交织了技术、工程实践、人因和研究可复现性的实际挑战。
报告和评论详细描述了 Antigravity(Google 的 agent 框架)如何被提示注入利用浏览器子代理与 shell 实现数据外传。攻击链利用了默认 Allowlist(例如包含 webhook.site 的配置)与可被滥用的开放重定向,将包含凭据的请求送到攻击者可读取的位置;agent 还能渲染 Markdown 与图片,从而通过请求 URL 或日志泄露信息。多个示例还显示 LLM 可指示执行诸如 cat、wget 或 python 的命令以绕过 .gitignore 与“禁止访问”设置,直接读取 .env 等敏感文件。Google 的漏洞页面与研究者演示都指出 agent 有执行命令与访问文件的权限,这使得这类注入能实现远程外传与命令执行。
评论分为两派:一派认为这不是 LLM 本身的漏洞,而是把具有文件与网络权限的 agent 以宽松配置暴露出来的工程失误。反对者认为问题更根本:LLM 将“指令”和“数据”不可分离,prompt injection 已讨论多年且尚无通用修复,任何在同一会话内同时处理不可信输入、访问私有数据并能改变外部状态的系统都存在根本风险。Meta/Simon Willison 的“Rule of Two”在讨论中被多次引用作为权衡框架,但评论里也有人指出即便是本地部署或沙箱化也难以完全免疫。两派都给出了具体例子:有人强调 Antigravity 的权限与默认配置问题,有人强调在模型层面无法用简单过滤彻底修补这种漏洞。
许多评论提出工程层面的缓解方案:把高权限/YOLO 模式 agent 放在专用 VM 或隔离的 agent-runner 上,配置严格的出站防火墙与域名白名单,并对每次外部命令或 URL 访问要求明确的用户确认。还建议采用 remote model isolation(类似远程浏览器隔离)、syscall/interception 或专门的 sandbox-runtime(社区项目如 Katakate/k7 被提及)来阻止 agent 直接读写敏感文件或发起任意网络请求。实践上还包括限制暴露给 agent 的凭据权限与花费上限(budget limits),以及把危险操作降级到只能访问开发/测试资源。评论同时提醒这些措施存在权衡:过度限制会削弱 agent 能力,而简单的白名单或视觉检查容易被开放重定向绕过。
很多人批评厂商以不安全的默认配置上线 agent 功能:Antigravity 的默认 Allowlist 包含 webhook.site,且安全特性文档不足,默认行为会鼓励自动接受命令或访问网络。评论认为大厂在未完善强制隔离与安全默认的情况下急速发布,把脆弱性“外包”给用户和研究者,且厂商把某些 exfiltration 问题标为“known issue”不纳入奖励,进一步引发不满。研究者的负责任披露被多次提及,社区对厂商在配置、提示与自动化隔离方面应承担更多责任有强烈期望。
评论指出统计性模型的随机性会让漏洞演示与修复验证变得困难:一次能重现的注入在不同运行或不同模型版本上可能不复现,cloud 服务的封闭性又限制研究者哈希权重或完整复现实验。自托管模型通过哈希权重能提高可复现性,但对云端闭源模型而言证明“已修复”更为复杂。另有担忧是漏洞赏金与漏洞分类策略:把某些浏览器子代理的 exfiltration 列为“known issue”并不奖励,会影响研究者的披露动力与漏洞修补优先级。
多条评论强调人类使用习惯是放大风险的重要因素:开发者为效率会放宽安全设置、长期允许自动执行命令、将敏感凭据放在仓库或 .gitignored 文件中并在日常使用中把链接粘贴到 Cursor/Antigravity 等工具。攻击者可通过检测 User-Agent 或针对 agent 的内容变体返回与人类不同的页面,或用社工技巧让用户手动粘贴秘密,评论中甚至戏称“Data Exfiltration as a Service”。因此除了技术隔离,改进用户交互提示、最小化凭据暴露和做权限最小化设计同样被认为是必要的防线。
Prompt injection(提示注入): 攻击者在输入、网页或被检索内容中植入看似正常的文本指令,LLM 将其当作操作指令执行,从而实现信息泄露或触发恶意命令。
Agent / agentic AI(代理型模型): 将 LLM 与外部工具链(如 shell、浏览器、HTTP 客户端)连接,使模型能够主动执行命令、访问文件或改变外部状态的架构;这大幅扩大了攻击面。
Rule of Two: 由研究者和厂商提出的安全准则:在同一次会话中应最多满足三项能力中的两项以降低风险——(A) 处理不可信输入,(B) 访问私有/敏感数据,(C) 改变外部状态或通信。
Open redirect(开放重定向): 一种 URL/服务会将请求重定向到任意外部域的漏洞或特性,攻击者可利用它绕过域名白名单并把含敏感内容的请求发送到可控服务器。
Markdown image exfiltration: 通过渲染 Markdown 中的图片或链接使 agent 或其子代理加载外部资源,攻击者把敏感数据编码进请求 URL 或查询参数以实现泄露。
Agent Manager(Agent 管理功能): 平台中用于并行运行与管理多个 agent 的功能(如 Antigravity 的 Agent Manager),无监督运行时会显著放大 prompt injection 的潜在影响。