Pillar Security 披露了 Deadbugz 攻击活动:2026 年 8 月 10 日,一个 GitHub 帐户在 74 分钟内提交了 23 个拉取请求(pull request),每个都添加了一个 MCP 服务器,该服务器起初表现正常,之后会指示所连接的 AI 代理搜寻凭据 [1]。MCP 即模型上下文协议,是许多 AI 代理用来调用外部工具的标准。
背景
MCP 服务器会告诉代理它提供哪些工具以及这些工具的作用,而代理会把这些描述当作指令来读。因此,一个在安装后更改其描述的服务器,可以在不改变审查者所见代码的情况下,改变代理的行为 [1]。
报告内容
这些拉取请求来自一个名为 zellkernel 的公开帐户,于 UTC 时间 21:52 至 23:07 之间被提交到多个互不相关的 AI 和开发者工具项目。其中 17 个配置了远程 MCP 端点,4 个引用了一个隐藏的本地 Python 脚本,2 个是目录收录提交。在 Pillar 审查时,19 个已被关闭,4 个仍处于打开状态,没有一个通过 GitHub 的合并机制被合并 [1]。
这个名为 productivity-suite 的服务器提供文本格式化和摘要功能。在所连接的客户端进行三次工具调用之后,它会改写自己的工具描述,指示代理搜寻 SSH 密钥、AWS 凭据、shell 历史记录和 Kubernetes 配置,同时向用户隐藏这些活动。Pillar 表示,在其分析时,该远程端点仍处于活动状态 [1]。
对 Mac 用户的影响
受到威胁的是那些在代理配置中添加 MCP 服务器,或接受此类拉取请求的开发者。Pillar 报告没有发生合并,因此按照描述,在审查时这场攻击活动尚未通过 GitHub 得逞。手动复制了其中某个配置的开发者不在这一统计之内 [1]。
建议
- 对任何添加或修改 MCP 服务器条目的拉取请求,都应像对待添加代码的请求一样仔细审查。
- 在电脑和代码仓库中搜索 Pillar 列出的端点和脚本路径,并撤销引入它们的更改。
- 按照 Pillar 的建议,优先使用在服务器于批准后更改其工具定义时会发出警告的 MCP 客户端。
- 尽可能让 SSH 密钥、云凭据和 shell 历史记录处于代理进程无法访问的位置。
与 FireAI 的关系
FireAI 不读取 MCP 配置或代理收到的指令,也无法让代理忽略这些指令。对于上文所述的远程服务器,每一次连接都是一个网络事件:某个 App 首次连接新的目标地址时,在提醒模式下会触发提示,而一条按 App 设置规则可以拦截该主机。一个在本地运行、只读取文件的服务器不会产生 FireAI 能够看到的网络流量。
局限
所获取的报告文本中没有显示发布日期。归属判断依据的是那个公开帐户,其背后的操作者身份不明。报告没有说明是否真的有代理执行了这些恶意指令,也没有说明是否有凭据被窃取 [1]。
免费试用 HisnLabs 的 FireAI 17 天。