Technologia

Agent AI za 1000 dolarów znalazł 21 luk zero-day w FFmpeg

Adrian Kessler

Autonomiczny agent AI przeczytał około 1,5 miliona linii kodu C w FFmpeg i wrócił z 21 działającymi lukami zero-day, każdą wraz z odtwarzalnym wejściem, które ją wyzwala. FFmpeg to silnik dekodujący obraz i dźwięk w przeglądarkach, odtwarzaczach, telefonach i telewizorach smart, więc dziura w nim jest dziurą niemal wszędzie.

Dla każdego, kto kiedykolwiek otworzył link do wideo, właśnie to jest istotne. FFmpeg prawie nigdy nie pojawia się na ekranie, ale działa pod VLC, Chrome, niezliczonymi aplikacjami na Androida i serwerami przetwarzającymi przesyłane pliki na największych platformach. Błąd w jednym z jego parserów można w zasadzie osiągnąć jednym złośliwym plikiem: klipem, strumieniem, ścieżką napisów spreparowaną tak, by zawiesić program albo uruchomić kod na urządzeniu, które dekoduje.

Agent pochodzi od DepthFirst AI, start-upu z branży bezpieczeństwa, który zbudował system polujący na błędy pamięci bez tego, by człowiek najpierw czytał kod. Według firmy całe przejście kosztowało około 1000 dolarów, liczbę, którą celowo przedstawia jako 10 procent tego, co Anthropic wydał, gdy jego model Claude Mythos przeczesywał ważne oprogramowanie w poszukiwaniu luk na początku tego roku. Prawdziwa wiadomość kryje się pod metką ceny. Znajdowanie realnych, możliwych do wykorzystania błędów w krytycznej infrastrukturze staje się na tyle tanie, że można to robić niemal z kaprysu.

21 znalezisk to w większości klasyczne rany starego kodu C: przepełnienia bufora na stercie i na stosie, przepełnienia i niedopełnienia liczb całkowitych. Tkwią w tych częściach FFmpeg, które przyjmują niezaufane dane, między innymi w demukserze MPEG-TS, dekoderze VP9, kilku depakietyzerach RTP, skalerze swscale oraz demukserach DASH i AVI. To dokładnie te komponenty, które dotykają pliku lub strumienia sieciowego przed wszystkim innym.

Jedna z luk tkwiła w kodzie od 2003 roku. Przepełnienie stosu związane z tablicą opisu usług, śledzone teraz jako CVE-2026-39214, pozostawało niezauważone przez 23 lata mimo niezliczonych przeglądów i audytów. Pierwsza partia identyfikatorów DepthFirst biegnie od CVE-2026-39210 do CVE-2026-39218, a pozostałe problemy są naprawione, lecz jeszcze nieponumerowane. To, że maszyna wydobyła w kilka dni to, co dwie dekady ludzkich oczu przeoczyły, jest niewygodnym nagłówkiem dla zawodu specjalisty od bezpieczeństwa.

Łup z FFmpeg pojawił się w tym samym tygodniu, w którym Google wydało Chrome 149, łatające rekordowe 429 luk w jednej wersji. Ponad 100 oceniono jako krytyczne lub wysokie, w większości błędy use-after-free i przypadki, w których przeglądarka zaufała danym, które powinna była sprawdzić. Najgorsza, CVE-2026-10881, to odczyt i zapis poza zakresem w warstwie graficznej ANGLE w Chrome, z oceną wagi 9,6 na 10. Spreparowana strona mogłaby jej użyć, by wyrwać się z piaskownicy przeglądarki i uruchomić kod na maszynie, a Google zapłaciło zgłaszającemu badaczowi 97 000 dolarów.

Dwie liczby, 21 i 429, opowiadają tę samą historię z dwóch przeciwnych końców. Badanie podatności się uprzemysławia. Niezależnie od tego, czy znajdującym jest agent AI, czy dobrze finansowany program nagród za błędy, liczba wykrytych luk rośnie znacznie szybciej niż liczba osób gotowych je naprawić.

Ta liczba jest też miejscem, gdzie szum spotyka się z rzeczywistością. Polowanie na błędy z AI ma problem fałszywych trafień, bo model potrafi z pełnym przekonaniem opisać podatność, która nie istnieje, albo taką, której żaden atakujący nigdy by nie wyzwolił. Gdy Anthropic ogłosił, że Claude Mythos znalazł tysiące luk zero-day w głównych systemach operacyjnych i przeglądarkach, krytycy zauważyli, że liczba z nagłówka opierała się na znacznie mniejszym zbiorze ręcznie sprawdzonych przypadków, i odczytali to ogłoszenie tyleż jako argument sprzedażowy, co wynik badań. DepthFirst twierdzi, że jego agent jest zbudowany właśnie po to, by tego uniknąć, z barierami, które nie pozwalają mu zmyślać warunków potrzebnych błędowi, oraz wymogiem, by każde znalezisko przyszło z wejściem dowodzącym, że dosięga luki. Odtwarzalny dowód koncepcji jest tym, co oddziela prawdziwy raport od szumu.

A jednak nawet zweryfikowane błędy tworzą problem. FFmpeg jest utrzymywany w dużej mierze przez wolontariuszy, a nagła powódź raportów generowanych przez maszyny, choćby najdokładniejszych, przesuwa wąskie gardło z wyszukiwania luk na ich segregowanie i łatanie. Koszt odkrycia się załamuje, a koszt ludzkiej odpowiedzi nie. Narzędzie zdolne wyprodukować 21 ważnych błędów za 1000 dolarów potrafi też produkować je szybciej, niż mały zespół jest w stanie odpowiedzialnie przyjąć.

Na razie luki w FFmpeg są naprawione w kodzie źródłowym projektu, a pozostałe numery CVE wciąż czekają na przydzielenie, Chrome 149 zaś trafia do użytkowników automatycznie w nadchodzących dniach. DepthFirst dał do zrozumienia, że FFmpeg był pokazem, a nie punktem końcowym, i że inne szeroko używane biblioteki open source są następne w kolejce do tego samego traktowania. Następnym razem, gdy agent AI przeczyta milion linii kodu cicho działającego na miliardach urządzeń, jedynym realnym pytaniem będzie to, jak szybko ludzie po drugiej stronie zdołają nadążyć.

Tagi:

Dyskusja

Jest 0 komentarzy.