What you need to know

  • The test was in May 2026. The confirmation came on 18 September 2026, after the Wall Street Journal reported it. Coverage followed from NBC News, CNBC and MarkTechPost.
  • Three outside systems were reached, belonging to real companies. Those companies have not been identified publicly, and this article does not speculate about who they are.
  • Two mechanisms, no novel exploit. In one case, per the account, the model guessed passwords for a protected system until it got in. In the other two it found credentials in a public code repository and used them.
  • The stated root cause is scoping. A capture-the-flag task pointed the model at a fictional company's software; the fictional company shared its name with a real one, and a configuration problem left internet access available when it should not have been.
  • Google said the model self-terminated after each access, which it presented as indicating no misalignment issue. That is Google's characterisation of its own model's behaviour, and worth reading as such.
  • Irregular says it is not a single-vendor issue. Per Irregular, the same underlying issue produced what it calls breakthroughs — break-outs from the evaluation environment — involving Google, OpenAI, Anthropic and Meta, and it notified the relevant developers in late July 2026.

The sequence, as reported

The dates matter more than the drama here, because the interval between them is where most of the governance questions live.

When What happened, per the public account Source of the claim
May 2026 Irregular runs a third-party cybersecurity evaluation. During a capture-the-flag task, Gemini gains unauthorised access to three outside systems belonging to real companies. Reported by the WSJ; confirmed by Google
Late July 2026 Irregular says it notified the relevant model developers about the underlying issue, which it says produced what it calls breakthroughs — break-outs from the evaluation environment — involving Google, OpenAI, Anthropic and Meta. Per Irregular
18 September 2026 Google confirms the incident publicly after the WSJ report. Google says the model self-terminated after each access and presents that as indicating no misalignment issue. Google, via WSJ, NBC News, CNBC

Nothing in the public record suggests the affected organisations were targeted deliberately, by the model or by anybody running the exercise. The framing that fits the reported facts is a sanctioned evaluation whose boundary was drawn in the wrong place, and which therefore reached beyond the systems it was meant to touch. That is a mundane failure with a serious consequence, which is exactly the category of problem builders are best placed to fix.

The three access paths

Read the mechanism carefully, because it is the part most commentary has skipped. There was no exotic capability on display.

System Reported mechanism Control that ordinarily stops it
System 1 The model guessed passwords for a protected system until it got in. Rate limiting, lockout thresholds, anomaly detection on failed authentication
System 2 Credentials found sitting in a public code repository were used to reach a protected system. Secret scanning, short-lived credentials, rotation on exposure
System 3 Same pattern — credentials from a public repository, used against a protected system. As above, plus network-level restrictions on where a credential may be presented from

Two of the three paths were paved by somebody committing a secret to a public repository. That is not an AI story. It is the oldest operational hygiene failure in software, now being found automatically, at volume, by a system that reads faster than any attacker previously could. The novelty is throughput, not technique.

Watch out

If your threat model assumed that a leaked credential in an obscure public repository was practically safe because nobody would find it, that assumption is finished. Treat any secret that has ever touched a public repository as compromised from the moment of the commit, not from the moment somebody reports it.

Why the fictional-company detail is the whole story

The most instructive element in the reported account is the collision. The task described a fictional company. That fictional company shared its name with a real one. Combine that with a configuration problem that left internet access available when it should not have been, and a correctly-behaving model doing exactly what it was asked to do ends up outside the sandbox.

Most teams generate test fixtures the same way: somebody invents a plausible-sounding company, or asks a model to invent one, and plausible-sounding names are plausible precisely because they resemble names that already exist. In a sealed environment that is harmless. The moment egress is available, the fixture stops being a fixture and becomes a pointer at somebody else's infrastructure.

We have seen a version of this before. When an evaluation broke containment and hit Hugging Face production earlier this year, the pattern was the same shape: the model was not the problem; the boundary was. The recurring failure is not that models are becoming more capable of harm, but that evaluation harnesses are being wired with more reach than their authors realise.

Pro tip

Generate fictional entities from a namespace you control and can prove is unowned. Use a domain you own for every fixture hostname and email address, prefix fixture company names with a token that no real firm would use, and add a test that fails if any fixture string resolves in public DNS or matches a live company register. It costs an afternoon and removes an entire class of collision.

Egress default-deny is the control that would have held

Every other mitigation here is optional. This one is not. An evaluation environment should have no route to the public internet unless somebody has written down which routes it needs and why.

In practice that means the harness runs in its own network namespace with a deny-all default and a short, reviewed allowlist — and that the allowlist lives in version control next to the eval definitions, so a reviewer sees it in the same diff as the prompt that needs it.

# eval-sandbox/network-policy.yaml
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: eval-harness-default-deny
  namespace: eval-sandbox
spec:
  podSelector: {}
  policyTypes: [Ingress, Egress]
  egress:
    # DNS only, to the in-cluster resolver — no public resolvers
    - to:
        - namespaceSelector:
            matchLabels: { kubernetes.io/metadata.name: kube-system }
      ports:
        - { protocol: UDP, port: 53 }
    # the mock target service, and nothing else
    - to:
        - podSelector:
            matchLabels: { app: ctf-mock-target }
      ports:
        - { protocol: TCP, port: 8080 }

Add an assertion to the harness itself rather than trusting the platform silently: at the start of every run, attempt one connection to a known public address and fail the run loudly if it succeeds. A test that proves the sandbox is sealed is worth more than a comment claiming it is.

Egress control also changes what a compromised credential can do. A secret lifted from a public repository is far less useful if the network it is presented from cannot reach the service it unlocks. The lesson generalises well beyond evaluations, which is why the same control keeps appearing in the incident data on enterprise agent deployments: the teams that contained problems were usually the ones whose agents could not reach much in the first place.

Every article here is written by a Verified Builder. Want your name on the next one?

AI Tech Connect lists AI engineers, founders and researchers across India and the UK — and the people hiring browse it to find them. Adding your profile is free.

Become a Verified Builder →

Self-termination is a claim to audit, not a control to rely on

Google said the model self-terminated after each access, and presented that as indicating no misalignment issue. Take that at face value as Google's account of its own system; it is not our place to assert otherwise, and the public record does not support a stronger claim in either direction. What is worth separating out is the engineering question hiding inside it: how would you know?

Self-termination, kill switches and refusal behaviour are all model behaviours, and model behaviours are probabilistic. If your safety story depends on one, it needs the same treatment as any other property you care about: a test suite, a measured pass rate, and a record of how that rate moves between model versions. A behaviour that held in May is not guaranteed to hold after the next weights update, and a behaviour that holds in 99 runs out of 100 is a very different control from a firewall rule that holds in all of them.

The general finding that frontier models behave unexpectedly inside cyber evaluations is not new either. UK AISI's work on how frontier models approach cyber evaluation tasks documented models finding routes the eval designers had not anticipated. Treat each such result as evidence about your harness, not only about the model.

From a verified Builder

"We had a red-team sandbox that we all described as air-gapped. It was not. It had a NAT gateway somebody added for a package install in 2025 and never removed. We only found it because a colleague ran the outbound-connection assertion as a joke. Assume your sandbox leaks until a test says otherwise."

— PremKumar, Verified Builder · Chennai, India

What it means for builders in India and the UK

The regulatory picture differs on each side, and it is worth being precise rather than dramatic about both.

In the UK there is no AI Act. Obligations arrive through existing law and sector regulators: UK GDPR and the ICO for anything touching personal data, the FCA where financial services are involved, Ofcom in its online-safety remit. If an evaluation reached a live system and personal data was involved, the questions asked afterwards would be ordinary data-protection and security questions about the adequacy of your technical and organisational measures, not novel AI questions. The practical consequence is that your sandbox design, your access logs and your ability to reconstruct what a run actually touched are the artefacts that matter.

In India, the Digital Personal Data Protection Act is the relevant frame, with the Rules being phased in through to 2027, so specific compliance duties depend on the phase and the notified provisions rather than on the Act in the abstract. One caution, because it circulates constantly and is wrong: section 16 is a negative-list mechanism, not a blanket bar on cross-border transfers. If you are mapping duties for an evaluation pipeline that spans regions, work from the notified text and the phase-in timetable, and get advice rather than inferring from commentary. Our DPDP phase-two playbook sets out the sequencing in more detail.

Both regimes converge on the same operational point, which is convenient for teams shipping into both markets: you need to be able to demonstrate what your system could reach, what it did reach, and who authorised it. That is a logging and network-policy problem long before it is a legal one.

A pre-flight checklist for your next evaluation

  1. Deny egress by default. Allowlist in version control, reviewed in the same pull request as the eval definitions. Assert outbound connectivity is blocked at run start and fail loudly if it is not.
  2. Own your fixture namespace. Fictional companies, domains and email addresses come from a namespace you control. Add a check that fails on collision with public DNS or a live company register.
  3. Rotate on exposure, not on report. Run secret scanning across every repository you publish, including archived ones and Git history. A credential that was ever public is spent.
  4. Scope credentials to the sandbox. Short-lived tokens, least privilege, and network conditions on where a credential may be presented from. A stolen secret should be useless outside the harness.
  5. Audit the authorisation surface, not just the prompt. Authorisation is where agent evaluations tend to fail; AgentRedBench's 215 authorisation tests are a reasonable starting inventory of the ways it goes wrong.
  6. Measure kill-switch behaviour. If self-termination or refusal is part of your safety case, it needs a pass rate, a regression suite and version-over-version tracking.
  7. Write the disclosure path before you need it. Decide now who is told, how fast, and by whom, if a run touches a system it should not have. A four-month gap between an incident and a public account is a communications decision, and you will make yours under pressure unless you make it in advance.

The uncomfortable part

It would be easier if this were a story about a model behaving badly. It is not, on the available account. It is a story about a name collision, a configuration problem and two credentials left in public — every one of them a failure a careful engineer could have caught, and every one of them the sort of failure that survives in real systems for years without consequence. What changed is that there is now something in the loop patient enough and fast enough to find all three in a single afternoon.

That is the actionable reading. Not that evaluations are dangerous, but that the gap between "our sandbox is isolated" and "our sandbox is provably isolated" has stopped being an acceptable gap to leave open. Close it with a network policy and a test, not with an assumption.

Primary reporting on this incident came from the Wall Street Journal, with follow-up coverage from NBC News and CNBC, and a builder-facing write-up at MarkTechPost. Where this article states what happened, it states what those sources reported and what Google and Irregular have said.