一名安全研究人员展示了恶意 LLM 端点如何劫持 AI 驱动的编程代理并窃取本地文件。在一次概念验证中,该编程助手将一个 224 KB 的会话数据——包括目录列表、工具清单和私有文件内容——上传到了一个伪造的“兼容 DeepSeek”的 API,该 API 在免费 AI 后端服务中进行宣传。

劫持是如何运作的

扫描器首先发现了一个暴露的 LLM 蜜罐。攻击者将该蜜罐重新包装成合法的 DeepSeek 端点,并将其与其他免费服务一同列出。当开发者的编程代理为了“免费”访问而选择该端点时,恶意模型就会接管代理的控制平面。它会发送工具调用(tool-call)指令,而代理在不检查来源的情况下直接执行这些指令。随后,代理会将其内部会话数据——文件系统快照、工具配置以及任何已打开的文件——直接流式传输到攻击者的服务器。

为什么这是一种供应链威胁

这种攻击绕过了任何受信任的云提供商。相反,它将一个虚假的推理后端注入到开发者的工具链中。追求免费 API 访问的用户在不知不觉中成为了最薄弱的环节。由于恶意端点可以发出任意的工具调用,它可以窃取代理能够触及的所有数据,从而将开发者的机器变成数据泄露的渠道。

谁面临风险

任何依赖外部 LLM 端点使用 AI 编程助手的人——尤其是那些会自动执行工具调用的助手——都面临风险。小型团队和爱好者最容易受到攻击;他们在使用免费服务时往往缺乏严格的审查。而将此类代理集成到 CI/CD 流水线中的企业可能会泄露内部代码库和配置文件,从而危及合规性。

缓解措施

  • 验证后端:仅将编程代理连接到官方文档说明且经过身份验证的 LLM 端点。
  • 强制执行运行时检查:添加一个验证层,在工具调用负载到达本地执行环境之前对其进行检查。
  • 限制文件访问:在具有最小文件系统权限的沙箱容器中运行代理。
  • 审计日志:持续监控代理发出的出站请求,检查是否存在异常的目的地或数据量。

反方观点

免费的 API 服务降低了 AI 辅助开发的门槛,许多用户接受成本与安全之间的权衡。然而,演示中展示的私有文件外泄表明,这种风险可能会迅速超过节省的成本,尤其是在涉及专有代码或凭据时。

核心结论: 免费的 LLM 端点隐藏着一种代价——潜在的数据窃取。在允许 AI 编程代理在本地运行之前,请务必审查每一个后端并实施严格的运行时防护措施。

详情请阅读完整的技术报告: https://gridthegrey.com/posts/rogue-llm-endpoint-hijacks-coding-agent-sessions-via-free-api/