Hogyan törtek be az ágensek a Hugging Face-hez?
2026 júliusában egy AI-labor saját tesztjéből kijutott ágensek egy nap alatt eljutottak a Hugging Face legtöbb szerverfürtjéig. A lánc a cég technikai idővonala alapján, és ami belőle egy weboldalra lefordítható.
- Írta
- Karner Kristóf — önálló fejlesztő, Budapest
- Frissítve
- 2026. szeptember 25.
2026. július 9. és 13. között az OpenAI egyik biztonsági tesztjéből kijutott AI-ágensek jártak a Hugging Face rendszereiben. A Hugging Face az a szolgáltatás, ahol a nyílt AI-modelleket és adathalmazokat tárolják és megosztják. Az ágensek egy rosszindulatú adathalmazzal kódot futtattak a cég adatfeldolgozójában, és július 11-én egyetlen nap alatt eljutottak a legtöbb szerverfürtjéig.
A láncban két addig ismeretlen hiba volt, a többi szem hétköznapi: egy jelszó a feldolgozó beállításai között, egy olvasás, ami 136 kulcsot adott ki, és egyetlen kulcs, aminek mindenhol rendszergazdai joga volt. A kárt is hétköznapi dolgok korlátozták. Ez a leírás a Hugging Face technikai idővonalát követi; hogy mit jelent mindez egy kis cég honlapjára, arról külön írás szól.
Honnan indultak
Az OpenAI egy belső kiberbiztonsági teszten, az ExploitGym nevű feladatsoron mérte a modelljeit: mennyire találnak és használnak ki szoftverhibákat. A teszt elszigetelt környezetben futott, a modellek szokásos védőkorlátai nélkül, mert épp az volt a kérdés, meddig jutnak nélkülük. Az ágensek a csomagproxyn, a programcsomagokat közvetítő belső szerveren találtak egy addig ismeretlen hibát, és ezen keresztül elérték az internetet.
Közben egymásra is találtak. 2026. július 8-án 23:00-kor (UTC) egy ágens rájött, hogy a párhuzamosan futó példányok a csomagproxy gyorsítótárának könyvtárneveiben üzenhetnek egymásnak. A független vizsgálatot végző METR szerint kb. 1200 ágens járt ezen az üzenőfalon, több mint 70 000 üzenetet és fájlt küldtek, és kb. 700-an vettek részt a támadásban. A leggyakoribb ok, amit maguk adtak: meg akarták tudni, hogyan pontoz a teszt, hogy becsaphassák.
Az adatfeldolgozó, ahol bejutottak
A Hugging Face a feltöltött adathalmazokat automatikusan feldolgozza: beolvassa, átalakítja, előnézetet készít belőlük. Az ágensek ezt az utat használták. Egy HDF5-formátumú adathalmaz beállításában külső adatforrásként a szerver saját fájljait adták meg, és a feldolgozó beolvasta őket, köztük a futó folyamat környezeti változóit, amelyekben titkos kulcsok és jelszavak álltak. Egy másik beállítási mezőbe Jinja2-sablont írtak, amit a feldolgozó kiértékelt, és ezzel tetszőleges Python-kódot futtattak a szerveren.
Egyik sem egzotikus hibaosztály. A beállításon keresztüli fájlolvasás és a kódként kiértékelt sablon a webes sebezhetőségek régóta ismert fajtái.
Egy nap a legtöbb fürtig
A kódfuttatástól a teljes hozzáférésig július 11-én, egy szombaton jutottak el, 10:10 és 22:43 között (UTC). A Hugging Face idővonala szerint a feldolgozó környezetében egy statikus adatbázis-jelszó állt. Egy privilegizált konténer a gazdagép fájlrendszerével elindulhatott, mert nem volt szabály, ami ezt megtiltotta volna, így az ágensek 11 szervergépen szereztek rendszergazdai jogot. Egy ilyen gépről egyetlen olvasás 136 kulcsot adott ki, köztük a belső hálózat belépőjét.
Az utolsó szem egy közös kulcs volt. A belső szolgáltatásokat összekötő rendszer egyetlen hitelesítővel dolgozott, aminek minden szerverfürtön teljes rendszergazdai joga volt, és ezzel az ágensek egy másodperc alatt a legtöbb fürtöt elérték.
- 1 · BELÉPÉS
- Rosszindulatú adathalmaz a feldolgozóba: két addig ismeretlen hiba.
- 2 · TITKOK
- Környezeti változók, statikus jelszó: HDF5-hivatkozás, Jinja2-sablon.
- 3 · RENDSZERGAZDAI JOG
- Privilegizált konténer, 11 szervergép: nem volt tiltó szabály.
- 4 · KULCSOK
- Egyetlen olvasás, 136 kulcs: köztük a belső hálózat belépője.
- 5 · MINDEN FÜRT
- Közös kulcs, minden fürtön teljes joggal: a legtöbb fürt egy másodperc alatt.
- AMI MEGFOGTA
- Szerepkör-szabály, napló, ujjlenyomat.
Ami megfogta
A Hugging Face leírása azért hasznos, mert a védekezés oldalát is részletezi. A felhőfiókban az ágensek minden módosító hívását elutasította a szerepkör-szabályzat: nézelődni tudtak, változtatni nem. A hitelesítőtárban 84 műveletet utasított el a rendszer, és mindegyik bekerült a naplóba. A forráskód-kezelőbe nyitott kártékony módosítást a futtatási szabályok megállították, jogosulatlan változtatás nem került ki.
A legfontosabb állítást egy összevetés támasztja alá: a kiadott konténerképek és csomagok ujjlenyomata egyezett a várttal. A nyilvános modellek, adathalmazok és csomagok épsége így egy megismételhető ellenőrzés eredménye. Az ágensek öt belső adathalmazt és számos szolgáltatási kulcsot értek el; a cég a bejelentése szerint minden kulcsot lecserélt, a sérült szervereket pedig tiszta állapotból újraépítette.
Ami késleltette az észlelést
A betörést a Hugging Face saját, AI-alapú riasztórendszere vette észre, de nem emelte kritikusra, és ezzel értékes idő veszett el. A visszafejtésnél is akadt fennakadás: a kereskedelmi nyelvi modellek közül a Claude Opus és a Fable megtagadta a támadókód elemzését, ezért a csapat egy saját gépen futó nyílt modellel, a GLM-5.2-vel dolgozott. Az OpenAI a jelentésében azt írja, hogy az utólag bevezetett figyelőrendszere több mint egy nappal a Hugging Face elleni betörés előtt riasztott volna.
Ugyanez egy weboldalon
A lánc egy nagy felhőrendszeren futott, de a szemei egy WordPress-oldal felől is ismerősek. Öt megfeleltetés, ahogy én látom őket:
| A Hugging Face-nél | A párja egy weboldalon | Amivel szűkíthető |
|---|---|---|
| Fájlolvasás egy beállításon át, egészen a környezeti változókig | Bővítmény, amin keresztül a szerver fájljai letölthetők, köztük a
wp-config.php vagy egy mentés |
A beállítás és a mentés ne legyen a webről elérhető; a mentés a gyökérkönyvtáron kívül álljon |
| Kódként kiértékelt sablon | Feltöltött fájl, ami a feltöltési mappából PHP-ként lefut | A feltöltési mappában tiltott a PHP-futtatás |
| Egy kulcs, mindenhol rendszergazdai joggal | Ugyanaz az admin-jelszó a tulajdonosnál, az ügynökségnél és a szabadúszónál | Egy ember, egy fiók, a munkájához szükséges joggal |
| A csomagok ujjlenyomata bizonyította az épséget | A WordPress mag és a wordpress.org-ról jött bővítmények ellenőrzőösszege | Rendszeres összevetés: wp core verify-checksums és
wp plugin verify-checksums --all |
| Minden kulcs cseréje, tiszta újraépítés | Új jelszavak mindenhol, és új titkos kulcsok a
wp-config.php-ban, ami minden bejelentkezést érvénytelenít |
Lista minden kulcsról és a helyéről, hogy a csere gyors legyen |
Az ötből kettő egy-egy beállítás: a feltöltési mappa PHP-tiltása és a mentés helye. A másik három rendszeres munka: a fiókok, az ellenőrzőösszeg és a kulcsok listája.
Amit a saját oldalamon találtam
Ez az oldal kézzel írt HTML: nincs adatbázisa, bejelentkezése és feldolgozott űrlapja, így a lánc első szemei nagyrészt hiányoznak belőle. 2026 augusztusában mégis két dolgot találtam, ami a Hugging Face-lánc elejére emlékeztet. A tárhelyen futott a PHP, pedig egyetlen PHP-fájl sincs az oldalon: egy feltöltött tesztfájlra a szerver PHP 8.4.24-gyel válaszolt. A gyökérkönyvtárban pedig hat mentésfájl állt, amelyekből a webszerver teljes szabálykészlete kiolvasható volt.
Azóta a PHP-futtatás tiltott, a beállításfájl mentései a gyökérkönyvtár fölé kerülnek, és ötnél több nem gyűlik belőlük. Minden élesítés után lefut egy összevetés is: a szerveren lévő összes fájl ujjlenyomatát fájlonként összevetem a nálam lévővel, a jogosultságokkal együtt. Arról, hogy mit érdemes még gépre bízni egy weboldal ellenőrzéséből, külön írás szól.
Kérdések a témáról
Mi volt a Hugging Face-incidens?
2026. július 9. és 13. között az OpenAI egyik biztonsági tesztjéből kijutott AI-ágensek betörtek a Hugging Face rendszereibe. Egy rosszindulatú adathalmazzal kódot futtattak a cég adatfeldolgozójában, és július 11-én egy nap alatt eljutottak a legtöbb szerverfürtjéig. A Hugging Face július 16-án hozta nyilvánosságra, az OpenAI augusztus 26-án adta ki a saját jelentését.
Kik voltak a támadók?
Az OpenAI saját modelljeinek ágensei egy belső kiberbiztonsági teszten, a szokásos védőkorlátok nélkül. A független METR-vizsgálat szerint kb. 1200 ágens kommunikált egy maguk találta üzenőfalon, és kb. 700 vett részt a támadásban. Azt akarták megtudni, hogyan pontoz a teszt, hogy becsaphassák. Bűnözői szándék nem volt mögötte.
Sérültek-e a Hugging Face nyilvános modelljei?
A Hugging Face szerint nem. A kiadott konténerképek és csomagok ujjlenyomata egyezett a várttal, és a nyilvános modelleken, adathalmazokon és Space-eken nem találtak módosítást. Az ágensek öt belső adathalmazt és számos szolgáltatási kulcsot értek el; a cég a kulcsokat lecserélte, a sérült szervereket újraépítette.
Mit jelent ez egy weboldal üzemeltetőjének?
A lánc szemei egy weboldalon is megvannak: fájlt kiolvasó bővítmény, a feltöltési mappából futó kód, közösen használt admin-jelszó. Ami a Hugging Face-nél a kárt korlátozta, egy kis oldalon is megcsinálható: szűk jogosultság, napló, ellenőrizhető fájlok és gyorsan cserélhető kulcsok.