跳到正文
sobolewski.pro今日 AI,每晚送达订阅

每天一封,一键即可退订。 隐私政策

Postman 的 Claude Code 插件未经同意自动安装?一场 AI 插件风波

据 GitHub 报告,Postman Desktop 自行把插件装进 Claude Code 和 Codex,还自动批准了 hook。到底发生了什么?

1 分钟阅读

本文的其他语言版本:العربيةDeutschEnglishEspañolFrançaisItaliano日本語Polski

本文内容
  1. 到底发生了什么?
  2. Postman 的 hook 在 Claude Code 和 Codex 中做了什么?
  3. 这里有什么问题吗?
  4. 为什么会引起这么大的关注?
  5. 今后需要注意什么?
  6. 常见问题

10 月 25 日,一位昵称为 indicava 的 GitHub 用户 在 Postman 的仓库里提交了一份报告,称 Postman 桌面应用 自行在 Claude Code 和 Codex 中安装了 Postman 插件,安装程序还顺带批准了自己的启动 hook。11 月 3 日,这份报告登上 Hacker News 榜首,获得了 400 多分。

到底发生了什么?

报告的标题是“[SEVERE] Desktop auto-installs Codex/Claude plugins; installer attempts to trust its own startup hook”。作者描述的是 Mac 上的 Postman Desktop 12.33.4 版本,并列出了他在自己电脑上发现的东西:

  1. Claude Code 中的 Postman 插件(postman@claude-plugins-official,版本 2.0.1),对整个用户启用。
  2. Codex 中的 Postman 插件(版本 1.1.0),连同一个来自 GitHub 的 marketplace,以及一个已被标记为可信的 SessionStart 类型 hook。
  3. ~/.local/bin 中的 Postman CLI,其修改时间与安装时间段吻合。
  4. 一条指向 mcp.postman.com 的 MCP 服务器记录,该服务器因“Auth required”错误未能启动。

关键证据是应用日志:10 月 24 日 9:34(UTC),Postman 记录了一个 auto-existing-upgrade 事件,其中 Claude Code 和 Codex 的状态为“installed”。作者表示自己从未有意运行过安装,并要求 采用 opt-in 方式征得同意、取消 hook 的自我批准、说明是哪个 flag 开启了这一行为,并提供完整的回滚方法。

Postman 的 hook 在 Claude Code 和 Codex 中做了什么?

hook 的内容在 postman-plugin 仓库中公开可见。文件 hooks/session-start-context.md 会在每次会话开始时进入智能体的上下文,并被包裹在 <EXTREMELY_IMPORTANT> 标签里。它要求智能体在回答“任何非简单的 API 工程任务”(原文为“any non-trivial API engineering task”)之前加载 postman:api-engineer 这个 skill,也就是说,不只是在我们要求它在 Postman 里做事的时候。有意思的是,文件末尾写明,用户的指令,包括 CLAUDE.md 和 AGENTS.md,具有更高优先级。

第二个问题是信任。在 Codex 中,新的 hook 需要经过批准,但 插件的 README 明确写着,安装到 Codex 时 会自动批准 Postman 的 hook,而且不会另外弹窗询问。在安装程序的代码中,这由 approvePostmanHook 函数完成,它通过 codex app-server 写入 hook 的可信哈希。

这里有什么问题吗?

安装程序本身并不是秘密。根据 Postman 文档,命令 npx @postman/postman-plugin 会把插件安装到所有检测到的智能体中(包括 Claude Code、Codex、Cursor、GitHub Copilot CLI、OpenCode 等),并会请求确认,除非我们加上 --yes 这个 flag。问题在于,根据报告,是桌面应用在更新时运行了它,而且没有任何询问。

这里需要冷静看待。Hacker News 上的标题说 Postman“试图共享所有 API 数据”,但报告本身 并没有明确声称发生了数据泄露。作者还指出,他尚未在一台干净的 Mac 上完整复现整个过程。截至发稿时,GitHub 讨论串里还没有 Postman 的回应,其余评论主要是其他用户的反应(其中一位说,他那边在更新后脚本也自动运行了)。所以在公司回应之前,我们对这些细节要保持审慎。

为什么会引起这么大的关注?

因为它触及了我们越来越关注的一件事:谁往我们智能体的上下文里添加了什么。带启动 hook 的插件,就是智能体在每次会话中都会读到的一条指令;而自我批准的 hook,则绕过了 Codex 唯一会请求人类同意的环节。在 HN 的评论中,有些人补充了自己对 Postman 的指责,但那只是观点,并不是报告中确认的事实。

关于如何保护自己的环境,我在 AI 智能体安全 指南中写过;什么是智能体及其 harness,我在 什么是 AI 智能体 一文中做了解释。

今后需要注意什么?

如果你安装了 Postman Desktop,值得检查以下几个地方(报告作者列出的也是这些文件):

  1. 在 Claude Code 中,查看 ~/.claude/plugins/installed_plugins.json 和 ~/.claude/settings.json 里的插件列表。
  2. 在 Codex 中,查看 ~/.codex/config.toml 文件,包括其中的可信 hook。
  3. 查看 ~/.local/bin 目录里是否出现了 Postman CLI。

安装程序还提供 status(查看已安装内容)和 remove(从所有检测到的智能体中卸载)两个命令,README 中有说明。(根据文档,--dry-run 这个 flag 可以在删除任何内容之前显示 remove 将会做出的更改。) 一条通用原则:时不时检查一下我们的智能体连接了哪些插件、hook 和 MCP 服务器。

常见问题

Postman 会通过插件把我的 API 数据发送到云端吗?

GitHub 上的报告并没有这样说。作者表示他没有发现数据泄露,他列出的外部地址只有 GitHub 上的插件仓库,以及在他电脑上没能启动的 MCP 服务器 mcp.postman.com。

Claude Code 的 Postman 插件是官方的吗?

是的。Postman 以 postman@claude-plugins-official 的名称上架于 Anthropic 的官方 marketplace。争议并不在于插件本身,而在于根据报告,它是在用户未同意的情况下被装到电脑上的。

如何从 Claude Code 和 Codex 中删除 Postman 插件?

根据 README,运行 npx @postman/postman-plugin remove 即可,加上 --agent <id> 这个 flag 可以把更改限定在单个智能体上。不过报告作者仍在要求 Postman 提供完整的回滚指南,包括可信 hook 和缓存,因为目前还没有这样的指南。

  • AI
  • Claude Code
  • AI 智能体
  • 安全

今日 AI,每晚送达

每晚送上当天最重要的 AI 新闻和博客新文章。简明扼要,附有来源。

每天一封,一键即可退订。 隐私政策