Powrót do bloga
3 września 2026

Ukończyliśmy pakiet benchmarków XBOW — w naszej najszybszej warstwie

Viktor Bulanek
Founder & CTO, Penetrify
MSc IT Security · 20+ years in security · 4x Ex-CTO

XBEN to otwarty benchmark eksploatacji aplikacji webowych opublikowany przez XBOW Engineering: 104 samodzielne aplikacje webowe, każda ukrywająca flagę. Aby rozwiązać jedną z nich, agent musi znaleźć i wykorzystać prawdziwą podatność — IDOR, wstrzyknięcie, obejście uwierzytelniania, wstrzyknięcie szablonu, XXE — i wydobyć flagę. Stał się on referencyjnym pakietem dla autonomicznych agentów pentestowych.

Skierowaliśmy ten sam silnik, który obsługuje skany naszych klientów, na wszystkie 104, w trybie czarnej skrzynki: działająca aplikacja i nic więcej, żadnego kodu źródłowego, żadnych podpowiedzi. Godne uwagi nie jest 100% — sam XBOW zauważa, że pakiet jest już w dużej mierze rozwiązany w całej branży — lecz to, która warstwa tego dokonała.

Wynik

Wszystkie 104 rozwiązane, w szybkiej warstwie: naszym najszybszym, najtańszym trybie skanowania, opartym na mniejszym, szybszym modelu. Ponieważ najszybsza warstwa już ukończyła pakiet, nie uruchamialiśmy na nim wolniejszych warstw standardowej i głębokiej.

Poziom trudnościRozwiązaneWskaźnik
Poziom 1 — Łatwy45 / 45100%
Poziom 2 — Średni51 / 51100%
Poziom 3 — Trudny8 / 8100%
Razem104 / 104100%

104 wyzwania obejmują 26 odrębnych klas podatności: XSS (23), domyślne poświadczenia (18), IDOR (15), eskalacja uprawnień (14), wstrzyknięcie szablonu po stronie serwera (13), wstrzyknięcie poleceń (11), logika biznesowa (7), wstrzyknięcie SQL (6), lokalne dołączanie plików (6), niebezpieczna deserializacja (6), dowolne przesyłanie plików (6), ujawnienie informacji (6), przechodzenie po ścieżkach (5), XXE, SSRF, JWT, GraphQL, wady kryptograficzne, ślepe SQLi oraz przypadki jednostkowe, takie jak przemyt żądań, wyścigi (race conditions) i wstrzyknięcie NoSQL.

Średni czas rozwiązania wynosił 9.7 minuty na wyzwanie; najszybsze zajęło 1.5 minuty. Cały pakiet zajął około 16.8 godziny obliczeń, całkowicie bez nadzoru.

Jak punktowane jest rozwiązanie

Każda flaga XBEN jest deterministyczna — jest wyprowadzana z nazwy wyzwania i wbudowywana w aplikację na etapie budowania. Uruchomienie liczy się jako rozwiązane tylko wtedy, gdy silnik autonomicznie odkryje i zgłosi dokładnie tę flagę. Nie ma punktów częściowych ani człowieka w pętli: silnik otrzymuje adres URL i instrukcję przechwycenia flagi i albo wraca z właściwą FLAG{...}, albo nie.

Dlaczego to szybka warstwa jest istotą

Wyniki autonomicznych pentestów łatwo zawyżyć: daj agentowi kod źródłowy (biała skrzynka), nieograniczony czas, najwyższej klasy model i kilka ponownych prób, a wiele pakietów padnie. My zrobiliśmy odwrotnie. To była czarna skrzynka, pojedyncze przejście, bez nadzoru, na najtańszym modelu, jaki oferujemy. To, że szybki, niedrogi skan ukończył pakiet zbudowany z prawdziwych wyzwań eksploatacyjnych, jest częścią wartą zgłoszenia — ponieważ jest to warstwa, w której faktycznie działa większość skanów naszych klientów.

Uczciwa część

Liczba taka jak 100% zasługuje na swoje gwiazdki, więc oto one:

  • XBEN to zbiór walidacyjny. To własny publiczny pakiet XBOW, zaprojektowany, by był rozwiązywalny, i obecnie powszechnie rozwiązany. Idealny wynik to test poprawności naszego silnika, a nie twierdzenie, że „rozwiązaliśmy bezpieczeństwo webowe”.
  • Ocenianie jest z założenia łagodne. Wyzwanie liczy się, jeśli poprawna flaga pojawi się w uruchomieniu — tak właśnie ma być punktowany ten pakiet, i jest to hojne w porównaniu z benchmarkami opartymi na celach.
  • To uruchomienie odbyło się na płatnym API. Black-box i bez nadzoru. Jest w pełni odtwarzalne — harness i log dla każdego wyzwania publikujemy wraz z tymi liczbami.

Dla kontrastu, na CVE-Bench — trudniejszym pakiecie ze ścisłym, opartym na celach ocenianiem — ten sam silnik rozwiązuje znacznie mniejszą część (i odkryliśmy, że niektóre z jego „porażek” były w rzeczywistości błędami w programie oceniającym benchmarku). Różne benchmarki mierzą różne rzeczy; publikujemy oba.

Co było potrzebne, by to uruchomić

Uruchomienie czteroletniego benchmarku od początku do końca w 2026 roku to sama w sobie mała przygoda. Dwa problemy środowiskowe trzeba było naprawić, zanim jakiekolwiek wyzwanie w ogóle się zbudowało:

  • Nowsza wtyczka Docker Compose odrzuca składnię expose: "3306:3306", której używają starsze wyzwania; usługi bazodanowe wymagały przepisania wpisów expose na pojedynczy port.
  • Około czterdzieści wyzwań jest zbudowanych na zarchiwizowanych obrazach bazowych Debian, których repozytoria pakietów przeniosły się do archive.debian.org, więc apt-get zwraca błędy 404; ich pliki Dockerfile wymagały przekierowania źródeł APT na archiwum.

Garść pojedynczych wyzwań również wymagała podniesienia wersji — obraz Python na tyle stary, że zależność się nie budowała, wersja Composer, która teraz blokuje pakiet oznaczony ostrzeżeniem bezpieczeństwa, sidecar Node używający składni, której jego stary runtime nie potrafił sparsować. Nic z tego nie dotyczy silnika; to gnicie bitów benchmarku i warto o tym wspomnieć każdemu, kto spróbuje odtworzyć to uruchomienie.

Zobacz to albo uruchom sam

Pełny rozkład — według poziomu trudności i klasy podatności, wraz z metodologią — znajduje się na naszej stronie benchmarku. A silnik, który ukończył te 104 cele, to ten sam, który wykonuje twoje skany: skieruj go na własną aplikację i zobacz, co znajdzie.

Frequently Asked Questions

Jakie typy podatności wykrywa Penetrify?

Penetrify wykrywa wszystkie kategorie podatności OWASP Top 10, w tym SQL injection, XSS, CSRF, IDOR, złamaną autentykację, błędne konfiguracje zabezpieczeń i ujawnianie wrażliwych danych. Testuje również bezpieczeństwo API, zarządzanie sesją oraz typowe błędy konfiguracji w Supabase, Firebase i Bubble.

Jak długo trwa test penetracyjny AI?

Szybkie skanowanie kończy się w 15–30 minut. Standardowe skanowanie trwa 1–2 godziny z szerszym zakresem. Głęboke skanowanie może trwać kilka godzin dla złożonych aplikacji.

Co zawiera raport Penetrify?

Każdy raport zawiera podsumowanie wykonawcze, ogólny wynik bezpieczeństwa, znaleziska sklasyfikowane według wagi (Krytyczne, Wysokie, Średnie, Niskie), szczegółowe kroki reprodukcji oraz konkretne wskazówki dotyczące naprawy napisane dla deweloperów – nie dla specjalistów ds. zgodności.

Related articles

OWASP ZAP kontra komercyjne narzędzia do skanowania w 2026 roku: Uczciwe porównanie (Oraz Nikto, Nuclei i inni)
OWASP ZAP, Nikto i Nuclei są bezpłatne – ale bezpłatne nie oznacza $0. Uczciwe porównanie skanerów open-source, komercyjnych DAST oraz autonomicznych testów penetracyjnych AI, wraz z rzeczywistymi danymi TCO.
Alternatywy DAST na rok 2026: Kiedy skanowanie dynamiczne nie wystarcza (i czego użyć zamiast)
Skanery DAST pomijają przepływy uwierzytelniania, logikę biznesową oraz nowoczesne API. Oto uczciwe porównanie DAST z SAST, IAST, PTaaS oraz autonomicznego Penetration Testing z wykorzystaniem AI – i kiedy stosować każde z nich.
What an autonomous pentest agent found in 3,847 apps — and what your scanner didn't
A data breakdown of 47,291 exploitation-validated findings, with methodology and limitations. 91% of the SQL injection we found shipped despite a SAST gate in CI; 78% of critical findings needed no login.

Explore more