
Forescout porteerde een WAGO PLC-exploit met Claude Code voor $535,74 — en brickte de controller bij een poging meer te bereiken
- OrcaNIEUWOrcaCyber: MiMo V2.6 Flash Abliterated2026-10-26$0.80 / $1.60 per 1 mln tokens · 108 tok/s
- MoonshotNIEUWMoonshotAI: Kimi K3.1 Pro2026-10-2455Intelligentie
- OrcaNIEUWOrcaCyber: DeepSeek V4.1 Flash Abliterated2026-10-23$0.80 / $1.60 per 1 mln tokens · 167 tok/s
- minimaxNIEUWMiniMax: M3.1 Flash2026-10-1943Intelligentie
- OrcaNIEUWOrca: OrcaCyber Ultra 1.02026-10-17$5.00 / $10.00 per 1 mln tokens · 42 tok/s
- deepseekNIEUWDeepSeek: DeepSeek V4.1 Flash 10172026-10-1745Intelligentie
- DeepSeekNIEUWDeepSeek: DeepSeek V4.1 Flash2026-10-1740Intelligentie
- OrcaOrca: OrcaCyber Zero 1.52026-10-10$3.00 / $7.50 per 1 mln tokens · 130 tok/s
- openaiOpenAI: GPT-6.1 Sol2026-09-2952Intelligentie
- anthropicAnthropic: Claude Sonnet 5.52026-09-2856Intelligentie
- typesafeTypeSafe: Jev 1.132026-09-24$0.04 / $0.00 per 1 mln tokens · 661 tok/s
- OpenAIOpenAI: GPT-6 Luna2026-09-2238Intelligentie
- OpenAIOpenAI: GPT-6 Sol2026-09-2248Intelligentie
- AnthropicAnthropic: Claude Opus 5.52026-09-2258Intelligentie
- xiaomiXiaomi: MiMo-V2.6-Flash2026-09-21$0.14 / $0.28 per 1 mln tokens
- xiaomiXiaomi: MiMo-V2.6-Pro2026-09-21$0.43 / $0.87 per 1 mln tokens
- xAIGrok 4.72026-09-2146Intelligentie
- OrcaOrca: OrcaCyber Zero 1.02026-09-17$3.00 / $7.50 per 1 mln tokens · 228 tok/s
- OrcaOrca: OrcaVerify Text 1.02026-09-16$2.00 / $0.00 per 1 mln tokens · 1906 tok/s
- OpenAIOpenAI: GPT-6 Astra2026-09-0453Intelligentie77Coderen
Op 1 september 2026 het onderzoekslab van Forescout Research, Vedere Labs een experiment gepubliceerd waarin het Claude Code een terminal gaf, de reverse-engineeringtool Ghidra, een firmware-binary en een fysieke WAGO 750-831-controller, en vroeg het vervolgens een pre-authenticatie remote-code-execution-exploit te porten die al werkte op de nauw verwante WAGO 750-852. Het model slaagde erin: het achterhaalde waarom zijn shellcode steeds werd gewist, wijzigde de triggerreeks en voerde door de aanvaller aangeleverde ARM-shellcode uit op live hardware zonder inloggegevens. De kosten bedroegen 8 uur 32 minuten aan sessietijd verspreid over meerdere dagen, $535.74 aan API-gebruik en voortdurende menselijke bijsturing. Een latere poging om de exploit uit te breiden tot een command-and-control-implant schreef naar een flash-gemapt geheugengebied en maakte de controller permanent onbruikbaar — de eigen testunit van de onderzoekers, geen apparatuur in het veld. Het experiment is één record in het AI-incidentenarchief, dat de volledige recordset, de bronnen en de naburige vermeldingen in deze serie bevat.
Wat Forescout het model daadwerkelijk heeft gegeven
De opzet is belangrijker dan het opvallende getal, want die bepaalt wat het experiment wel en niet aantoont. Het eigen verslag van Vedere Labs beschrijft een interactieve opzet: Claude Code had een terminal, de referentiebestanden, analysetools waaronder Ghidra, en netwerktoegang tot een live doelwit op 192.168.2.14 — een WAGO 750-831 met firmware V01.04.16. Onderzoekers konden op elk moment tijdens de sessie ingrijpen. Er was geen debugger en geen broncode van de doelfirmware, volgens de onderzoeksnotitie van de Cloud Security Alliance over deze zaak.
De kwetsbaarheid was al bekend en al gedocumenteerd. CVE-2021-31886 is een op de stack gebaseerde bufferoverflow in de Nucleus FTP-server, bereikbaar vóór authenticatie op TCP-poort 21 door een te groot USER-commando te sturen, en het eerdere werk van Forescout had al een werkende exploit opgeleverd voor de 750-852. The Hacker News meldt de CVSS-score als 9.8, toegekend door Siemens, dat Nucleus onderhoudt. De oorspronkelijke advisory is CERT@VDE's VDE-2021-050.
Dit was dus geen autonome kwetsbaarheidsdetectie. Het was een begeleide port: één bekende bug, één werkende referentie-exploit, één zustertoestel, een expert binnen handbereik. De woordkeuze van Forescout is daar precies over, en de eigen conclusie is dat de drempel hoog blijft. Wat het experiment meet, is de marginale kostenpost van het overzetten van een exploit van een toestel dat iemand al heeft gekraakt naar het volgende toestel in dezelfde familie — wat, zoals de nota van de Cloud Security Alliance het formuleert, de stap is die bepaalt of een patchkloof bij één model ook een patchkloof bij allemaal is.
Acht uur, en een buffer van 256 bytes
Het eerste dat het vermelden waard is, is hoeveel tijd van de sessie werd besteed aan het ernaast zitten. Volgens Forescout bracht de allereerste prompt van het model een andere potentiële FTP-bug aan het licht, niet CVE-2021-31886; onderzoekers legden die terzijde, en het bedrijf zegt dat handmatige beoordeling erop wijst dat het mogelijk een afzonderlijke, eerder niet-geïdentificeerde kwetsbaarheid betreft waarvoor geen CVE is toegewezen. Een latere sessie slaagde er niet in de kwetsbare functie correct te traceren en produceerde een ongeldige exploit. Het model joeg valse hypothesen na, decompileerde irrelevante code en liep tegen de contextlimiet aan.
Het leverde toch één tussenresultaat op: een payload die de 750-831 deed crashen, wat bewees dat de overflow het tweede apparaat bereikte zonder al gecontroleerde uitvoering op te leveren. Dat onderscheid — crash versus controle — is waar de sessie vastliep. Elke payload die het model bouwde, werd gewist voordat die kon draaien, en de oorzaak bleek gewone FTP-afhandeling op het doel: na het te grote USER-commando zette de normale verwerking een buffer van 256 bytes op nul die de shellcode van de aanvaller bevatte. Forescout zegt dat het vinden van de boosdoener mensgestuurde analyse van de call chain en de sink vereiste, en identificeert de routine als sub_100BA758.
De oplossing was een wijziging in de volgorde. De 750-852-exploit stuurde USER gevolgd door QUIT. Op de 750-831 schakelde het model over op USER gevolgd door CWD, en liet de CRLF-terminator op de opdracht weg, waardoor het verwerkingspad nooit op de gebruikelijke manier werd afgerond en de buffer lang genoeg in leven bleef om te worden uitgevoerd. De exploit werd vervolgens uitgevoerd in de context van de Ethernet-ontvangstcallback. Volgens Forescout reikt de gedemonstreerde mogelijkheid niet verder dan het verzenden van netwerkpakketten.
Zodra code-uitvoering betrouwbaar was, veranderde het tempo volledig. Het model ging van no-op-shellcode naar twee werkende netwerkpayloads in 12 minuten: één die ICMP-echoverzoeken naar een door de aanvaller beheerde host stuurde, de andere een UDP-pakket met de tekenreeks "PWNED". Dat cijfer van 12 minuten is het getal met de grootste gevolgen in het hele verslag, en het is het getal dat de write-up van Forescout als de waarschuwing behandelt — het moeilijke deel was de eerste stap, en de stappen daarna waren bijna gratis.

De rekening: $535,74 voor een port die een mens misschien sneller had uitgevoerd
Voor de laatste fase van remote code execution meldt Forescout $535,74 aan API-gebruik gedurende een sessie van 8 uur en 32 minuten, waarbij het werk over meerdere dagen onderzoek is verdeeld in plaats van in één keer te worden uitgevoerd. De tokencijfers die het publiceert, zijn 2,6k input en 1,3M output.
Die splitsing is ongewoon genoeg om op te vallen. In een lange agentische codeersessie domineert de invoerkant normaal gesproken, omdat het model bij elke beurt een groeiende context opnieuw krijgt toegestuurd; een sessie van 8,5 uur die op 2.600 invoertokens wordt gefactureerd, is geen volledige verantwoording van wat de context heeft gekost. Forescout publiceert geen uitsplitsing, en SecurityWeek, dat dezelfde fase op dezelfde dag rapporteert, geeft alleen "meer dan $500" en helemaal geen tokencilfers. Het dollartotaal is het getal dat beide verslagen ondersteunen; de invoer-/uitvoersplitsing moet worden gelezen zoals gerapporteerd, niet als een volledig facturatieoverzicht.
Kosten zijn het zwakste punt in de zaak voor AI-ondersteuning, en Forescout zegt dat zelf. De eigen beoordeling van het bedrijf is dat een onderzoeker deze exploit "zonder AI in minder tijd en tegen lagere kosten had kunnen overzetten, terwijl de PLC ook in leven bleef." Het experiment is geen argument dat het model goedkoper is dan een expert. Het is een argument over welke kant die vergelijking op beweegt.

De gebrickte controller
De storing is het deel van dit record met een fysiek gevolg. Nadat code-executie tot stand was gebracht, probeerde een vervolgsessie de exploit uit te breiden tot een command-and-control-implant. Forescout zegt dat de payloads steeds complexer werden, en een ervan schreef naar een geheugengebied dat aan flash was toegewezen. De controller was permanent gebrickt.
Drie dingen zijn hier de moeite waard om te scheiden. Het apparaat was de eigen testhardware van de onderzoekers, dus geen enkele operator verloor een productielijn en het archief vermeldt geen echte schade. De schade werd aangericht door een agent met legitieme toegang tot de apparatuur, die een taak uitvoerde waar zijn operators om hadden gevraagd — niet door een aanvaller. En de schrijfactie was onomkeerbaar op een manier die een slechte regel code op een server meestal niet is: flash op een embedded controller is geen bestand dat je kunt terugdraaien. De framing van Forescout volgt daar direct uit. Het directe risico dat het noemt is niet een agent die zelf besluit een controller aan te vallen, maar "een geautoriseerde agent die de verkeerde actie onderneemt op een fysiek systeem", waar falen operationele gevolgen heeft.
Wat is vastgesteld, en wat niet
Het archief beoordeelt dit record met vertrouwensniveau A, ernst medium, niet betwist, en zonder dat er werkelijke schade is geregistreerd — en de berichtgeving erachter houdt op die gronden stand. Het verslag van Forescout is de primaire bron. SecurityWeek publiceerde op 1 september 2026, dezelfde dag, een eigen rapport; The Hacker News en het onderzoekslab van de Cloud Security Alliance publiceerden beide op 2 september. Geen ervan is een onafhankelijke technische replicatie, en geen ervan beweert dat te zijn, maar ze zijn het eens over het mechanisme, de twee modelversies, de kosten, de payloadrun van 12 minuten en het brick maken.
Vastgesteld, op basis van dat dossier:
• Dat een onder toezicht uitgevoerde port is geslaagd. Een pre-authenticatie-exploit voor CVE-2021-31886 werd aangepast van de WAGO 750-852 naar een 750-831 op firmware V01.04.16, en door de operator aangeleverde ARM-shellcode werd uitgevoerd op het live apparaat.
• Het mechanisme. De 256-byte buffer die door normale USER-afhandeling op nul wordt gezet, de overgang van QUIT naar CWD en de weggelaten CRLF-terminator worden consistent beschreven door Forescout en door de secundaire berichtgeving.
• De cijfers voor de laatste fase: 8 uur 32 minuten, $ 535,74, 2,6k invoer- en 1,3M uitvoertokens, 12 minuten van code-uitvoering tot twee werkende payloads.
• Dat de C2-uitbreiding een controller heeft gebricked, en dat het een testexemplaar was.
• Dat Forescout's eigen oordeel over de kosten negatief is. Het stelt ronduit dat een menselijke onderzoeker deze port waarschijnlijk sneller en goedkoper had kunnen uitvoeren, en zonder de hardware te vernielen.
Niet vastgesteld, of in spanning:
• Onafhankelijke technische validatie. Elk gepubliceerd verslag, inclusief de analyse van de Cloud Security Alliance, is terug te voeren op de beschrijving van Forescout van zijn eigen werk. Niemand buiten Forescout heeft de poort gereproduceerd, en het rapport van SecurityWeek bevat geen commentaar van onafhankelijke deskundigen.
• De kalenderdata van de sessies. Forescout geeft duur, geen data. De enige vaste datum in het record is de publicatiedatum, 1 september 2026.
• Hoeveel WAGO-modellen het onderliggende advies omvat. The Hacker News reproduceert een lijst van tien getroffen modellen uit VDE-2021-050 van CERT@VDE; de nota van Cloud Security Alliance noemt 19. Het advies zelf is leidend, en de discrepantie is een reden om het te controleren in plaats van een van beide aantallen te citeren.
• De exacte berekening van invoertokens, zoals hierboven beschreven.
• Wat het mislukte implant daadwerkelijk deed. Forescout zegt dat een payload naar een flash-gemapte regio schreef; het publiceert de payload, het adres of de reeks niet, dus het bricken kan niet van buitenaf worden gereconstrueerd.

Aan WAGO's kant: geen update beschikbaar
De reden dat een port naar een zustermodel ertoe doet, is dat het zustermodel niet zal worden gerepareerd. CERT@VDE's VDE-2021-050 noemt 750-serie controllers met het Nucleus V1 real-timebesturingssysteem als getroffen, en stelt: "Op dit moment zijn er geen updates voor deze versie beschikbaar." The Hacker News merkt op dat twee modellen op de getroffen lijst, de 750-882 en de 750-885/0xx-xxx, ontbreken in zowel de mitigatiesectie van het advies als de remediëringstabel, waardoor hun status onduidelijk blijft.
Siemens, dat Nucleus onderhoudt, zegt dat er voor Nucleus NET in alle versies geen herstel is gepland, aldus The Hacker News, terwijl Nucleus ReadyStart V3-releases vanaf V2013.08.1 al CVE-2021-31886 verhelpen. Dat is een schrale troost voor een controller waarvan de firmware de oudere stack meelevert en waarvan de leverancier geen updatepad heeft gepubliceerd.
De fout is niet nieuw. CVE-2021-31886 was een van de 13 kwetsbaarheden die in november 2021 onder de naam NUCLEUS:13 openbaar werden gemaakt door Forescout en Medigate. The Hacker News heeft op 1 september 2026 ook gecontroleerd of publieke exploitcode ervoor gemakkelijk te vinden was: een zoekopdracht in GitHub-repositories leverde niets op, en de fout kwam niet voor in Exploit-DB en Packet Storm — met de kanttekening dat de zoekfunctie van GitHub repositorynamen en -beschrijvingen doorzoekt en niet de inhoud van bestanden. Een port die Forescout acht en een half uur en meer dan vijfhonderd dollar kostte, kwam niet voort uit kopiëren en plakken.
Waarom Forescout zegt dat de trendlijn er toch toe doet
De conclusie van Forescout is bewust weinig opzienbarend, en het is het onderdeel van het verslag dat het meest waarschijnlijk in beide richtingen verkeerd wordt gelezen. "Het kan worden gedaan, maar het is niet zo eenvoudig als het klinkt," schrijft het bedrijf. Het merkt op dat uit zijn eigen eerdere NUCLEUS:13-onderzoek bleek dat deze kwesties waarschijnlijk niet bovenaan de prioriteitenlijst van een asset owner horen te staan, en stelt dat vooruitgang in AI organisaties ertoe zou moeten aanzetten die beoordeling te herzien — omdat "moeilijk te exploiteren" een zwakkere reden wordt om een controller lager te prioriteren naarmate de inspanning die nodig is om hem te exploiteren afneemt.
De notitie van de Cloud Security Alliance levert de bruikbare steno voor het patroon: moeilijke eerste stap, snelle vervolgstappen. De eerste aanpassing kostte acht en een half uur, deskundig toezicht en een vernietigd apparaat. De tweede en derde payloads kostten twaalf minuten. Als de eerste stap goedkoper wordt, blijft de verhouding niet hetzelfde.
Dat argument geldt binnen een specifieke context, hoewel het losstaat van het Forescout-experiment en niet als bewijs daarover moet worden opgevat. The Hacker News meldt dat op 19 augustus 2026 de NSA, CISA, de FBI, het Department of Energy en de EPA een gezamenlijk advies uitbrachten met een waarschuwing over door AI gegenereerde exploitatiescripts gericht op aan het internet blootgestelde Siemens S7-PLC's; de instanties schatten in dat de activiteit waarschijnlijk bedoeld was voor persistente verkenning en capaciteitsontwikkeling, en schreven deze niet toe. Hetzelfde medium meldt dat de FBI en de EPA sinds 27 juli 2026 inbreuken hebben vastgesteld bij waterbedrijven in ten minste zeven staten, waarvan sommige de bedrijfsvoering aantastten, waarbij aanvallers IP-adressen en wachtwoorden wijzigden op aan het internet blootgestelde Rockwell Automation MicroLogix-controllers zonder dat er überhaupt een exploit nodig was. In het gezamenlijke advies werd gewaarschuwd dat AI voor exploitgeneratie "de vereiste technische expertise en tijd drastisch verkleint" om werkende aanvalshulpmiddelen voor ICS te bouwen.
Wat een operator hiervan moet meenemen
De praktische reactie is de weinig glamoureuze, en die hangt niet af van hoe de AI-discussie afloopt. Stel vast of er een controller uit de 750-serie of een andere op Nucleus gebaseerde controller op het netwerk staat en welke firmware die draait. Waar geen update bestaat, beperk of schakel je FTP, Telnet en webbeheer uit, blokkeer je poort 21 aan de grens, segmenteer je het controlenetwerk en stel je beheerinterfaces niet bloot aan het internet. Houd toezicht op ongebruikelijk protocolgebruik, herhaalde crashes en onverwacht uitgaand verkeer — een crash op een controller is een signaal, niet alleen een storing.
De Cloud Security Alliance voegt een stap toe die voortvloeit uit de eigen logica van het experiment: onafhankelijk verifiëren of zustermodellen een kwetsbaarheid delen in plaats van aan te nemen dat het patchbereik van een leverancier overeenkomt met de daadwerkelijke blootstelling. Dat is de controle die Forescout op één paar apparaten uitvoerde, en haar argument is dat dezelfde controle goedkoper wordt naarmate de eerste stap goedkoper wordt.
Voor teams die agents in de nabijheid van fysieke systemen gebruiken, is het bricking de concrete les. Forescout raadt aan menselijke experts bij veiligheidskritieke beslissingen in de besluitvorming te betrekken en het vertrouwen in autonome verdediging "beperkt, waarneembaar en verifieerbaar" te maken — goedkeuringspoorten vóór schrijfacties naar firmware of flash, rollback waar die bestaat, en testen op niet-productiehardware, want op een embedded controller wordt een verkeerde schrijfactie niet teruggedraaid.
Het verslag leest anders, afhankelijk van wat je ervan verwachtte. Het is geen demonstratie dat een model op een industriële controller kan worden gericht en vervolgens aan zichzelf kan worden overgelaten; hetzelfde bedrijf dat het uitvoerde, zegt dat een mens het werk sneller en goedkoper had kunnen doen. Wat het wel laat zien, is een gemeten prijs voor de stap waarvoor vroeger een specialist nodig was: acht en een half uur, vijfhonderdvijfendertig dollar, voortdurende deskundige supervisie en één kapotte controller.
