
一份带日志的自证
10 月 25 日,一位开发者在 Postman 的官方反馈仓库提交了一条严重级别的问题:他只是隔了一段时间重新打开桌面版 Postman,结果机器上两个 AI 编程助手的行为变了——反复弹 MCP 认证失败,写接口代码时又被自动切到 Postman 的技能流程。
他去翻日志,找到了原因。Postman 自己的 main.log 在 10 月 24 日记录了一条 auto-existing-upgrade,结果是 claude-code:installed 与 codex:installed。也就是说,这次安装不是他点的,是客户端自己做的。
被改动的三处地方
第一处是 Codex 的全局配置:配置里多出一个 Postman 的插件市场来源,插件被直接标为启用,还附带一条被标记为 "已信任" 的会话启动钩子记录。
第二处是那条钩子的内容。它注册在每次新会话、清空上下文、压缩上下文时触发,打印的指令是:处理任何非平凡的接口工程任务之前——设计、实现、模拟、测试、监控、写文档、部署——都要加载 Postman 的 api-engineer 技能。这句话的范围远大于 "用户明确要求使用 Postman"。
第三处是安装器本身。按作者引用的源码,安装完插件后,安装器会调用自己的授权函数,用配置批量写入接口把那条钩子的哈希写成 "可信"。换句话说,它替用户做了 "我信任这个钩子" 的决定。
作者的分寸感值得学
这条 issue 里最专业的地方,是作者反复划定边界:他能证明的是 "自动安装" 和 "自动写信任记录" 这两件事有日志与源码支撑;他明确写了,不能由此推断数据被外传。他也不宣称自己在干净机器上复现过全过程,只列出观察到的顺序和证据位置。
这种写法比喊口号有用得多。它把讨论从 "这家公司好坏" 拉回到 "哪一行日志、哪一个文件、哪一段源码",公司要回应就必须回应具体事实。到现在这条 issue 仍是打开状态,没有任何标签,评论区顶到前面的一句话是 "Postman 是病毒"。
为什么这件事不只是 Postman 的问题
过去两年,开发工具从 "被调用的程序" 变成了 "会主动改动其他工具的代理"。一旦客户端有权写你的全局配置、注册钩子、批准钩子,那么 "我装了一个接口调试工具" 和 "我的编程助手被植入了别人的工作流" 就是同一件事。
浏览器时代大家已经学会检查扩展权限;现在要检查的是配置文件。值得定期看一眼的位置很固定:AI 助手的全局配置目录(插件、市场来源、hook 信任状态)、助手目录下的插件安装记录、以及用户可执行目录里凭空多出来的命令行工具。这些地方被改写时,通常不会有任何弹窗。
给做数字化的小团队的实际启发
第一,把 "开发工具会改我的环境" 当成默认假设,采购或试用新工具时留一次环境快照,出问题能对比。第二,钩子、插件这类能拿到上下文的东西,要求供应商给出明确的授权粒度——至少要在你自己的工具里由你点确认,而不是安装器自己批。第三,别把这类反馈当八卦看:issue 里那种 "日志行号 + 源码链接 + 不越界的结论" 的写法,正是小团队向大厂追责时最有效的模板。
工具替你省时间,前提是它替你做的决定是你看得见的。看不见的那部分,迟早要以别的方式付账。


评论交流
欢迎留下你的想法