
Co znajdziesz w tym artykule?
Wprowadzenie do problemu / definicja
Sztuczna inteligencja coraz śmielej wkracza do obszaru offensive security i badań nad podatnościami, ale jej realna skuteczność w wykrywaniu złożonych błędów nadal była przedmiotem dyskusji. Najnowszy przypadek pokazuje jednak, że połączenie modeli LLM z klasyczną analizą kodu może prowadzić do odnajdywania rzeczywistych podatności zero-day w popularnym oprogramowaniu.
Kluczowe znaczenie ma tu nie samo użycie AI, lecz odpowiednie przygotowanie kontekstu analitycznego. Zamiast oczekiwać od modelu zrozumienia całego repozytorium, badacze ograniczyli zakres danych do najbardziej podejrzanych ścieżek wykonania, co znacząco zwiększyło skuteczność wykrywania podatności.
W skrócie
Badacze bezpieczeństwa zaprezentowali zautomatyzowany pipeline łączący statyczną analizę kodu, program slicing oraz modele LLM do wyszukiwania podatności w produkcyjnym oprogramowaniu. System skierowano przeciwko 200 popularnym wtyczkom WordPress, a efektem było wykrycie nowej podatności typu blind SQL injection we wtyczce Creative Mail.
- Wykryta luka otrzymała identyfikator CVE-2026-3985.
- Podatność dotyczyła środowisk, w których Creative Mail działa razem z WooCommerce.
- Pipeline nie tylko zidentyfikował błąd, ale także wygenerował działający proof-of-concept.
- Badacze pokazali również metodę ekstrakcji danych z bazy w scenariuszu blind SQL injection.
Kontekst / historia
Przez długi czas wykorzystanie AI w cyberbezpieczeństwie rozpatrywano głównie teoretycznie. Pytanie brzmiało, czy modele językowe będą w stanie samodzielnie odnajdywać złożone błędy w dużych projektach, czy pozostaną jedynie wsparciem dla analityków i zespołów red team.
Opisany przypadek przesuwa tę debatę na poziom praktyczny. Autorzy rozwiązania celowo przeanalizowali 200 najpopularniejszych wtyczek WordPress, czyli oprogramowanie dobrze znane badaczom, dostawcom zabezpieczeń i uczestnikom programów bug bounty. Znalezienie nowej podatności w tak często analizowanym ekosystemie stanowi mocny argument za rosnącą dojrzałością narzędzi wspieranych przez AI.
Dodatkowo wykryty problem nie należał do kategorii błędów łatwych do wykrycia klasycznymi skanerami. Wymagał wieloetapowego łańcucha analizy oraz połączenia różnych przesłanek technicznych, co jeszcze bardziej podkreśla znaczenie zastosowanego podejścia.
Analiza techniczna
Najważniejszym elementem całego przypadku była architektura pipeline’u. Proces rozpoczynał się od klasycznego silnika analizy kodu, który wyszukiwał szeroko zdefiniowane wzorce mogące prowadzić do podatności. Następnie stosowano technikę program slicing, aby ograniczyć analizę do fragmentów kodu powiązanych z konkretnymi punktami wejścia.
Takie podejście pozwoliło zmniejszyć szum informacyjny, obniżyć koszt przetwarzania i poprawić trafność wniosków generowanych przez modele LLM. Zamiast analizować całe repozytorium, system skupiał się na wycinkach obejmujących funkcję docelową, kolejne wywołania metod i istotny łańcuch wykonania.
W analizowanym scenariuszu brano pod uwagę nieautoryzowaną powierzchnię ataku wtyczek WordPress, w tym:
- trasy REST,
- hooki szablonów,
- wywołania AJAX dostępne bez uwierzytelnienia,
- inne publicznie osiągalne mechanizmy wejścia.
Kolejny etap obejmował podstawowy taint tracking, który odrzucał przypadki oczywiście bezpieczne, na przykład te, gdzie dane wejściowe przechodziły przez poprawnie użyte mechanizmy sanityzacji. Pozostałe ścieżki trafiały do lżejszego modelu triage, którego zadaniem było odfiltrowanie fałszywych alarmów oraz nieistotnych wyników.
Dopiero na końcu cięższy model oceniał rzeczywistą eksploatowalność. Jeśli ścieżka wyglądała obiecująco, uruchamiano agenta zdolnego do dalszego przeszukiwania kodu oraz walidacji hipotezy w środowisku testowym opartym o kontenery Docker. To właśnie na tym etapie wygenerowano działający proof-of-concept dla blind SQL injection oznaczonego jako CVE-2026-3985.
Według opisu podatność mogła umożliwiać odczyt danych z bazy, w tym potencjalnie hashy haseł administratorów i sekretów aplikacyjnych. Istotnym warunkiem eksploatacji było współdziałanie Creative Mail z WooCommerce, co zawężało grupę podatnych instalacji, ale nie eliminowało ryzyka.
Konsekwencje / ryzyko
Z perspektywy bezpieczeństwa aplikacyjnego sprawa ma dwa wymiary. Pierwszy dotyczy samej podatności. SQL injection pozostaje jedną z najgroźniejszych klas błędów, szczególnie gdy pozwala na nieautoryzowany dostęp do danych przechowywanych w bazie. Nawet wariant blind SQL injection może umożliwić skuteczną kompromitację środowiska przy odpowiednio przygotowanej metodzie ekstrakcji danych.
W praktyce potencjalne skutki obejmują pozyskanie hashy haseł, tokenów, danych użytkowników, informacji konfiguracyjnych oraz innych sekretów, które mogą zostać użyte do dalszej eskalacji uprawnień lub przejęcia systemu.
Drugi wymiar dotyczy samej automatyzacji procesu badawczego. Jeśli pipeline wspierany przez AI potrafi przejść od identyfikacji ścieżki wejścia do przygotowania działającego exploita, oznacza to skrócenie czasu między pojawieniem się błędu a jego praktycznym wykorzystaniem. To istotna zmiana dla obrońców, ponieważ podobne techniki mogą zostać zaadaptowane również przez bardziej ofensywnych aktorów.
Rekomendacje
Administratorzy środowisk WordPress powinni w pierwszej kolejności przeprowadzić przegląd używanych wtyczek i zależności między nimi. Szczególną uwagę należy poświęcić instalacjom, w których jednocześnie działają Creative Mail oraz WooCommerce.
- Przeprowadzić pełną inwentaryzację wtyczek, motywów i komponentów WordPress.
- Ograniczyć liczbę dodatków do minimum uzasadnionego operacyjnie.
- Monitorować komunikaty bezpieczeństwa dotyczące używanych rozszerzeń.
- Testować poprawki i aktualizacje w środowisku kontrolowanym, a następnie wdrażać je bez zbędnej zwłoki.
- Stosować WAF i reguły detekcyjne dla podejrzanych żądań kierowanych do publicznych endpointów.
- Analizować logi aplikacyjne, HTTP i bazodanowe pod kątem wzorców typowych dla blind SQL injection.
- Egzekwować zasadę najmniejszych uprawnień dla kont aplikacyjnych w bazie danych.
- Utrzymywać aktualne kopie zapasowe i procedury odtworzeniowe po incydencie.
Po stronie producentów oprogramowania ważnym wnioskiem jest konieczność łączenia tradycyjnych testów statycznych i ręcznego code review z bardziej zaawansowaną analizą przepływu danych oraz scenariuszami obejmującymi złożone, wieloetapowe łańcuchy ataku.
Podsumowanie
Opisany przypadek pokazuje, że AI w cyberbezpieczeństwie przestaje być wyłącznie narzędziem pomocniczym do streszczania kodu czy generowania prostych skryptów. W połączeniu z dojrzałymi technikami analizy kodu modele LLM mogą realnie wspierać wykrywanie podatności zero-day w popularnym, produkcyjnym oprogramowaniu.
Najważniejszy wniosek nie brzmi jednak, że model samodzielnie znalazł błąd, lecz że odpowiednio zaprojektowany pipeline potrafi zminimalizować jego ograniczenia i skierować uwagę na najbardziej wartościowe ścieżki. Dla zespołów bezpieczeństwa to wyraźny sygnał, że tempo wykrywania i eksploatacji podatności może rosnąć, a procesy obronne muszą nadążać za tą zmianą.
Źródła
- BleepingComputer — We built a vulnerability vending machine: AI tokens in, zero-days out
- Intruder — technical write-up dotyczący pipeline’u i podatności
- Joern — platforma do code property graph i analizy bezpieczeństwa kodu
- WordPress Plugin Directory — Creative Mail
- WooCommerce — informacje o platformie i ekosystemie