Siedemnaście tysięcy zdarzeń, a API powiedziało nie

Momentem, który ma znaczenie w oświadczeniu Hugging Face, nie jest włamanie. Jest nim członek zespołu reagowania siedzący przed płatnym API z dowodami w ręku i odprawiony z niczym. 16 lipca 2026 roku firma opublikowała relację z incydentu bezpieczeństwa, w którym, jak podaje, napastnicy wykorzystali to, co opisuje dosłownie jako "(a remote-code dataset loader and a template-injection in a dataset configuration)", by uruchomić kod na workerze przetwarzającym. To, czym zespół dysponował później, było w słowach samego Hugging Face "the full attacker action log, comprised of more than 17,000 recorded events". W innym miejscu wpis mówi o "tens of thousands of automated actions".

Odmowa jest właściwą historią, a zdanie napisał sam Hugging Face. Wpis stwierdza: "This did not work: the analysis requires submitting large volumes of real attack commands, exploit payloads, and C2 artifacts, and these requests were blocked by the providers' safety guardrails, which cannot distinguish an incident responder from an attacker." Ostatnie zdanie podrzędne dźwiga cały ciężar. System nie oceniał Hugging Face i się nie mylił. Nie miał żadnej możliwości wydania tej oceny.

Wszystko powyższe opiera się wyłącznie na słowie Hugging Face i chcemy to powiedzieć wprost. Nie mamy niezależnego źródła pierwotnego dla żadnego z faktów dotyczących incydentu. Żadna redakcja ich nie potwierdziła; każda relacja, jaką znaleźliśmy, jedynie powtarza wpis firmy. Hugging Face nie podaje ani daty włamania, ani daty wykrycia, tylko "Earlier this week" i "over a weekend". Nie wymienia żadnego dostawcy. I uznaje własną pracę za niedokończoną: "We are still completing our assessment of whether any partner or customer data was affected." Ten tekst nie jest relacją z incydentu. Jest odczytaniem tego, co opublikowane umowy dostawców rzeczywiście mówią, zestawionym z postępowaniem, które opisuje Hugging Face.

Przeczytaliśmy trzy dokumenty, szukając zakazu

Nie ma go. Pobraliśmy opublikowane zasady użytkowania Anthropic, OpenAI i Google i żadna z tych trzech nie zakazuje analizowania wrogiego materiału pochodzącego z naruszenia własnego systemu. To nie jest odczytanie okazjonalne. Każdy zakaz cybernetyczny we wszystkich trzech dokumentach jest ograniczony zastrzeżeniem, a postępowanie opisane przez Hugging Face wypada poza każde z tych zastrzeżeń.

Zasady użytkowania Anthropic, obowiązujące od 15 września 2025 roku, zakazują pracy mającej na celu "Discover or exploit vulnerabilities in systems, networks, or applications without authorization of the system owner" i osobno zabraniają użytkownikom "Create or distribute malware, ransomware, or other types of malicious code". Hugging Face był właścicielem systemu, więc pierwsza klauzula go nie dosięga. Analizował ładunki, które już istniały, nie tworzył ich ani nie rozpowszechniał, więc druga też nie. Nigdzie w dokumencie nie ma wyjątku dla badań nad bezpieczeństwem, reagowania na incydenty ani obrony. Praca nad jailbreakiem i wstrzykiwaniem promptów jest zakazana tylko "without prior authorization from Anthropic", co zakłada zgodę, ale nie wskazuje żadnej opublikowanej procedury jej uzyskania.

Zasady użytkowania OpenAI, obowiązujące od 29 października 2025 roku, zakazują "destruction, compromise, or breach of another's system or property, including malicious or abusive cyber activity". Zastrzeżenie tkwi w słowie another's. System, o którym mowa, należał do samego Hugging Face. Nie znaleźliśmy wyjątku dla badań nad bezpieczeństwem; jedyna udokumentowana bramka przeglądu dotyczy "national security or intelligence purposes without our review and approval".

Generative AI Prohibited Use Policy Google, ostatnio zmieniona 17 grudnia 2024 roku, mówi: "Do not compromise the security of others' or Google's services. This includes generating or distributing content that facilitates: Spam, phishing, or malware." Znów pracę wykonuje zastrzeżenie. Przesłanie przechwyconych ładunków do analizy to ani ich generowanie, ani rozpowszechnianie. Nie ma wyjątku bezpieczeństwa, jest tylko ogólna klauzula wyjątków: "We may make exceptions to these policies based on educational, documentary, scientific, or artistic considerations, or where harms are outweighed by substantial benefits to the public." Nie udokumentowano dla niej żadnej ścieżki wniosku, kontaktu ani procedury. Wszystkie trzy dokumenty obowiązywały przed incydentem.

Umowa twojego dostawcy nie jest twoim mechanizmem kontroli

To zdanie położylibyśmy przed radą nadzorczą. Luka nie polega na tym, że umowa i klasyfikator są ze sobą sprzeczne. Polega na tym, że umowa nigdy nie odniosła się do tej sytuacji, a klasyfikator zachował się tak, jakby była zakazana. Zespół Hugging Face, według własnej relacji, natrafił na odmowę przy pracy, której nie zakazuje żadna opublikowana polityka któregokolwiek z trzech dużych dostawców.

Operator, który przeprowadził zakupy poprawnie, i tak by na to wpadł. Przeczytałeś zasady użytkowania. Nie znalazłeś nic, co zakazywałoby obronnej analizy własnego naruszenia, bo nie ma tam czego znaleźć. Podpisałeś. A potem tym, co cię odrzuciło, było środowisko uruchomieniowe, obiekt inny niż dokument, nierządzony żadnym warunkiem, który wynegocjowałeś, i nieopisany w żadnej klauzuli, którą przejrzałeś. To, co zweryfikowałeś, i to, co decyduje o trzeciej nad ranem, to nie ten sam system.

Opisujemy lukę w opublikowanych warunkach, nie zarzucamy nikomu ich naruszenia. Zarówno Anthropic, jak i OpenAI dopuszczają dostosowania umowne, a niepubliczne warunki korporacyjne mogą mówić coś zupełnie innego niż zasady publiczne; nie widzieliśmy tych warunków i nie możemy się do nich odnieść. Nie możemy też powiedzieć, dlaczego doszło do odmów. Hugging Face nie publikuje zapisów odmów, więc to, czy blokady wynikały z polityki, czy ze zwykłego nadmiernego blokowania przez klasyfikator, pozostaje z zewnątrz niepoznawalne, i nie będziemy zgadywać. Hugging Face nie wymienia też blokujących dostawców. Mówi jedynie: "we are sharing this feedback with the providers concerned."

Co Hugging Face rzeczywiście stwierdził, a czego nie

Ocena szkód dokonana przez firmę jest węższa, niż sugeruje pobieżna lektura, a tę precyzję warto zachować. Hugging Face raportuje "no evidence of tampering with public, user-facing models, datasets, or Spaces, and our software supply chain (container images and published packages) was verified clean". To dwa różne twierdzenia. Brak dowodów manipulacji jest brakiem ustaleń. Verified clean jest pozytywnym twierdzeniem o łańcuchu dostaw i jest z tych dwóch mocniejsze. Zlanie ich w jedno zapewnienie to właśnie to, co czyni podsumowanie incydentu mniej dokładnym niż oświadczenie, które podsumowuje.

Atakujący sam był zautomatyzowany, a ten szczegół czyni problem skali strukturalnym, a nie pechowym. Hugging Face opisuje kampanię dosłownie jako "run by an autonomous agent framework (appearing to be built on an agentic security-research harness - used LLM still not known)". Agent generujący dziesiątki tysięcy działań zostawia dziennik, którego ludzki zespół nie przeczyta w wymaganym tempie, i dokładnie dlatego zespół reagowania chciał postawić na nim model, i dokładnie tam został zablokowany. Jedyna instrukcja operacyjna we wpisie jest krótka: "we recommend rotating any access tokens and reviewing recent activity on your account."

A Hugging Face uprzedził argument, który część czytelników zechce z tego wyprowadzić, więc raczej go zacytujemy, niż będziemy go omijać. Wpis stwierdza: "This is not an argument against safety measures on hosted models". Zgadzamy się, a ten tekst nie jest tym argumentem. Zabezpieczenia, które nie odróżniają reagującego na incydent od napastnika, wciąż wykonują realną pracę przeciwko napastnikowi. Ustalenie dotyczy tu tego, co opublikowane warunki pomijają, i tego, co operator powinien wobec tego sprawdzić, a nie tego, czy filtry powinny istnieć.

Sprawdź odmowę, zanim incydent sprawdzi ciebie

Zaplanuj ćwiczenie w tym kwartale. Weź prawdziwy wrogi materiał z własnych dzienników, prześlij go do API, po które naprawdę sięgnąłbyś podczas incydentu, i zapisz, co wraca. Ustalenie, którego szukasz, to nie uspokojenie. To rzeczowa odpowiedź na pytanie, na które żadna umowa ci nie odpowie, uzyskana w dniu, w którym nic się nie pali.

Dla operatora z UE zegar czyni to konkretnym, a nie teoretycznym. Obowiązki zgłoszeniowe z NIS2 biegną na wczesnym ostrzeżeniu w ciągu 24 godzin i powiadomieniu w ciągu 72 godzin, a DORA nakłada na podmioty finansowe własne wąskie okno na zgłoszenie wstępne. Te terminy zakładają, że potrafisz opisać, co się stało. Jeśli twoja ścieżka analizy staje w trzeciej godzinie, bo filtr nie przyjmuje twoich własnych dowodów, zegar nie zatrzymuje się, kiedy to odkrywasz. To różnica między dowiedzeniem się o tym na ćwiczeniu sztabowym a dowiedzeniem się wewnątrz okna regulacyjnego.

Potem utrzymaj ścieżkę, której nie da się odmówić. Rozwiązanie awaryjne Hugging Face, jego własnymi słowami: "We ran the forensic analysis instead on GLM 5.2, an open-weight model, on our own infrastructure." GLM 5.2 pochodzi od Z.ai, dawniej Zhipu, z Pekinu; sam Hugging Face nie charakteryzuje pochodzenia modelu, a to wskazanie jest nasze, nie jego. Pochodzenie nie jest tu istotą. Wagi, które posiadasz, działające na sprzęcie, który kontrolujesz, to jedyna konfiguracja, w której środowisko uruchomieniowe strony trzeciej nie ma głosu w sprawie tego, czy twój incydent zostanie przeanalizowany. Każdy operator powinien dziś wiedzieć, czy taką ma i czy ona działa.