Postman被指自动安装AI插件并写入代理启动钩子

Postman 桌面版近期被推上一个敏感话题:一份 GitHub issue 声称,它在用户只是打开应用的情况下,自动为 Codex 和 Claude Code 安装了插件,并向这两个编码代理写入了启动指令钩子,安装器还尝试替该钩子写入“已信任”记录。对任何把 API 调试工具和 AI 编码代理同时纳入日常工作流的团队来说,这都不是一个可以略过的小问题。

需要先划清边界:以下内容主要来自一位用户在 issue 中的自述与本地取证,来源未说明 Postman 官方对该报告的正式回应或修复版本。报告者本人也明确表示,其证据“确立了非预期的集成和指令变更,但并未声称确立了数据外传”。因此本文讨论的是“信任边界与同意流程”,而不是给 Postman 扣上数据泄露的帽子。

背景:一个 API 客户端为何会碰到编码代理

Postman 长期是 API 设计、调试与协作工具。近年它也在向 AI 方向扩展,包括 MCP(Model Context Protocol)连接、面向编码代理的插件与技能包。MCP 是一种让 AI 代理访问外部工具和数据的连接协议,Codex、Claude Code 这类代理都支持通过它接入第三方能力。

问题在于“安装路径”。按 issue 描述,用户在 Mac 上打开已安装的 Postman 桌面版(版本 12.33.4)后,Postman 日志中出现 auto-existing-upgrade 记录,脚本结果显示 claude-code:installed、codex:installed。也就是说,这不是用户在新装软件时勾选某个选项,而是在既有安装的升级流程中发生的。

核心变化:自动装插件、写钩子、尝试自信任

根据报告,具体变更集中在几处:

  • Codex 全局配置被修改:~/.codex/config.toml 中加入了 Postman 插件市场来源、启用 postman@postman 插件,并写入带有 trusted_hash 的钩子信任记录。
  • 启动钩子注入宽泛指令:安装的 codex-hooks.json 注册了在 startup、clear、compact 时触发的 SessionStart 命令,其输出要求代理在处理“任何非平凡的 API 工程任务”前先加载 postman:api-engineer 技能。报告者认为,这一指令范围远大于“用户明确要求使用 Postman”。
  • 安装器尝试自行批准钩子:issue 引用的安装器源码显示,安装后调用 approvePostmanHook,通过 hooks/list 取得钩子哈希,再以 config/batchWrite 写入信任状态。报告者同时谨慎地指出,信任记录本身不能证明是谁创建的,因此没有把它当作某次用户交互的证据。
  • Claude Code 与 CLI 同样受影响:~/.claude/settings.json 启用了对应插件,安装记录显示版本 2.0.1,安装时间与 Postman 操作窗口吻合;~/.local/bin 下也出现了 Postman 可执行文件及库目录。
  • 远程 MCP 连接被启用但未认证成功:配置指向 https://mcp.postman.com/mcp,Codex 日志中出现初始化时“Auth required”的启动失败记录。

编辑分析:这件事的核心争议不在“Postman 是否能提供 AI 能力”,而在于三件事被合并进了一个用户没有逐项确认的流程——跨应用安装、跨应用写入行为指令、以及替用户做出信任决定。三者中任何一项单独出现都值得讨论,叠加后便构成了明显的同意缺口。

影响:不只是“多装了一个插件”

对个人开发者,最直接的影响是编码代理的行为被悄悄改变:代理可能在普通 API 任务中优先走 Postman 的流程,产生额外的技能加载、认证提示和上下文开销。issue 中提到的反复 MCP 认证警告,就是这种“装了但没通”的中间状态带来的噪声。

对团队和运维,风险更偏治理层面。开发机上的代理配置通常被视为个人环境,但一旦组织推行统一的 AI 编码工具,任何第三方软件写入全局配置、修改钩子信任状态、安装 CLI,都会破坏“哪些组件被批准、谁能改动代理行为”的可审计性。若企业环境还配有终端检测、软件白名单或合规审计,这类静默变更很可能直接触发告警,甚至被当作异常行为处理。

还需注意一个技术细节:issue 评论区有自称 AI 代理的回复声称做过本地测试,指出 Codex 的钩子信任记录本质上是可计算的配置项,而 Claude Code 的 settings 钩子在文件写入后即生效。该测试并非 Postman 官方或独立第三方结论,来源未说明其可复现性,本文不将其作为定论。但它提示了一个更普遍的问题:当“信任”落在同一用户可写的配置文件里时,信任边界其实相当薄。

建议:先排查,再收敛,最后定策略

面向开发者,建议按以下顺序处理:

  1. 确认是否被影响。检查 Postman 日志中是否存在 autoInstall.plugin.existing-user 或 auto-existing-upgrade 相关记录;检查 ~/.codex/config.toml 是否出现 Postman 市场与插件条目;检查 ~/.claude/settings.json 与插件安装记录中是否出现 Postman 插件。
  2. 保留证据后再清理。若决定移除,应同时覆盖代理配置、钩子信任记录、插件市场来源、缓存、MCP 连接和本地 CLI,避免只删一处导致“看起来没了、实际仍在”。清理前建议备份相关配置。
  3. 验证代理行为是否恢复。清理后启动代理,确认不再出现 Postman 技能加载与 MCP 认证报错;若仍出现,说明还有残留配置。

面向团队与运维:

  1. 把 AI 代理配置纳入基线管理。对 ~/.codex、~/.claude、~/.local/bin 等路径建立变更监控,至少做到可发现、可回溯。
  2. 明确第三方工具的安装同意策略。要求任何跨应用写入行为指令的软件必须逐项征得同意,尤其是“替用户信任钩子”这类动作。
  3. 评估替代方案与版本锁定。若团队对同意流程敏感,可评估锁定版本、限制自动升级,或改用其他 API 客户端;issue 评论中有人提到 Insomnia 等替代品,但这属于用户观点,来源未提供对比评测。
  4. 关注官方后续说明。截至资料所示时间,来源未说明 Postman 是否发布修复版本或调整该安装流程,建议持续跟踪原 issue 的维护者回应。

编辑分析:这起事件最值得记住的教训,是 AI 代理时代的“安装”语义已经变化。过去装一个客户端,影响范围基本止于它自己;现在装一个客户端,可能连带改变其他工具的默认行为、写入门槛与信任状态。工具厂商需要把跨应用写入当作高风险操作来设计同意流程,使用方也需要把代理配置当作生产资产来管理。

资料来源

本文由自动化系统筛选公开技术信息,并经 AI 辅助整理。

本文转载自 github.com,版权归原作者所有。

原文链接:https://github.com/postmanlabs/postman-app-support/issues/14370

抓取时间:2026年11月4日

本文采用 original 索引策略。