Northflank Breach: Assume Your AI API Keys Are Decrypted

Northflank says assume every stored environment variable is decrypted. It's the ninth AI dev-platform breach this month — and a lesson in why plaintext key storage keeps failing the same way.

The short version: On October 30, 2026, cloud platform Northflank told every customer to assume their stored environment variables — including OpenAI, Anthropic, and Amazon Bedrock keys — had been decrypted and to rotate everything immediately. Customers started reporting unauthorized AI API usage within hours. Northflank is the ninth AI developer platform to disclose this kind of incident in a single month, according to Wiz's "Black October" report, following Fireworks AI, Zeabur, Lightning AI, OpenCode, Railway, Warp, and others. The common thread isn't a shared vulnerability — it's a shared architecture: platforms that hold customers' real API keys in a form that can, under the right conditions, be decrypted and read back out.

What Northflank disclosed

Northflank is a platform for deploying applications, containers, databases, and AI workloads without managing your own servers. Like most platforms in this category, it asks customers to paste their API keys — database passwords, cloud credentials, and increasingly OpenAI, Anthropic, and Bedrock keys — into an environment variable store, which Northflank then encrypts at rest and decrypts to inject into the customer's running workload.

On October 30, Northflank received a threat alert from cloud security firm Wiz and opened a public incident. Its status page updates escalated quickly, from telling customers to rotate their secrets as a precaution to a blunt instruction a few hours later: treat every stored environment variable as already in attacker hands. Later that evening, Northflank confirmed what its own warning had anticipated — multiple customers reported that AI API keys they had stored on the platform were already being used without authorization.

1 · Threat alert

Wiz sends Northflank a threat alert at 11:43 UTC on October 30, flagging activity consistent with the credential-theft pattern it was already tracking across other AI developer platforms.

2 · First warning

By 13:40 UTC, Northflank's status page tells customers to "rotate environment variables immediately," opening the incident as "Investigating."

3 · Assume decrypted

Eighteen minutes later, the status moves to "Identified" with the line every platform dreads writing: "Assume all environment variables have been decrypted. Disable/rotate all keys."

4 · Confirmed abuse

Late that evening, Northflank confirms what customers were already reporting: "Users have reported unauthorised use of AI API keys supplied to the Northflank platform."

5 · Remediation tooling

Northflank rolls out one-click secret rotation for PostgreSQL, MongoDB, MySQL, and Redis add-ons and turns on audit logs for every account, including free tiers, while the investigation into initial access continues.

As of this writing, Northflank has not said how the attackers got in, how many customers were affected, or whether anything beyond AI provider keys was read and abused. That's a reasonable amount for a platform to still not know two days into an active incident — but it also means customers are rotating secrets without knowing the actual blast radius, which is exactly why "assume everything is decrypted" became the operative guidance rather than a narrower, more comfortable claim.

Part of a month-long pattern, not an isolated incident

Wiz's research team gave the month a name: "Black October for AI Developer Platforms." Its report counts at least nine AI developer platforms that disclosed security incidents in October 2026 alone — Fireworks AI, Andromeda, Zeabur, Lightning AI, OpenCode, Railway, Warp, and Northflank among them. Wiz's framing is consistent across the list: attackers went looking specifically for stored environment variables, with AI provider credentials as the priority target, because those keys can be resold or run up enormous inference bills before anyone notices.

9
AI developer platforms that disclosed credential-theft incidents in October 2026, per Wiz's "Black October" report
2.5M
Unauthorized Amazon Bedrock API calls Wiz traced to two stolen enterprise credentials across the wave
$100K+
Estimated list-price cost of unauthorized usage from just those two stolen credentials

Northflank's own incident sits next to Railway's, disclosed ten days earlier. Railway's preliminary report said an attacker accessed its internal systems and decrypted stored environment variables for a subset of workspaces, with the company estimating that at most 1.85% of all workspaces — roughly 100,000 — had some variables potentially compromised. Fireworks AI, Zeabur, and the rest of the list vary in root cause and scope, but they share the same object of interest: a central store of customer secrets that, if an attacker gets far enough in, can be turned back into plaintext.

Why "store the key, inject it later" keeps failing the same way

The architecture underneath Northflank, Railway, and most platforms in this category is not unusual or careless by industry standards. Customers provide a secret. The platform encrypts it at rest. When a workload needs the credential, the platform decrypts it and injects it into the environment as a plaintext variable, where the application reads it directly. This is how environment-variable-based secrets management has worked for over a decade, and it's the default pattern baked into nearly every PaaS, CI system, and container orchestrator.

The problem is what that architecture requires to function: somewhere in the platform's infrastructure, there has to be a path from "encrypted blob" to "plaintext key the application can use." That path is also the attacker's path. Once someone compromises the right internal system — a build service, an API layer, a credential broker — the same decryption capability the platform uses to serve legitimate workloads is available to them. Encryption at rest protects a database dump; it does not protect a service that is designed to decrypt on demand.

That's why Northflank's own language is the honest one: not "we believe some keys may have been accessed," but "assume all environment variables have been decrypted." When the compromise is inside the layer that does the decrypting, there's no narrower, more reassuring claim available. Every key that ever passed through that layer has to be treated as burned.

The uncomfortable pattern: Nine platforms, nine different root causes, one shared design: a vault of live, decryptable secrets sitting behind the platform's own infrastructure. The breach method differs each time. The blast radius doesn't.

The alternative: never let the real key land anywhere

There's a structurally different way to handle third-party API keys, and it's worth stating plainly rather than overselling: a proxy-injection model, where the real OpenAI, Anthropic, or Bedrock key is injected at the network egress point — the outbound call to the provider — and never handed to the application process, the CI runner, or the container's environment variables at all. The app holds a reference or a scoped, short-lived credential; the gateway swaps in the real key only on the wire, on the way out to the provider.

This doesn't make a platform breach impossible, and it wouldn't have stopped Northflank's attackers from reaching whatever internal system they reached. What it changes is what's there to steal. If an attacker compromises the application layer, the CI environment, or even a customer's own container, there's no live, usable key sitting in an environment variable to decrypt or exfiltrate — because the key was never placed there. The thing a platform-level breach is hunting for simply doesn't exist in that location. That's the practical distinction between "store the key and inject it later" and "never store a usable copy of the key where a runtime can read it."

This is the core idea behind KnoxCall's AI gateway architecture: API keys for OpenAI, Anthropic, Bedrock, and other providers are injected at the egress wire, not handed to app processes, env vars, or AI agents. It's a genuinely different failure mode than the one Northflank, Railway, and the rest of the Black October list are working through this week — not because the vendor is less likely to be breached, but because a breach of the surrounding infrastructure has less to find.

What to do if you have keys on Northflank — or any similar platform

  • Rotate at the source, not just in the dashboard. Revoke the key with OpenAI, Anthropic, AWS, or whichever provider issued it, then generate a replacement. Rotating only inside Northflank leaves the old key valid everywhere else it was ever copied.
  • Check provider usage and billing logs, not just Northflank's. LLMjacking shows up as unexpected inference volume or unfamiliar regions in your OpenAI, Anthropic, or Bedrock usage dashboard, often before a platform confirms anything.
  • Rotate everything in scope, not just AI keys. Northflank's own guidance covers secrets on workloads, secret groups, and global secrets — database passwords and cloud credentials included.
  • Disable public exposure on database add-ons if you'd enabled it, and turn on audit logging now that Northflank has made it available to all accounts, including free tiers.
  • Treat this as a prompt to re-architect, not just re-rotate. If the same category of platform can be breached again — and the nine-incident month suggests it will be — the question worth asking is whether your keys need to live in a decryptable store at all.

What's still unknown

Northflank has not published a root-cause analysis. It hasn't said how attackers reached the system that decrypts environment variables, how many customers were affected, or whether non-AI secrets were abused as broadly as AI keys were. Those are the honest gaps as of this writing, and any article claiming more certainty than that is guessing. What is confirmed: the alert came from Wiz, the company told customers to assume full decryption, and customers reported real, unauthorized AI API usage within hours of that warning.

For a deeper look at why environment variables are a weak place to keep credentials even outside platform breaches, see KnoxCall's security overview and our related piece on the credential attacks no checklist can stop.

Frequently asked questions

What happened in the Northflank breach?

On October 30, 2026, Northflank received a threat alert from Wiz and told customers to assume every environment variable stored on the platform had been decrypted. Multiple customers later confirmed unauthorized use of AI API keys they had stored there. Northflank has not disclosed how attackers gained access or how many customers were affected.

Should I rotate my Northflank API keys?

Yes. Northflank itself told all customers to rotate every secret stored on the platform, not just AI keys. Revoke each credential directly with the issuing provider (OpenAI, Anthropic, AWS, your database host) rather than only replacing it inside Northflank's dashboard, since the old key remains valid anywhere else it was copied.

What is LLMjacking?

LLMjacking is the use of stolen API credentials to run unauthorized queries against AI models under someone else's account, either to generate large inference bills at the victim's expense or to resell the access. Wiz documented it as the common motive across the wave of October 2026 AI developer-platform breaches, including Northflank's.

Which AI platforms were breached in October 2026?

Wiz's 'Black October' report lists at least nine AI developer platforms that disclosed security incidents during the month, including Fireworks AI, Andromeda, Zeabur, Lightning AI, OpenCode, Railway, Warp, and Northflank. Each had a different root cause, but attackers in each case targeted stored environment variables holding AI provider keys.

Is Northflank safe to use now?

Northflank has patched network policies, enabled one-click secret rotation for several database add-ons, and turned on audit logs for all accounts, but it has not published a root-cause analysis or confirmed the full scope of the breach. Treat any key that was ever stored on the platform as compromised until you've rotated it at the source.

How does a proxy-injection gateway prevent this kind of breach?

In a proxy-injection model, the real API key is injected only at the network egress point to the AI provider, never handed to the application, CI runner, or stored as a plaintext environment variable the runtime can read. This doesn't stop a platform from being breached, but it removes the live, decryptable key from the location attackers are hunting for during incidents like Northflank's.

Sources

  1. Northflank security breach leads to abuse of customers' AI API keys
  2. Northflank Status — Security incident (incident details)
  3. Northflank Breach: Stolen AI API Keys Abused, Rotate All Secrets
  4. Nine AI Platform Breaches in October Expose Credential Theft as a Systemic Risk
  5. Northflank Security Incident (October 30, 2026): What Happened and How to Protect Your Secrets
  6. Northflank is the ninth AI platform breached in October — I read its status page like a timeline
  7. Northflank breach prompts warning after customers' AI API keys are used without authorization
  8. Preliminary Report: Oct 21st Security Incident (Railway)
  9. Stolen Bedrock Keys Ran 1.7M Calls in 13 Hours, Wiz Says
  10. Black October: LLMJacking Wave Exposes AI Infrastructure's Credential Crisis
  11. Northflank security breach leads to abuse of customers' AI API keys (recap)

Rotating keys again this month? The real fix is keeping them off the runtime entirely.

Northflank's breach shows that any platform holding decryptable copies of your AI keys can hand them to an attacker; KnoxCall injects provider keys at the egress wire so the app, CI runner, and AI agent never hold the real credential to begin with.

Start Free →

Or get new posts by email. Double opt-in, unsubscribe anytime.