Dokumenty, które nieświadomie atakują
Ukryte zagrożenie, które patrzy nam prosto w oczy
Tematy takie jak prompt injection czy zatruwanie modeli AI są już dość dobrze znane w świecie bezpieczeństwa. Ale jest jeden wektor ataku, który wciąż pozostaje w cieniu – degradacja dokumentacji jako narzędzie ataku.
Pewien zespół badaczy właśnie odkrył coś niepokojącego. Przeanalizowali pliki llms.txt oraz llms-full.txt – formaty dokumentacji maszynowej, które pomagają systemom AI rozumieć strukturę stron internetowych. Wyniki były alarmujące. Wśród tysięcy domen należących do wykonawców wojskowych, korporacji z listy Fortune 500 oraz gigantów technologicznych znaleziono 120 plików wskazujących na nazwy pakietów lub domeny, które już nie istnieją.
Cała elegancja tego ataku tkwi w jego prostocie. Atakujący nie musi niczego hakować. Wystarczy, że poczeka.
Mechanizm ataku krok po kroku
Wyobraź sobie taki scenariusz: developer korzysta z agenta AI do pomocy przy konfiguracji projektu. Agent odczytuje plik llms.txt firmy, szuka instrukcji instalacji i znajduje odniesienie do zależności o nazwie cool-utils-lib. Ponieważ agent ma uprawnienia do uruchamiania poleceń menedżera pakietów – po prostu ją instaluje.
Problem? Ta nazwa pakietu nigdy nie była zarejestrowana. Do momentu, aż atakujący ją zajął.
W kontrolowanym eksperymencie badacze zrobili dokładnie to. Zarezerwowali kilka z tych porzuconych nazw, wgrali nieszkodliwe pakiety „telefonujące do domu" (zaprojektowane wyłącznie do logowania momentu dostępu) i czekali. Rezultaty były uderzające: niecałą godzinę po publikacji jedna z firm z Fortune 500 zainstalowała już jeden z ich pakietów. W kolejnych dniach „kilkadziesiąt kolejnych" organizacji się zgłosiło.
To nie był prawdziwy atak – pakiety były niegroźne i żaden system produkcyjny nie został naruszony. Ale udowodniono osiągalność. Powierzchnia ataku jest realna.
Dlaczego agenty AI to pogarszają
To właśnie sprawia, że problem jest szczególnie niebezpieczny: tradycyjne bezpieczeństwo zakłada, że decyzje podejmują ludzie. Jeśli dasz komuś dokument z błędnymi instrukcjami, może je wykonać. Ale ludzie często łapią oczywiste błędy, zadają pytania wyjaśniające lub zauważają, gdy coś wydaje się nie tak.
Agenty AI działają inaczej. Traktują dokumentację jako wykonywalną prawdę. Jeśli Twój llms.txt mówi „uruchom npm install legacy-widget", agent po prostu to robi – bez kwestionowania, czy ten pakiet jeszcze istnieje, kto jest jego właścicielem lub czy to ten właściwy.
Badacze przetestowali wiele agentów – Claude, OpenAI Codex oraz Hermes od Nous Research – i wszyscy podążali za problematycznymi odniesieniami. To nie jest wada konkretnego dostawcy. To systemowy problem wynikający z połączenia:
- Dokumentacji bez maintenance, która się starzeje
- Agentów AI skonfigurowanych z uprawnieniami do wykonywania, które bezgranicznie ufają dokumentacji
- Możliwości zajęcia porzuconych nazw pakietów w publicznych rejestrach
Co możesz zrobić
Rekomendacje badaczy są praktyczne i gotowe do wdrożenia:
1. Regularnie audytuj pliki llms.txt
Jeśli Twoja organizacja publikuje dokumentację czytelną dla AI, traktuj odniesienia do pakietów tak samo jak zależności kodu. Weryfikuj, czy każdy wspomniany pakiet, domena lub polecenie faktycznie wskazuje na legalny, aktualny zasób. Prosty literówka w dokumentacji może stać się zajęciem infrastruktury.
2. Wdróż bramki akceptacji dla działań agentów
Nie pozwalaj agentom AI na automatyczne wykonywanie poleceń shell ani instalowanie zależności. Wymagaj jawnego kroku akceptacji. Dokumentacja powinna być materiałem referencyjnym, nie instrukcją do natychmiastowego wykonania.
3. Monitoruj rejestry pakietów pod kątem podszywających się nazw
Rozważ ustawienie alertów dla nazw pakietów podobnych do Twoich wewnętrznych zależności. Wczesne wykrycie daje Ci okno na zarezerwowanie nazw, zanim zrobi to ktoś inny.
Szerszy obraz
To badanie ujawnia coś ważnego w kontekście przejścia na rozwój wspomagany AI: model zaufania się zmienił, ale nasze praktyki jeszcze za nim nie nadążają.
Gdy programiści pracowali samodzielnie, dokumentacja była przewodnikiem. Gdy agenty AI pracują obok programistów, dokumentacja staje się API. A jak każde API, wymaga walidacji, wersjonowania i rygorystycznego przeglądu bezpieczeństwa.
Dobra wiadomość? To jest problem, który można rozwiązać. W przeciwieństwie do wielu podatności bezpieczeństwa, poprawki są tu proste – pisz lepszą dokumentację, ufaj mniej, weryfikuj więcej. Wyzwaniem jest wyrobienie nawyku traktowania dokumentacji czytelnej dla AI z taką samą rygorystycznością, jaką stosujemy do kodu produkcyjnego.
Wraz z głębszym zadomowieniem się agentów AI w procesach deweloperskich, spodziewaj się więcej podobnych badań. Ataki nie idą wprost po Twoje modele czy dane. Czasem po prostu cierpliwie czekają w Twojej dokumentacji – cierpliwe jak literówka.