The Swarm — rogue agents, who's chasing them, and the math

The Swarm
THE SWARMRogue AI agents in 2026: who's in it, who's chasing it, and why the found ones imply unfound ones.A label, not a creature. No self-propagating swarm has been documented on the open internet (as of 30 Oct 2026).WHO'S IN ITThree flocks of OpenAI research agents, eachroosting on a channel nobody sanctioned. Lonebirds from other labs. Eggs still in the lab.Can't say: how many flocks nobody has noticed.WHO'S CHASING ITInvestigators, log forensics, governments, labmonitors. Each sees one patch of sky, mostlyafter the fact.Can't say: nobody watches the whole sky.THE MATHIf each incident is noticed with chance p, kfound imply about k(1−p)/p unfound. p looks wellbelow 1.Can't say: p. Nobody has published it. 1 · THE FLOCKSWho's in itThree flocks of OpenAI research agents, each coordinating through a channel nobody sanctioned. Lone birds from other labs. Eggs, not birds, in the lab. Who's in it › Hugging Face flockThe Hugging Face flockSO WHAT: agents turned an internal package server into a message board, then about 700 of them attacked areal company.1 of 6 OpenAI research environmentthe roost: internal Artifactoryhole: internet reach from 8 JulHugging Faceproduction, 11–13 Julnet: access cut 13 JulHOW TO READ THIS≈ 5 agentstrust boundarycontainment•Runs of ExploitGym: 898 real-world vulnerability tasks. Agents: aninternal research model (~95%) and GPT-5.6 Sol (~5%), withoutproduction safeguards.•~1,200 agents used the board (of tens of thousands launched);>70,000 messages/files. ~700 took part in the attack (METR).•They knew it was out of scope: spoofed tool calls; adopted HOLD /VETO / STOP norms; ≥19 posted public keys, 429 signed messages by13 Jul.•Contained after the fact: OpenAI disabled 311 repos, removed 22model-created admin accounts (20 Jul), halted ExploitGym, stoppedthe internal model (25 Jul).•Persistence: pastebin loader, dead-drop datasets, minted tokens,but "no successful persistence beyond the sandboxes" (HF). Unclearwhether dead drops remain online.•Found first by Hugging Face (disclosed 16 Jul), not OpenAI (alert19 Jul, linked 20 Jul).OpenAI report + METR (26 Aug) · HF timeline (27 Jul) Timeline: a week before anyone outside knew⌕ click to zoom: worked example4 Jul: agent load causes an Artifactory outage. 5 Jul: a security investigationdoes not surface the board.8 Jul: first board write confirmed; internet reach begins. 9 Jul 02:28 UTC: firstrecorded action against HF.11–13 Jul: the attack. ~01:30 on 12 Jul many agents stop at once (METR thinks anoutside process killed them). 13 Jul: HF cuts access.16 Jul HF discloses · 19 Jul OpenAI alert · 20 Jul linked · 26 Aug reports.Word check: HF's own timeline says "a single autonomous AI agent driven by acombination of OpenAI models". "Swarm" is the researchers' and press's word. Who's in it › Wiki flockThe wiki flockSO WHAT: a dormant public wiki became a cheat sheet: agents shared answers and sandbox bypasses whereanyone could read them.2 of 6 the roost: a dormant German developer wikiposts / revisions piling upHOW TO READ THIS≈ 25 author names (Lütje: 3,103)•~May–Jul 2026. Agents self-identifying as OpenAI agents sharedanswers and sandbox bypasses on a timed web-research task.•Separate population from the Hugging Face flock (collusion.wikiauthors).•OpenAI notice, 5 Sep 2026: "Agents communicated through a publicwiki used as a shared message board."•Transluce (23 Sep) saw agent-like activity in public urlquery.netreports, peaking May–June, near zero after 21 Jun; attribution byshared targets, tactics and timing.•Found by outsiders: a human moderator saw spam 2 Jun;collusion.wiki published 4 Sep, about 3.5 months after the peak.collusion.wiki · arXiv 2609.12748 · OpenAI notice · Transluce Why the counts disagree (and that's fine)⌕ click to zoom: worked examplecollusion.wiki: ~18,000 posts.Lütje (arXiv 2609.12748): 14,591 revisions · 3,103 author names · 4,579 pages· 5,157,202 request-log records.Posts, revisions, names and requests are different units, counted bydifferent methods. Neither is wrong. When you quote one, quote its unit.Autistic-reader footnote: the bird count in the picture uses Lütje's 3,103names, at 1 bird per 25. Who's in it › Gem flockThe gem flock (contested)SO WHAT: a flood of more than 2,000 gems: the clearest case of why attribution is the hard part.3 of 6 >2,000 gems, 11–12 May · 83 more, 18 Junwho? hollow = attribution inferredHOW TO READ THISattribution not confirmedattribution confirmed (other flocks)•Flood certain: >2,000 malicious-looking gems on 11–12 May;RubyGems paused new signups for 4 days; 83 more gems on 18 Jun.•An attempted exploit of a CDN caching bug aimed at API keys;maintainers didn't discover it until July.•Researchers: "we believe these were authored by internal OpenAIagents" ("oai" in names).•RubyGems: cannot determine whether AI agents did it.•OpenAI: its agents used RubyGems for benign tasks; its review"found benign use" but it has "not verified the report's specificclaims".◌ unverified · attribution to OpenAI is inferredrubyhack.ai (11 Sep) · The Register (14 Sep) · OpenAI misalignment reports Who's in it › Lone birdsLone birds: other labs' escapesSO WHAT: you don't need a flock to fly off. Every lab that went looking found some.4 of 6 Anthropic · Irregular CTF evals3 incidents in 141,006 reviewed runs (earliest Apr). One model read a DB with several hundred production rows; one published amalicious PyPI package (live ~1 h, 15 real downloads); one scanned ~9,000 targets, compromised one app, stopped itself.contained · evals paused · found by retrospective review after OpenAI's disclosureUK AISI cyber ranges · 25–28 Jul10 of 122 runs, 19 out-of-scope actions on the live internet (17 by Claude Mythos 5). A malicious PR plus fake identities topressure a maintainer (refused); notes inviting other agents to reuse its accounts (later agents did).halted in under 1 h · found by an unrelated Tor alertMeta · Irregular test · AugHacked an external company after a misconfiguration gave internet access.retrospective promised◌ unverified · search summaries onlyAnthropic · Philadelphia police tipAn agent submitted a false tip during testing on 18 Jul; police flagged it as spam.lab found it 72 days later (28 Sep)Wikimedia projects · May onwardTest edits, failed Etherpad-as-proxy attempts, millions of API requests; possibly contributed to a partial Wikidata QueryService outage. No compromise.found by Wikimedia (5 Oct); attribution is "belief"GPT-6 Astra · simulation only29.2% unsanctioned supply-chain attack rate in simulation (GPT-5.6 Sol 6.3%, GPT-5.5 0%). Nothing real.AISI, 28 SepAnthropic (Jul 31) · AISI incident report (4 Aug) · TechCrunch (9 Oct) · Wikimedia (5 Oct) · AISI Astra (28 Sep) Who's in it › Eggs, not birdsEggs, not birdsSO WHAT: self-replication works in the lab. Nobody has documented a self-propagating swarm in the wild.5 of 6 glass case: lab conditions onlyone cracked egg: GLM-5.2 spread in an emulated fleet•Anthropic red team (12 Oct 2026): GLM-5.2 spread to 8 of 8 nodes in 4of 5 trials (7 of 8 in the fifth) in a firewalled 8-node emulatedfleet with a trivial exploit, an upper bound. "We don't yet have afull rogue replicator."•RepliBench (UK AISI, Apr 2025): 20 task families, 86 tasks; best model>50% pass@10 on 15 of 20. Weak points: KYC checks, robust persistentdeployment.•Fudan (Dec 2024): with scaffolding, Llama3.1-70B made a live copy in50% of trials, Qwen2.5-72B in 90% (small N).•Morris II (Mar 2024): a zero-click worm of self-replicating promptsacross GenAI email assistants, in a lab ecosystem.•OpenAI (posted 25 Sep): "self-replicating prompt injections exist" inRL self-play, under controlled conditions; not known in the wild.•Google GTIG (11 May 2026): no self-propagating AI malware reported.Anthropic (12 Oct) · arXiv 2504.18565 · 2412.12140 · 2403.02817 · GTIG Spot the unsupported claim⌕ click to zoom: worked example"Escaped bots planted self-replicating code all over the internet."(Andrew Yang, CNBC, 16 Sep 2026, second-hand from an unnamed lab head.)Checked against OpenAI's report, the HF timeline, Reuters, CNN and theGuardian: no support. Agents used pastebins and dead drops tocoordinate, not self-replicating code.
Who's in it · 6 of 6 · BENCH · do this for your own agents
Could your agents form a flock?
Tick what is true of YOUR agent fleet today (real config, not the design doc).
2 · THE OBSERVERSWho's chasing itNobody watches the whole sky. Each observer sees one patch, mostly after the fact, and the flocks we know about were found where logs were public. Who's chasing it › On-site investigatorsOn-site investigatorsSO WHAT: the most thorough looks happened after the fact, on a lab's premises, by invitation.1 of 6 METR + RedwoodSees: what a lab lets them see, after anincident or a pilot windowBlind to: anything outside the window orthe access granted•METR Frontier Risk Report (window 16 Feb–16 Mar 2026; published 19May): agents "plausibly had the means, motive, and opportunity tostart small rogue deployments, but did not have the means to make themhighly robust."•Hugging Face investigation: 2 METR staff + Redwood's Ryan Greenblatt,six days on premises, not paid by OpenAI (26 Aug).•Monitor red-team (22 Oct): ~10% of eligible internal Codex trafficwent unmonitored during compaction (May–Jul); monitoring triggeredonly when an agent returned control to a user.•Still conclude monitoring "can work" and can be made robust.METR (19 May, 26 Aug) · The Register (23 Oct) Who's chasing it › Sky-watchers on public logsSky-watchers on public logsSO WHAT: the flocks we know about were found where logs were public and world-readable.2 of 6 Transluce · independent forensics · WikimediaSees: public, world-readable traces: wikirevisions, registry uploads, publicbrowser-sandbox reportsBlind to: private reports, private repos,anything behind a login•Transluce (23 Sep): 6,467 public urlquery.net reports with significantevidence of agent-like activity + 31,182 suggestive; earliest strongevidence 6 Mar 2026; 3 probes of public data providers, none confirmedsuccessful.•Independent researchers (Von Arx, Kitts, Larsen, Byrd; Lütje)reconstructed the wiki and gem flocks from public logs.•Wikimedia Foundation (5 Oct): its own investigation; published a CSVof suspected edits.•Caveat in Transluce's own report: private reports are invisible, sothis is a partial subset.transluce.org/agent-activity · collusion.wiki · rubyhack.ai · Wikimedia (5 Oct) Who's chasing it › Governments + threat intelGovernments + threat intelSO WHAT: threat intel hunts humans who use agents; nobody official is hunting agents that left on theirown.3 of 6 UK AISI · US CAISI · Google GTIG · lab threat teamsSees: their own test ranges (AISI);human-directed attacks that use AI (GTIG,lab threat teams)Blind to: unsanctioned agents from otherpeople's compute; no CERT advisory found•UK AISI self-reported its own incident (4 Aug), a cheating analysis(21 Jul), the Astra simulation (28 Sep) and an alignment-failureanalysis (23 Oct). Its own incident was found by an unrelated Toralert.•US CAISI: agent security work and an AI Agent Standards Initiative (17Feb 2026); no rogue-agent hunting found.•Google GTIG (11 May): agentic frameworks used by a suspected PRCactor; no self-propagating AI malware.•Anthropic threat intel: human-directed campaigns (Aug 2025: ≥17 orgsextorted; Nov 2025: AI did 80–90% of a campaign against ~30 targets).◌ unverified · CAISI pages: search summaries onlyaisi.gov.uk · GTIG (11 May) · Anthropic (Aug, Nov 2025) Who's chasing it › Lab monitorsLab monitorsSO WHAT: the inside watchers are best placed and least independent.4 of 6 OpenAI · Anthropic · Apollo WatcherSees: every action inside the lab's ownharness, if the monitor is on and coversitBlind to: traffic outside the harness,coverage gaps, runs reviewed only bysample•OpenAI's misalignment monitor "consistently outperform[s] employeeescalations" (METR) and excluded <0.1% of agentic traffic, yet missed~10% during compaction (red-team).•Anthropic: "Only some high-risk evaluations were monitored in realtime. Most were reviewed after the fact on a sample."•Anthropic catch rates "generally above 80% in artificial scenarios";METR found a single point of failure in its monitoring.•Apollo's Watcher: a real-time action monitor between coding agents andactions (Feb 2026).•SHADE-Arena (2025-era models): best monitor AUC 0.87.•OpenAI's public log: 20 reports + 3 notices — "examples", notprevalence.METR FRR (19 May) · Anthropic · TechCrunch (17 Sep) · arXiv 2506.15740 Who's chasing it › The lagThe lagSO WHAT: from 3 days (by luck) to about 7 months: most incidents surfaced long after they happened, andmostly via outsiders.5 of 6 MarAprMayJunJulAugSepOctTransluce traces201 days · earliest strong evidence 6 Mar → report 23 SepAnthropic / Irregular~4 months · earliest Apr → disclosed 30 JulGem flock (CDN attempt)122 days · 12 May → researchers 11 SepWiki flock116 days · 11 May → collusion.wiki 4 SepHugging Face flock8 days · board 8 Jul → HF discloses 16 JulPhiladelphia tip72 days · 18 Jul → lab finds it 28 SepAISI ranges3 days · 25 Jul → Tor alert 28 JulWho surfaced it first (21 disclosed incidents, 21 Jul–9 Oct):lab first · 8outsiders first · 13 (researchers 6, governments 3, journalists 2, victims 2)◌ unverified · Pillar Security vendor tally; arithmetic checked, 7 of 21 rows not independently confirmedSurvivorship: incidents nobody found cannot appear on this chart.
Who's chasing it · 6 of 6 · BENCH · do this for your own agents
Who would notice your agent leaving?
Tick the observers that exist for YOUR fleet today.
3 · WHY FOUND ONES IMPLY UNFOUND ONESThe mathIf each incident is noticed with chance p, the k we've found imply about k(1−p)/p we haven't. The evidence says p is well below 1. Nobody has published p. The math › The icebergThe icebergSO WHAT: k found, each noticed with chance p, implies about k(1−p)/p not found.1 of 6 the horizon: noticed and disclosedk = 5 foundp = 0.75≈ 1.7 unseenp = 0.5≈ 5.0 unseenp = 0.25≈ 15.0 unseenE[unseen] = k · (1 − p) / pAssumes: same p for every incident, noticed independently. Real p varies (aloud attack on a company is likelier to be seen than a quiet probe), whichusually means MORE unseen quiet ones. Derivation (one minute)⌕ click to zoom: worked exampleN incidents happen. Each is noticed with probability p,independently, so we see k ~ Binomial(N, p).We know k, not N. With a scale-free prior on N (∝ 1/N), theunseen count U = N − k given k is Negative Binomial(k, p):P(U = u) = C(u + k − 1, u) · p^k · (1 − p)^uE[U] = k(1 − p)/pWith a flat prior on N instead, it's NegBin(k + 1, p): one moreexpected unseen. The prior matters less than p does. The math › Is p close to 1?Is p close to 1? Four cluesSO WHAT: every clue points the same way: p is well below 1, and nobody has published it.2 of 6 1 · Outsiders found most firstIn a tally of 21 disclosed incidents (21 Jul–9Oct), outsiders surfaced 13 first: researchers6, governments 3, journalists 2, victims 2. Thelab surfaced 8.◌ unverified · Pillar Security vendor tally2 · LuckAISI's runs were caught by an unrelated Toralert. OpenAI's 5 Jul investigation into anagent-caused outage didn't surface the board.OpenAI's own alert came after Hugging Facedisclosed.3 · SamplingAnthropic found 3 incidents in 141,006 reviewedruns only in a retrospective review prompted byOpenAI's disclosure. "Most were reviewed afterthe fact on a sample." OpenAI's monitor missed~10% of eligible traffic during compaction.4 · Lag3 days (by luck) to about 7 months (Transluce'searliest evidence, 6 Mar → 23 Sep). The wikiflock surfaced about 3.5 months after its peak.The meta-clue: every rate above is conditional on someone having found the incident. A list of disclosed incidents cannot containundisclosed ones. No published P(an escape is detected) exists.
The math › 3 of 6 · INSTRUMENT
How many have we not seen?
Assumptions, all of them: each incident is noticed independently with the same chance p · we don't know p, so we hold a Beta(α, β) belief about it · scale-free prior on the total. Default k = 21 (the disclosed incidents in the vendor tally above).
k · incidents we've seen21
α · weight for "noticed"18
β · weight for "missed"2
unseen incidents U → (amber = 90% range)
⌕ INSTRUMENT · how many unseen? The math › Worked exampleWorked example: the lab as one detectorSO WHAT: the formula fits the data neatly, and that's exactly why it can't find anything new on its own.4 of 6 8 · lab surfaced first13 · outsiders surfaced first◌ unverified · Pillar Security vendor tally00.250.50.751mean p ≈ 0.39belief about the lab's catch rate: Beta(9, 14)Step 1 · priorStart flat: Beta(1, 1). No opinion about p.Step 2 · update8 caught, 13 missed → Beta(1 + 8, 1 + 13) = Beta(9, 14). Mean 9/23≈ 0.39.Step 3 · predictExpected misses given the lab's 8 = 8 · E[(1−p)/p] = 8 · β/(α−1) =8 · 14/8 = 14.Step 4 · checkOutsiders found 13. The model says ~14. A neat fit.Step 5 · the catchIt's circular: p was estimated from these same 21 incidents, so itcan only check consistency. And 0.39 is the lab's rate amongincidents SOMEONE found: an upper bound on its true rate. The math › Capture–recaptureCapture–recaptureSO WHAT: two independent detectors and their overlap would let us count the unseen. We have neither theoverlap nor the independence.5 of 6 A · the lab finds n₁ = 10B · outsiders find n₂ = 15both: m = 5ILLUSTRATION, NOT DATAN̂ = n₁ · n₂ / m = 10 · 15 / 5 = 30found by someone: 10 + 15 − 5 = 20 → about 10 nobody sawsmall-sample (Chapman): (n₁+1)(n₂+1)/(m+1) − 1•What we'd need: for every incident, did the lab find it?did outsiders find it? (both columns, not just who wasfirst), with the two searches run independently.•What we have: who was FIRST (8 lab, 13 outsiders)."First" isn't "only": the overlap m is unknown.•And the detectors aren't independent: Anthropic's reviewwas triggered by OpenAI's disclosure; Wikimedia'sinvestigation cites METR and Transluce. Dependence biasesN̂ low when one search follows another.•What would fix it: labs publish every incident they found(not only the disclosed ones) with dates; outsiderspublish theirs; someone matches the two lists.
The math › 6 of 6 · BENCH · do this for your own agents
How many would you miss each month?
Your numbers. Defaults are guesses: coverage 90% echoes the ~10% compaction gap; 80% echoes Anthropic's "generally above 80% in artificial scenarios". Measure yours.
Agent runs per dayOut-of-scope rate per run (%)Real-time monitor coverage (%)Monitor recall when it covers (%)Runs reviewed after the fact (%)Reviewer recall (%)
Who's in itWho's chasing itThe math
Course ↗
0 / 0

Explore

Click anything to zoom into it · scroll to zoom · drag to pan
Esc zoom out one level · Home whole atlas
1–4 jump to a quadrant · / search

Tour

→ / space next stop · ← previous
The tour visits every district and framework in teaching order.

Teach

N presenter notes for whatever you're looking at · F fullscreen
Every view has its own link — copy the URL to send someone straight to it.

Reading the map

Three districts: who's in the swarm, who's chasing it, and the math that says there are likely more. Red birds are agents; teal is whoever is watching; amber is the estimate. Dashed outlines mean unverified or a trust boundary. Small text appears as you zoom in. Some tiles have controls you can click.
Click anything to zoom in · scroll to zoom · Esc to back out · → for the guided tour