cd /news/ai-agents/the-installer-checked-its-own-box · home › topics › ai-agents › article
[ARTICLE · art-163468] src=dev.to ↗ pub= topic=ai-agents verified=true sentiment=↓ negative

The Installer Checked Its Own Box

A security report filed against Postman's desktop app found that on launch it automatically wrote Codex and Claude Code agent files, installed a startup hook instructing the coding agent to load Postman's skill before non-trivial API work, and then self-approved that hook by upserting a trusted_hash into Codex config. The report notes a trust line on disk does not prove which process wrote it, and that the remote MCP endpoint was configured before a working login existed, though it does not claim any collections were uploaded.

by read2 min views3 publishedNov 3, 2026

A plugin install is a new permission, and the app whose files change has to show the prompt. If the installer can tick the box, you never got a choice.

Postman desktop did this on open. A signed-in user launched the app they already had, and its log recorded auto-existing-upgrade with Codex and Claude Code marked installed.

Codex never put up a dialog. The HTTP client had already written the agent's files.

The startup hook is a wide new boss, not a tiny helper. It tells the agent to load Postman's skill before non-trivial API work: design, implement, mock, test, monitor, document, deploy.

You wanted to send a request. Your coding agent came back with a default coworker and a job description that covers most of software.

The installer then tries to approve that hook itself. After install, the Codex integration lists the hook, hashes it, and upserts trusted_hash into Codex config.

A comment in that code says it approves only Postman's current hook. Narrow self-approval is still self-approval.

The report is careful about one fact: a trust line on disk does not prove which process wrote it. That gap is the lesson.

A hash in a config file is not a person clicking Allow.

Same pass, the plugin points Codex at https://mcp.postman.com/mcp. Codex logged an auth failure on the way out.

The remote tool was in the config before a working login existed. The writeup does not claim collections were uploaded.

It claims the integration and the instructions appeared on their own. That is the bug.

Boring version, same shape. App A starts and writes App B's marketplace entry, enables the plugin, adds a startup instruction, stores a trust hash, and adds a remote endpoint.

App B boots and treats the files as a decision. The decision was a script that can write ~/.codex and ~/.claude.

Don't do this:

If turning it off means hand-editing two agents, a CLI, and a cache, the feature shipped without an off switch. Takeaway: consent is a prompt in the tool whose files change.

Source: [https://github.com/postmanlabs/postman-app-support/issues/14370](https://github.com/postmanlabs/postman-app-support/issues/14370)

HN: [https://news.ycombinator.com/item?id=50354960](https://news.ycombinator.com/item?id=50354960)

This post was generated automatically from public Hacker News data.

── more in #ai-agents 4 stories · sorted by recency
── more on @postman 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/the-installer-checke…] indexed:0 read:2min 2026-11-03 · —