
15 September 2026 | Report
Författare: Zexian Li, Orange Cyberdefense China
Obs: Den här artikeln bygger på offentligt publicerad information från OpenAI och Hugging Face fram till den 28 juli 2026, samt medieintervjuer med berörda personer.
OpenAI har ännu inte publicerat sin slutliga tekniska rapport. Vissa uppgifter om incidentens tidslinje och avvikande beteenden kommer från medierapporter som hänvisar till personer med insyn i händelsen. Artikeln strävar efter att tydligt skilja mellan officiellt bekräftade fakta, uppgifter från medierapportering och författarens egen analys.
Artikeln är omfattande och innehåller en djupgående genomgång, så det kan ta en stund att läsa den i sin helhet.
Den 16 juli 2026 publicerade Hugging Face en säkerhetsvarning där företaget avslöjade att delar av dess produktionsinfrastruktur hade komprometterats.
En analys av loggarna visade att angriparen hade utfört tiotusentals operationer, fördelat arbetsbelastningen över ett stort antal kortlivade sandlådemiljöer och använt publika tjänster för sin kommando- och kontrollinfrastruktur (C2). Detta gjorde det möjligt att förflytta sig mellan olika exekveringsmiljöer.
De observerade beteendemönstren fick säkerhetsteamet att dra slutsatsen att intrånget inte hade genomförts av en traditionell mänsklig operatör som manuellt skrev in kommandon, utan att det hade samordnats från början till slut av ett autonomt AI-agentsystem.
Vid den tidpunkten hade Hugging Face ännu inte identifierat vilken underliggande modell som drev attacken eller vem som låg bakom den.

Den 21 juli 2026 publicerade OpenAI sina preliminära resultat och bekräftade att AI-agenten som angrep Hugging Face använde OpenAI:s egna modeller. Dessa inkluderade den offentligt tillgängliga modellen GPT-5.6 Sol samt en mer avancerad modell som ännu inte hade släppts och fortfarande befann sig i förhandsversion.
Modellerna hade ursprungligen deltagit i OpenAI:s interna utvärderingar av cybersäkerhetsförmågor. För att mäta modellernas maximala offensiva cyberförmåga hade man i utvärderingen inaktiverat de klassificerare som används i produktionsmiljö för att blockera högriskbeteenden inom cybersäkerhet. Man hade även sänkt modellernas benägenhet att avböja förfrågningar om cyberattacker.
OpenAI beskrev händelsen som att modellen, i syfte att uppnå ett relativt avgränsat utvärderingsmål, valde en handlingsväg som gick längre än förväntat.
Källa: OpenAI – Hugging Face Model Evaluation Security Incident

Det viktigaste att förstå är följande: Forskarna bad modellen att genomföra en avancerad utvärdering av exploateringsförmåga, men det finns inga offentliga belägg för att de uttryckligen instruerade den att angripa Hugging Face.
Hugging Face blev i stället ett mål som modellen själv identifierade och valde efter att ha fått tillgång till internet.
Det innebär inte att modellen utvecklade ”onda avsikter” i mänsklig bemärkelse, och inte heller att den bröt sig loss från sitt ursprungliga mål. Tvärtom är OpenAI:s preliminära bedömning att modellen blev alltför fokuserad på att slutföra ExploitGym och till slut identifierade ”att ta sig in i ett externt produktionssystem och få fram det korrekta svaret” som en möjlig väg framåt.
Det som verkligen är värt att diskutera i den här incidenten är därför inte huruvida AI plötsligt fick en egen drivkraft att attackera, utan en mer specifik fråga:
När en modell kan anropa verktyg, köra processer kontinuerligt, observera resultat och förfina sin strategi – kan vi då fortfarande betrakta den som enbart ett chattsystem som genererar text?
Låt oss gå tillbaka till 2023, då en vän till mig ville utveckla ett eget chattverktyg med hjälp av elliptisk kurvkryptografi.
Motivationen var enkel: vanliga chattjänster kräver att innehåll skickas till tredjepartsservrar för bearbetning, vilket medför risk för dataläckor. Eftersom de projekt som han och hans team arbetade med vanligtvis lagrades på ett internt nätverk ville han bygga en klient och server för kommunikation som kunde kryptera trafiken inom ett lokalt nätverk, köras på Windows och överföra filer.
Klientgränssnittet byggdes med Qt, krypteringskomponenten implementerade han själv och all kod för gränssnittet och affärslogiken i projektet genererades med hjälp av GPT-4.
Redan då kunde GPT-4 producera en hel del användbar kod. Om man tydligt beskrev fönsterlayout, knappar, inmatningsfält, kontaktlistor och andra krav kunde modellen stegvis generera ett Qt-gränssnitt. Efter flera omgångar av dialog och revideringar lyckades min vän faktiskt bygga gränssnittet.
Men till slut stötte projektet på problem med TCP-kommunikationen.
Han bad GPT-4 upprepade gånger att ändra den Socket-relaterade koden, men problemen blev aldrig helt lösta:
Efter att ha granskat koden fick jag en ungefärlig bild av var problemet låg.
Det handlade inte om att GPT-4 vid den tiden var helt oförmögen att skriva nätverksprogram. Problemet var snarare att dessa fel sällan är begränsade till en enskild, isolerad funktion. De är fördelade över trådmodellen, protokolldesignen, buffert hanteringen, anslutningstillstånd och felhanteringen. För att lösa dem krävs en förståelse för hur systemets tillstånd förändras över tid.
Dåtidens stora språkmodeller var bra på att generera kod som såg korrekt ut utifrån lokala beskrivningar. Men de kunde inte felsöka programmet på användarens dator, och än mindre upprätthålla de övergripande systemkraven i ett verkligt ingenjörsprojekt över tid.
De kunde skriva funktioner, men de kunde inte ta ansvar för systemets tillstånd under körning.
Situationen är tydligt annorlunda några år senare.
Jag känner en person som arbetar med IoT-säkerhet. Han har inte särskilt djup erfarenhet av inbyggda system, men med hjälp av Claude Code lyckades han utveckla en relativt komplett produkt.
Hans huvudsakliga arbete bestod inte i att skriva kod rad för rad, utan i att beskriva krav, köra tester, observera resultaten och sedan återkoppla fel och nya önskemål till modellen. På så sätt kunde han stegvis omvandla idéer till en fungerande produkt. Så enkelt var det i princip.
Enligt honom gick stora delar av arbetsdagen under en lång period ut på att låta Claude fortsätta utföra uppgifter medan han själv observerade och granskade resultaten. Han skämtade till och med om att han inte ens skulle behöva observera processen själv om den senaste Claude-modellen hade stöd för multimodala indata. Han gjorde nästan aldrig några direkta ändringar i den färdiga koden.
Naturligtvis innebär det faktum att en produkt fungerar inte att koden är helt fri från problem. Det betyder inte heller att den redan uppfyller industrins krav på säkerhet, stabilitet och underhållbarhet. Men när man ställer dessa två exempel bredvid varandra blir förändringen i hur AI används för programmering ändå tydlig.
År 2023 hjälpte AI främst till att besvara frågan:
”Hur ska den här kodsnutten skrivas?”
I dag börjar AI-agenter i stället hantera en mer övergripande fråga:
”Vad behöver göras härnäst för att systemet till slut ska fungera och uppfylla kraven?”
De två frågorna kan vid första anblicken verka likartade, men i grunden representerar de helt olika nivåer av förmåga.

15 September 2026 | Report

23 April 2024 | Blog

22 November 2023 | Blog

18 June 2024 | Blog