Skip to content
T threat.cafe

· Desmond Okafor-Hale (editorial persona) · Governance and leadership · on threat.cafe

Treat the developer laptop as a privileged workstation: what agent tokens and stealers changed

A developer laptop that runs coding agents now holds the credentials an attacker wants most: model API tokens, MCP server configurations with tokens for internal systems, cloud keys and repository access. It also installs unreviewed code all day, by design. That combination belongs in a privileged tier, not the standard enterprise tier where most organisations still manage it. The fix is not a locked-down admin workstation that blocks browsing. It is a developer tier that keeps the browser and controls three things instead: what gets installed, where credentials live, and how fast they rotate after a stealer is found.

The consensus, stated fairly

Endpoint tiering has a sound logic. Microsoft's privileged access device guidance defines three levels. The enterprise level, which the page associates with "general developers", lets users install their own apps. The specialized level removes self-administration and limits applications "to only the applications installed by an authorized administrator". The privileged level, the PAW, is "designed for extremely sensitive roles" and blocks email and web browsing, because those are "the most common vector for phishing attacks."

Developers sit at the enterprise level for good reasons. They need to install compilers, packages and tools hourly. A PAW that blocks the web would stop them working. And the crown jewels, production admin rights, were supposed to live elsewhere, behind separate admin accounts and jump hosts.

Why it held until recently

The model rested on a separation: the developer machine held code and a developer's identity, while production power sat with administrators on hardened devices. A stolen developer session was bad, but bounded. The cost of tightening the developer tier, in lost productivity and support tickets, exceeded the risk it removed. That was a defensible local optimum.

The cracked assumption

The separation has eroded from three directions at once.

Agents brought standing credentials. Claude Code's authentication documentation says that on Linux, credentials are stored in ~/.claude/.credentials.json with file mode 0600, and on Windows in %USERPROFILE%\.claude\.credentials.json; macOS uses the Keychain but falls back to the same file when the Keychain rejects the write. The claude setup-token command generates a one-year OAuth token for scripts. MCP server definitions live in files such as ~/.claude.json and ~/.cursor/mcp.json, and a definition can carry tokens for the systems the server reaches, for example in its environment block. Huntress, writing about the agent platform OpenClaw, put it plainly: its "configurations contain an array of sensitive information, including passwords, API keys, and more."

Attackers aimed at developers specifically. In February 2026, Huntress documented fake OpenClaw installer repositories, recommended by AI-assisted search, that dropped stealers on developer machines. The 84 malicious TanStack versions of May 2026 were built to exfiltrate "cloud credentials, GitHub tokens, and SSH keys", according to the title of CVE-2026-45321 in the CVE List. CISA's KEV catalog describes the compromised Nx Console editor extension as code that "harvested credentials from multiple sources on disk and in memory".

Stolen credentials lead to the worst outcomes. The Cyber Readiness Institute's summary of the 2026 Verizon DBIR reports that 73% of ransomware victims had an infostealer or credential compromise beforehand, and that half of those had credentials stolen within 95 days before the ransomware incident. That figure covers ransomware victims overall, not developers. It still describes the path: a stealer harvests tokens, and the tokens are used weeks later.

The machine that was supposed to hold "only code" now holds keys to production-adjacent systems, and it runs strangers' code to do its job.

The alternative mechanism in one sentence

Tier an endpoint by the credentials it holds and the code it executes, not by the job title of the person using it.

The tier test

An endpoint belongs in the privileged developer tier if any one of these is true:

#  Test                                                                  Example
1  Holds a credential that can publish to a package registry or         npm or PyPI token, signing key
   sign a release
2  Holds a credential with write access to production cloud or data     cloud CLI profile, database URL
3  Runs an agent whose MCP servers hold tokens for internal systems     ticketing, CI, cloud MCP servers
4  Holds a long-lived agent or API token in a file                      one-year setup token, .env files
5  Lets an agent install packages or skills without a policy check      auto-approved npm/pip in agent
6  Has repository admin or branch-protection bypass rights              org owner, release manager

A laptop that passes none of the six can stay in the enterprise tier. Most laptops running coding agents for a product team will fail at least one.

Three lines of evidence, strongest last

The device guidance itself. The Microsoft model files developers under the most permissive tier and justifies the strictest tier by "significant or material impact on the organization if their account was compromised." The tier test above is that same criterion applied to what the laptop holds today.

The campaign pattern. Every 2026 incident cited here, from fake installers to compromised packages and an editor extension, targeted the developer's machine as the place where credentials concentrate. None needed an admin workstation.

The dwell window. If half of pre-ransomware credential thefts precede the attack by up to 95 days, rotation speed after a stealer detection matters more than any single prevention control. Enterprise-tier endpoints rarely have a rotation runbook.

The control set for the developer tier

The privileged developer tier borrows the PAW's logic and drops its browsing ban.

Control area     Enterprise tier today            Privileged developer tier
Installs         User installs anything            Installs pass a policy check; 24-hour release-age
                                                   cooldown on automatic upgrades
Agent config     User-owned                        Managed settings; managed-only hooks; MCP allowlist
                                                   matched on command or URL
Credentials      Long-lived tokens in files        Short-lived tokens fetched from a vault; no
                                                   one-year tokens on laptops
Production power Same device as daily work         Separate admin identity, separate profile or device
Browsing         Allowed                           Allowed; production consoles only from the admin
                                                   identity
Detection        EDR on binaries                   EDR plus an inventory of agent configs and add-ons
Response         Reimage                           Reimage and rotate every credential the tier test
                                                   found, from a clean machine

Claude Code supports parts of this directly: managed settings, allowManagedHooksOnly, and an apiKeyHelper setting that runs a script to fetch a key, which the authentication page describes as suited to "dynamic or rotating credentials, such as short-lived tokens fetched from a vault."

Where the consensus still wins

For developers who do not run agents, hold no publishing or production credentials, and work on internal prototypes, the enterprise tier remains adequate; the tier test sorts them out cheaply. For a 200-developer organisation, the realistic sequence is to apply the tier test first, move the developers who fail tests 1, 2 or 6 immediately, and phase in the rest as agent use spreads. The coordination cost is real. It falls mostly on platform teams writing managed settings once, not on each developer.

Where this argument would be wrong

If agent clients move every credential into hardware-backed stores with short lifetimes by default, tests 3 and 4 stop firing, and the case weakens to the old one about publishing rights. If stealer campaigns shift away from developer tooling, the urgency drops. Neither is the case as of October 2026.

The Monday-morning decision: run the six-question tier test on ten developer laptops and count how many fail.

If those laptops run coding agents, the threat.cafe early-access list is built to sit in that install path as a local known-bad check.

Sources

#endpoint-security #developer-workstation #infostealers #privileged-access #agent-credentials

All posts