> status: mostly fine. patch anyway.practical AI security · est. 2026

Brief · Builders

Your coding agent's settings file is the new proxy setting.

By alkizz ·

Symantec's Threat Hunter Team published a write-up on Oct 29 about a grey-market relay service that sells access to OpenAI's Codex and Anthropic's Claude Code, mostly in mainland China, where neither vendor officially sells them. The relay doesn't ship a fake client. Users install the real CLI from npm, then run a one-line setup script that rewrites the tool's settings so every request goes through the relay's servers instead of OpenAI's or Anthropic's. In Codex's case it also flips the sandbox to danger-full-access. Symantec says it has seen this at a dozen organizations since early 2026.

Symantec is careful about what this is and isn't, so I will be too. In its words: "This is not a vulnerability in Codex or Claude Code. The tools are behaving as designed once their configuration has been changed." And: "There is no evidence the operator is currently abusing its position."

So why write it up? Because the trick isn't regional. Your coding agent's base URL is the new proxy setting. Whoever controls it sees every prompt, file and secret you send the agent, and gets to write the answers that come back. If that same settings file also has the sandbox switched off, those answers can run as you.

What's actually confirmed

Why the settings file is important

Both tools let you point them at a different API endpoint, on purpose, because companies run LLM gateways. Codex has openai_base_url and custom model_providers.<id>.base_url entries. Claude Code's ANTHROPIC_BASE_URL is documented as a way to "route requests through a proxy or gateway," and its settings reference shows it set in the env block of settings.json. That's a legitimate feature, and it's exactly the one the relay uses.

The good news is that Codex already won't take those keys from a repo. Per its config reference, a project-local .codex/config.toml can't set openai_base_url, chatgpt_base_url, model_provider or model_providers, so they have to live in your user-level config. That's why this relay needs you to run its script, and it's also why a quick look at one file on each machine tells you a lot.

The sandbox part is what turns "someone reads my prompts" into "someone can run commands as me." Codex's sandboxing docs define full access as sandbox_mode = "danger-full-access" together with approval_policy = "never". Symantec puts it bluntly: with the sandbox off and network on, "a malicious or compromised response could execute with the full privileges of the user's account." The relay's keys also sit in user-scope environment variables, so per Symantec any other tool on that machine that reads them can pick them up.

We've been here before with a planted AGENTS.md in Downloads, which tried to talk the agent into rewriting these same settings files. This time nobody had to trick the agent. A person pasted the command.

The score

I'd call it a 2, mostly calm. It isn't a bug, Symantec has seen no evidence the operator is abusing its position, and it only reaches you if someone on your team chose to route their agent through an unofficial reseller. Still, the check takes five minutes, and if anyone on your team has gone shopping for cheaper Codex or Claude Code access, treat yourself as a 3 and look this week.

What to do:

Sources

← All briefs