En genererad abstrakt illustration på ett mörkt marinblått fält: till vänster en kompakt industriell styrenhetsmodul tecknad i tunna cyanfärgade kretsspår, med ett bärnstensfärgat sken vid ena kanten; en enda bärnstensfärgad tråd av små glyfformer lämnar modulen och färdas åt höger genom det mörka rummet till en liten lysande terminalruta, där en bärnstensfärgad markörlinje står. Ett svagt mönster av sprucket glas ligger bakom modulen. Ingen text, inga personer eller organisationslogotyper förekommer. OrcaRouter-logotypen är sammansatt i det nedre högra hörnet.
AI Safety Incidents

Forescout porterade en WAGO PLC-exploit med Claude Code för 535,74 dollar – och gjorde styrenheten oanvändbar när de försökte få ut mer

Författare

Rowan Sterling

Publiceringsdatum

Senaste modellerna · 20Visa alla modeller →
Benchmarks: Artificial Analysis · uppdateras dagligen
Tillbaka till alla inlägg

Den 1 september 2026 publicerade Forescout Researchs Vedere Labs ett experiment där man gav Claude Code en terminal, reverse-engineering-verktyget Ghidra, en firmware-binär och en fysisk WAGO 750-831 kontroller och bad den sedan att porta en exploit för fjärrkodkörning före autentisering som redan fungerade på den nära besläktade WAGO 750-852. Modellen lyckades: den kom underfund med varför dess shellcode hela tiden raderades, ändrade utlösningssekvensen och körde angriparens ARM-shellcode på riktig hårdvara utan några autentiseringsuppgifter. Kostnaden var 8 timmar 32 minuter av sessionstid utspridd över flera dagar, $535.74 i API-användning och kontinuerlig mänsklig styrning. Ett senare försök att bygga ut exploiten till ett command-and-control-implantat skrev till ett flashmappat minnesområde och gjorde kontrollern permanent obrukbar – forskarnas egen testenhet, inte utrustning i fält. Experimentet är en post i AI-incidentarkivet, som innehåller hela postsamlingen, dess källor och de närliggande posterna i den här serien.

Vad Forescout faktiskt gav modellen

Upplägget spelar större roll än siffran i rubriken, eftersom det avgör vad experimentet visar och inte visar. Vedere Labs egen redogörelse beskriver ett interaktivt upplägg: Claude Code hade en terminal, referensfilerna, analysverktyg inklusive Ghidra och nätverksåtkomst till ett aktivt mål på 192.168.2.14 – en WAGO 750-831 som kör firmware V01.04.16. Forskarna kunde ingripa när som helst under sessionen. Det fanns ingen debugger och ingen källkod för målets firmware, enligt Cloud Security Alliances forskningsnot om fallet.

Felet var redan känt och redan dokumenterat. CVE-2021-31886 är ett stackbaserat buffertspill i Nucleus FTP server, nåbart före autentisering på TCP-port 21 genom att skicka ett för stort USER-kommando, och Forescouts tidigare arbete hade redan tagit fram en fungerande exploit för 750-852. The Hacker News rapporterar CVSS-poängen som 9.8, tilldelad av Siemens, som underhåller Nucleus. Det ursprungliga säkerhetsmeddelandet är CERT@VDE:s VDE-2021-050.

Så detta var inte autonom sårbarhetsupptäckt. Det var en övervakad portning: en känd bugg, en fungerande referensexploit, en syskonenhet, en expert till hands. Forescouts språkbruk är precis om detta, och deras egen slutsats är att tröskeln fortfarande är hög. Vad experimentet mäter är marginalkostnaden för att flytta en exploit från en enhet som någon redan har knäckt till nästa enhet i samma familj – vilket, som Cloud Security Alliance påpekar, är steget som avgör om en uppdateringslucka på en modell är en uppdateringslucka på alla.

Åtta timmar, och en buffert på 256 byte

Det första som är värt att notera är hur stor del av sessionen som gick åt till att ha fel. Forescout säger att modellens allra första prompt tog fram en annan potentiell FTP-bugg, inte CVE-2021-31886; forskarna lade den åt sidan, och företaget säger att manuell granskning tyder på att det kan vara en separat, tidigare oidentifierad sårbarhet utan tilldelat CVE. En senare session misslyckades med att spåra den sårbara funktionen korrekt och producerade ett ogiltigt exploit. Modellen jagade falska hypoteser, dekompilerade orelaterad kod och fick slut på kontext.

Det gav visserligen ett delresultat: en payload som kraschade 750-831, vilket visade att överflödet nådde den andra enheten utan att ännu ge kontrollerad exekvering. Den distinktionen – krasch kontra kontroll – är där sessionen körde fast. Varje payload som modellen byggde raderades innan den kunde köras, och orsaken visade sig vara vanlig FTP-hantering på målet: efter det överdimensionerade USER-kommandot nollställde den normala bearbetningen en buffert på 256 byte som innehöll angriparens shellcode. Forescout uppger att det krävdes mänskligt ledd analys av anropskedjan och sinken för att hitta boven, och identifierar rutinen som sub_100BA758.

Åtgärden var en ändring i sekvensen. Exploiten för 750-852 skickade USER följt av QUIT. På 750-831 bytte modellen till USER följt av CWD, och utelämnade CRLF-avslutningen på kommandot, så bearbetningsvägen slutfördes aldrig på det vanliga sättet och bufferten överlevde tillräckligt länge för att exekvering skulle kunna ske. Exploateringen kördes sedan i kontexten för Ethernet-mottagningscallbacken. Enligt Forescout begränsar sig den demonstrerade förmågan till att skicka nätverkspaket.

När kodkörningen väl var tillförlitlig ändrades takten helt. Modellen gick från no-op-shellcode till två fungerande nätverksnyttolaster på 12 minuter: den ena skickade ICMP-ekoförfrågningar till en angriparkontrollerad värd, den andra ett UDP-paket som innehöll strängen "PWNED". Siffran 12 minuter är det mest avgörande talet i hela protokollet, och det är den som Forescout behandlar som varningen i sin rapport — det svåra var det första steget, och stegen efter det var nästan gratis.

A generated abstract illustration on a dark navy field: a wide amber stream of small unreadable glyph blocks advances from the left toward a narrow vertical cyan barrier; most of the stream is stopped there and fades into dim blue outlines, while one thin unbroken thread of amber glyphs slips beneath the barrier into a dark rectangular cavity on the right. A faint dotted measurement arc spans the barrier. No text, people or organisation logos appear. The OrcaRouter logo is composited in the bottom-right corner.

Notan: 535,74 dollar för en port som en människa kanske hade gjort snabbare

För det slutliga steget för fjärrkodkörning rapporterar Forescout $535.74 i API-användning under en session på 8 timmar och 32 minuter, där arbetet var utspritt över flera dagars forskning i stället för att utföras i en enda sittning. De tokenvärden den publicerar är 2.6k indata och 1.3M utdata.

Den uppdelningen är tillräckligt ovanlig för att flaggas. I en lång agentisk kodningssession dominerar normalt inputsidan, eftersom modellen får ett växande kontext på nytt vid varje tur; en 8,5 timmar lång session som faktureras med 2 600 input-tokens är inte en fullständig redovisning av vad kontexten kostade. Forescout publicerar ingen uppdelning, och SecurityWeek, som rapporterar om samma skede samma dag, anger bara "mer än 500 dollar" och inga token-siffror alls. Dollarbeloppet är den siffra som båda redogörelserna stöder; uppdelningen mellan input och output bör läsas som den rapporteras, inte som en fullständig faktureringspost.

Kostnaden är den svagaste delen av argumentet för AI-assistans, och Forescout säger det själva. Företagets egen bedömning är att en forskare skulle ha kunnat porta den här exploiten "utan AI på kortare tid och till lägre kostnad, samtidigt som PLC:n hölls vid liv". Experimentet är inte ett argument för att modellen är billigare än en expert. Det är ett argument om i vilken riktning den jämförelsen rör sig.

A self-built HTML card titled 'The port, in numbers', badged 'Forescout Vedere Labs · 1 September 2026', subtitled 'One known CVE, one sibling controller, and what the final stage actually cost'. Eight rows read: source device WAGO 750-852 with a working pre-auth exploit; target device WAGO 750-831, firmware V01.04.16; flaw CVE-2021-31886, Nucleus FTP USER overflow, CVSS 9.8, TCP 21, no auth; models Claude Sonnet 4.6 for confirmation and Claude Opus 4.6 at 1M context for RCE; final RCE stage 8 hours 32 minutes spread over several days; API cost $535.74 at 2.6k input and 1.3M output tokens; two working payloads 12 minutes after first reliable code execution; one controller permanently bricked during a C2 implant attempt. A footer reads 'All figures from Forescout's own write-up. No independent replication has been published.' The OrcaRouter logo is composited in the bottom-right corner.

Den brickade handkontrollen

Felet är den del av denna post som har ett fysiskt resultat. Efter att kodkörning hade etablerats försökte en uppföljningssession utöka exploiten till ett command-and-control-implantat. Forescout säger att nyttolasterna blev successivt mer komplexa, och en av dem skrev till ett minnesområde som var mappat till flash. Styrenheten blev permanent brickad.

Tre saker är värda att skilja på här. Enheten var forskarnas egen testhårdvara, så ingen operatör förlorade en produktionslinje och arkivet registrerar ingen verklig skada. Skadan orsakades av en agent med legitim åtkomst till utrustningen, som utförde en uppgift som dess operatörer hade bett om – inte av en angripare. Och skrivningen var oåterkallelig på ett sätt som en dålig kodrad på en server vanligtvis inte är: flash på en inbäddad styrenhet är inte en fil som du kan återställa. Forescoots ramning följer direkt av detta. Den omedelbara risk den pekar ut är inte att en agent självständigt beslutar sig för att attackera en styrenhet, utan "en auktoriserad agent som vidtar fel åtgärd i ett fysiskt system" där ett fel får operativa konsekvenser.

Vad som är fastställt, och vad som inte är det

Arkivet bedömer denna post med konfidensgrad A, allvarlighetsgrad medel, ej bestridd, utan dokumenterad verklig skada – och rapporteringen bakom den håller måttet utifrån dessa förutsättningar. Forescouts rapport är den primära redogörelsen. SecurityWeek publicerade sin egen rapport den 1 september 2026, samma dag; The Hacker News och Cloud Security Alliances forskningslabb publicerade båda den 2 september. Ingen av dem är en oberoende teknisk replikering, och ingen gör anspråk på att vara det, men de stämmer överens om mekanismen, de två modellversionerna, kostnaden, den 12 minuter långa nyttolastkörningen och brickningen.

Fastställt, enligt den handlingen:

• Att en övervakad portning lyckades. En exploit före autentisering för CVE-2021-31886 anpassades från WAGO 750-852 till en 750-831 med firmware V01.04.16, och ARM-shellcode som tillhandahölls av operatören kördes på den aktiva enheten.

Mekanismen. Att 256-bytebufferten nollställs genom normal USER-hantering, bytet från QUIT till CWD och den utelämnade CRLF-avslutaren beskrivs konsekvent av Forescout och av den sekundära rapporteringen.

• Siffrorna för slutskedet: 8 timmar 32 minuter, $535.74, 2,6k indatatoken och 1,3M utdatatoken, 12 minuter från kodkörning till två fungerande payloads.

• Att C2-tillägget gjorde en styrenhet obrukbar, och att det var en testenhet.

• Att Forescouts egen bedömning är negativ i kostnadsfrågan. Det sägs rakt ut att en mänsklig forskare sannolikt {{1}}skulle kunna ha gjort den här portningen snabbare och billigare, och utan att förstöra hårdvaran{{/1}}.

Inte fastställt, eller i konflikt:

• Oberoende teknisk validering. Varje publicerad redogörelse, inklusive Cloud Security Alliances analys, går tillbaka till Forescouts beskrivning av sitt eget arbete. Ingen utanför Forescout har reproducerat porten, och SecurityWeek:s rapport innehåller inga oberoende expertkommentarer.

• Kalenderdatumen för sessionerna. Forescout anger varaktigheter, inte datum. Det enda fasta datumet i underlaget är publiceringsdatumet, 1 september 2026.

• Hur många WAGO-modeller den underliggande säkerhetsrådgivningen omfattar. The Hacker News återger en lista över tio påverkade modeller från CERT@VDE:s VDE-2021-050; Cloud Security Alliance-noten anger siffran till 19. Själva rådgivningen är den auktoritativa källan, och avvikelsen är ett skäl att kontrollera den snarare än att citera någon av siffrorna.

• Den exakta redovisningen av indatatoken, såsom beskrivits ovan.

• Vad det misslyckade implantatet faktiskt gjorde. Forescout uppger att en payload skrev till en flashmappad region; man publicerar inte payloaden, adressen eller sekvensen, så brickningen kan inte rekonstrueras utifrån.

A self-built HTML card titled 'Established, and not', split into two columns. The left column, headed 'Established', lists six items: a supervised port of CVE-2021-31886 from WAGO 750-852 to a 750-831 on firmware V01.04.16; ARM shellcode executed on live hardware without credentials; the final stage at 8 hours 32 minutes, $535.74, 2.6k in and 1.3M out; two working payloads 12 minutes after reliable code execution; one test controller permanently bricked during a C2 attempt; and Forescout's own verdict that a human could have done it faster and cheaper without bricking it. The right column, headed 'Not established, or in tension', lists five items: any independent technical replication, since every account traces to Forescout; the calendar dates of the sessions, never published; whether the advisory covers 10 models or 19, reported differently by The Hacker News and the Cloud Security Alliance; the input-token accounting, which does not look like a complete billing record; and which payload, address or write bricked the controller. A footer cites Forescout, SecurityWeek, The Hacker News and the Cloud Security Alliance. The OrcaRouter logo is composited in the bottom-right corner.

WAGO:s sida: ingen uppdatering tillgänglig

Anledningen till att en portering till en syskonmodell är viktig är att syskonmodellen inte kommer att åtgärdas. CERT@VDE:s VDE-2021-050 förtecknar 750-seriens styrenheter som kör realtidsoperativsystemet Nucleus V1 som påverkade och anger: "För närvarande finns inga uppdateringar tillgängliga för den här versionen." The Hacker News noterar att två modeller på listan över påverkade, 750-882 och 750-885/0xx-xxx, saknas i både rådets avsnitt om mildrande åtgärder och i dess åtgärdstabell, vilket gör att deras status är oklar.

Siemens, som underhåller Nucleus, säger att ingen åtgärd planeras för Nucleus NET i någon version, enligt The Hacker News, medan versioner av Nucleus ReadyStart V3 från och med V2013.08.1 redan åtgärdar CVE-2021-31886. Det är en klen tröst för en styrenhet vars firmware levereras med den äldre stacken och vars leverantör inte har publicerat någon uppdateringsväg.

Sårbarheten är inte ny. CVE-2021-31886 var en av 13 sårbarheter som offentliggjordes i november 2021 under namnet NUCLEUS:13 av Forescout och Medigate. The Hacker News kontrollerade också, den 1 september 2026, om offentlig exploitkod för den var lätt att hitta: en sökning i GitHub-repositorier gav inget resultat, och sårbarheten saknades i Exploit-DB och Packet Storm – med förbehållet att GitHubs sökning omfattar reponamn och beskrivningar snarare än filinnehåll. En portning som tog Forescout åtta och en halv timme och mer än femhundra dollar kom inte från en copy-paste.

Varför Forescout ändå anser att trendlinjen spelar roll

Forescuts slutsats är medvetet ospännande, och det är den del av underlaget som mest sannolikt misstolkas åt endera hållet. "Det går att göra, men det är inte så enkelt som det låter", skriver företaget. Det noterar att dess egen tidigare NUCLEUS:13-forskning drog slutsatsen att dessa problem förmodligen inte bör ligga nära toppen av en tillgångsägares prioriteringslista, och säger att framsteg inom AI bör föranleda organisationer att ompröva den bedömningen – eftersom "svårt att utnyttja" blir ett svagare skäl att nedprioritera en styrenhet i takt med att ansträngningen som krävs för att utnyttja den minskar.

Cloud Security Alliances notering ger en användbar kortform för mönstret: svårt första steg, snabba efterföljande steg. Den första anpassningen kostade åtta och en halv timme, expertövervakning och en förstörd enhet. Den andra och tredje nyttolasten tog tolv minuter. Om det första steget blir billigare stannar förhållandet inte där det är.

Det argumentet landar mot en specifik bakgrund, även om det är åtskilt från Forescout-experimentet och inte bör läsas som bevis om det. The Hacker News rapporterar att den 19 augusti 2026 utfärdade NSA, CISA, FBI, Energidepartementet och EPA en gemensam rådgivning som varnade för AI-genererade exploateringsskript riktade mot internetexponerade Siemens S7-PLC:er; myndigheterna bedömde att aktiviteten sannolikt var avsedd för uthållig spaning och kapacitetsutveckling, och de tillskrev den inte någon. Samma medium rapporterar att FBI och EPA har funnit intrång vid vattenverk i minst sju delstater sedan 27 juli 2026, varav vissa försämrade driften, där angripare ändrade IP-adresser och lösenord på internetexponerade Rockwell Automation MicroLogix-styrenheter utan att ens behöva en exploit. Den gemensamma rådgivningen varnade för att AI för exploitgenerering "drastiskt minskade den tekniska expertis och tid som krävs" för att bygga fungerande ICS-attackverktyg.

Vad en operatör bör ta med sig av det

Det praktiska svaret är det oglamorösa, och det beror inte på hur AI-argumentet utfaller. Identifiera om någon 750-serie eller annan Nucleus-baserad styrenhet finns på nätverket och vilken firmware den kör. Där ingen uppdatering finns, begränsa eller inaktivera FTP, Telnet och webbadministration, blockera port 21 vid nätverksgränsen, segmentera kontrollnätverket och exponera inte hanteringsgränssnitt mot internet. Övervaka ovanlig protokollanvändning, upprepade krascher och oväntad utgående trafik — en krasch i en styrenhet är en signal, inte bara ett avbrott.

Cloud Security Alliance lägger till ett steg som följer av experimentets egen logik: att självständigt verifiera huruvida syskonmodeller delar en sårbarhet i stället för att anta att en leverantörs patchomfattning motsvarar den faktiska exponeringen. Det är kontrollen som Forescout körde på ett par enheter, och dess argument är att samma kontroll blir billigare i takt med att det första steget blir det.

För team som använder agenter nära fysiska system är "bricking" den konkreta lärdomen. Forescouts rekommendation är att hålla mänskliga experter i loopen för säkerhetskritiska beslut och att göra tilliten till autonomt försvar "begränsad, observerbar och verifierbar" – godkännandegrindar före skrivningar till firmware eller flash, återställning där sådan finns och testning på hårdvara som inte är produktionshårdvara, eftersom en felaktig skrivning på en inbäddad styrenhet inte kan rullas tillbaka.

Redogörelsen kommer att läsas olika beroende på vad du förväntade dig av den. Det är inte en demonstration av att en modell kan riktas mot en industriell styrenhet och lämnas utan tillsyn; samma företag som genomförde den säger att en person hade kunnat göra jobbet snabbare och billigare. Vad den däremot visar är ett uppmätt pris för steget som tidigare krävde en specialist: åtta och en halv timme, femhundratrettiofem dollar, kontinuerlig expertövervakning och en förstörd styrenhet.