LiveAPISec

Co testujemy

Każdy skan najpierw uruchamia ten sam deterministyczny silnik — zero losowości, zero zgadywania. Baseline (8 testów) daje szybką informację przy każdym pushu; Deep (430+ sprawdzeń) uruchamia pełny pakiet według harmonogramu lub przed wydaniem. Na dodatek: triage wspierany przez AI, autonomiczny hacker mode i kwestionariusz kodu (ask mode, SaaS+) na to, czego żaden skaner nie widzi z zewnątrz.

430+ sprawdzeń łącznie: 149 automatycznych testów skanu + 280+ pytań przeglądu hardeningu.

Baseline — 8 testów przy każdym uruchomieniu

Baselinebroken_auth

Zepsuta autoryzacja

Sprawdza, czy endpoint wymagający uwierzytelnienia działa bez tokenu lub z losowym tokenem.

Jak: Powtarza żądanie bez nagłówka Authorization oraz z losowym tokenem; 2xx oznacza brak lub zepsutą kontrolę dostępu.

Przykład: GET /users/me zwraca 200 bez tokenu → każdy może czytać profil.

Baselinebola

BOLA / IDOR

Sprawdza, czy podmiana identyfikatora zasobu daje dostęp do danych kogoś innego (broken object-level authorization).

Jak: Heurystyki po parametrach podobnych do ID: próbuje innych/typowych identyfikatorów i porównuje odpowiedzi pod kątem wycieku danych.

Przykład: GET /orders/124 zwraca zamówienie innego klienta → krytyczny wyciek danych.

Baselinemass_assignment

Mass assignment

Sprawdza, czy serwer po cichu akceptuje dodatkowe pola, których nigdy nie udokumentowano.

Jak: Dodaje dodatkowe pola do payloadu i szuka ich echa/utrwalenia w odpowiedzi.

Przykład: POST /users akceptuje {"is_admin": true} → eskalacja uprawnień.

Baselineinjection

Injection (SQL / NoSQL / JSON)

Sonduje parametry zapytań i pola body pod kątem podatności injection.

Jak: Wysyła klasyczne payloady SQL/NoSQL/JSON i dopasowuje sygnatury błędów oraz anomalie czasowe w odpowiedziach.

Przykład: ' OR '1'='1 w ?search= wywołuje błąd SQL → parametr podatny na injection.

Baselinerate_limit

Rate limiting

Sprawdza, czy API ogranicza powtarzane żądania.

Jak: Wysyła serię identycznych żądań na jeden endpoint; brak 429 oznacza otwarte drzwi dla brute force i scrapingu.

Przykład: 12 szybkich POST /login bez 429 → możliwy credential stuffing.

Baselinecors

Błędna konfiguracja CORS

Sprawdza, czy API odbija dowolne Origin z dozwolonymi poświadczeniami.

Jak: Wysyła złośliwe nagłówki Origin i analizuje Access-Control-Allow-Origin / Allow-Credentials.

Przykład: Origin: https://evil.example odbity z credentials → kradzież sesji przez przeglądarkę.

Baselineheaders

Nagłówki bezpieczeństwa

Sprawdza brak podstawowych nagłówków bezpieczeństwa HTTP.

Jak: Czyta nagłówki odpowiedzi (nosniff, frame options, HSTS, CSP, referrer policy) na każdym celu.

Przykład: Brak X-Content-Type-Options i ochrony ramek → ryzyko clickjackingu / MIME-sniffingu.

Baselinesensitive_params

Wrażliwe parametry

Znajduje sekrety, tokeny i hasła przekazywane w query stringu URL.

Jak: Skanuje nazwy parametrów pod kątem kluczy podobnych do sekretów (token, key, password, secret), które wyciekają do logów i historii przeglądarki.

Przykład: GET /reset?token=abc123 w URL → sekret trafia do logów proxy.

Deep — 141 dodatkowych testów dla skanów harmonogramowych i wydaniowych

Deepshadow_api

Odkrywanie shadow API

Znajduje nieudokumentowane endpointy, które odpowiadają za Twoimi plecami (admin, debug, stare wersje, backupy).

Jak: Sonduje typowe warianty udokumentowanych ścieżek oraz ścieżki globalne (/health, /swagger.json, /actuator); 2xx/3xx na nieudokumentowanej ścieżce to znalezisko.

Przykład: /admin/users odpowiada 200, ale nie ma go w specyfikacji → ukryta powierzchnia ataku.

Deepjwt_weakness

Słabości JWT

Atakuje sam token: alg=none, niezweryfikowany podpis, słaby sekret HMAC, brak wygaśnięcia, key-confusion.

Jak: Najpierw baseline (poprawny token działa, śmieciowy jest odrzucany — inaczej to zwykła zepsuta autoryzacja); potem powtarza zmutowane tokeny tylko na zabezpieczonych endpointach.

Przykład: Token z alg=none zaakceptowany → każdy może sfałszować sesję.

Deepmethod_tampering

Manipulacja metodą HTTP

Sprawdza, czy kontrola dostępu jest podpięta tylko pod udokumentowaną metodę.

Jak: Próbuje tej samej ścieżki innymi czasownikami (GET→POST/PUT/DELETE); 2xx z treścią przy niezadeklarowanej metodzie to obejście.

Przykład: GET /admin → 403, ale POST /admin → 200 → obejście autoryzacji.

Deeptech_fingerprint

Fingerprint technologii + aktualność wersji

Identyfikuje stack serwera po nagłówkach i stronach błędów oraz oznacza oprogramowanie po końcu wsparcia.

Jak: Zbiera nagłówki Server / X-Powered-By z GET / i celowego 404, dopasowuje do wbudowanej tabeli wersji; EOL to wysoka waga.

Przykład: Server: PHP/7.4 (end-of-life) → prawdopodobne niezałatane CVE.

Deepmass_assignment

Mass assignment v2 (eskalacja tylko do odczytu)

Idzie krok dalej niż v1: dowodzi eskalacji uprawnień przez pola tylko do odczytu.

Jak: Wysyła sondy canary, ignoruje pola zadeklarowane w schemacie i wymaga dokładnego echa wartości; tylko pola o randze uprawnień (role, is_admin) podnoszą wagę do wysokiej.

Przykład: {"role":"admin"} odbite dokładnie → potwierdzona eskalacja.

Deepinfo_disclosure

Checklista ujawniania informacji

Przemiata znane wrażliwe ścieżki (.git, .env, konsole debug, aktory, metryki).

Jak: Liczy się treść, nie status: znalezisko wymaga prawdziwego markera w body; puste odpowiedzi i strony logowania milczą. Do tego wykrywanie stack trace na nieistniejącej ścieżce.

Przykład: /.git/config ujawnia wnętrze repozytorium → wysoka waga.

Deeprate_limit

Rate-limit v2 (diff + obejście)

Zadaje trudniejsze pytania: czy login jest ograniczany, gdy reszta API tak? Czy limit da się obejść podszytym nagłówkiem IP?

Jak: Porównuje endpoint auth z neutralnym, potem powtarza żądania z rotacją X-Forwarded-For w kontrolowanych warunkach.

Przykład: Nielimitowany login obok limitowanego API → credential stuffing; rotacja XFF omija 429 → wysoka waga.

Deeptenant_replay

Powtórka nagłówka tenanta

Sprawdza, czy nagłówki tenanta od klienta sterują dostępem do danych.

Jak: Powtarza żądanie z podmienionym X-Tenant-ID/X-Org-ID (maks. 2 żądania); inne dane przy tym samym tokenie to średnia waga — pełna powtórka z innym tokenem to misja hacker mode.

Przykład: Nagłówek other9 ujawnia obce wiersze → wyliczaj tenanta po stronie serwera.

Deeptoken_claims

Higiena claims tokenu

Oznacza tokeny skanowania bez wygaśnięcia lub odbiorcy.

Jak: Zero żądań: dekoduje Bearer JWT skanu; brak exp to średnia waga, brak aud niska — powtórka między API wymaga drugiego API (hacker).

Przykład: Brak exp/aud → krótki TTL + przypięty odbiorca.

Deepattack_path

Łańcuchowanie ścieżek ataku

Łańcuchuje znaleziska w etapy kill-chain w raporcie.

Jak: Zero żądań: silnik grupuje znaleziska (auth-bypass → dostęp do danych → eksfiltracja) i emituje informacyjny łańcuch — wejście dla grafu TTP.

Przykład: juggling → eksport → napraw początek łańcucha.

Deepcors

Łańcuch CORS + CSRF

Atakuje samą logikę allowlisty, a nie tylko proste odbicie.

Jak: Sonduje Origin: null, domeny łudząco podobne ({host}.evil.example) oraz preflight dla metod zapisu z poświadczeniami.

Przykład: Zaufany origin null z poświadczeniami → kradzież sesji przez iframe w sandboxie.

Deepssrf

Canary SSRF

Sprawdza, czy API pobiera URL-e podane przez atakującego (SSRF) — bezpiecznie, wyłącznie wobec naszego własnego listenera.

Jak: Wstawia nasz canary URL do pól przyjmujących URL (webhook, avatar, import); wywołanie zwrotne do naszej infrastruktury potwierdza SSRF. Nigdy nie atakujemy osób trzecich.

Przykład: POST /webhooks z naszym URL → serwer wykonuje callback → potwierdzony SSRF.

Deepcookie_flags

Flagi cookie sesji

Sprawdza, czy cookies sesji na endpointach logowania mają flagi Secure, HttpOnly i restrykcyjną politykę SameSite.

Jak: Czyta Set-Cookie w odpowiedziach logowania; jedno znalezisko na każdą brakującą flagę. Liczą się tylko odpowiedzi z Set-Cookie — brak cookie, brak znaleziska.

Przykład: POST /login ustawia sesję bez HttpOnly → kradzież przez XSS.

Deepenumeration

Przewidywalna enumeracja ID

Sprawdza, czy kolejne identyfikatory zasobów można zbierać jeden po drugim (enumeracja użytkowników).

Jak: Wysyła żądania z ID 1/2/3 na ścieżki szablonowe; trzy różne zestawy danych oznaczają przewidywalne ID. Jednolite 404 milczą. Raz na skan.

Przykład: /users/1, /users/2, /users/3 zwracają profile → bazę użytkowników można zebrać.

Deeptiming

Oracle czasu odpowiedzi

Sprawdza, czy czas odpowiedzi logowania zależy od sekretu (side-channel czasowy).

Jak: Naprzemiennie krótkie i długie hasła (4 rundy); rozłączne przedziały czasowe z różnicą >200 ms dają niskiej wagi trop. Raz na skan.

Przykład: Długie hasła konsekwentnie 300 ms wolniejsze → warto naprawić oracle czasowy.

Deeptraversal

Path traversal / LFI

Sprawdza, czy parametry plików sięgają systemu plików serwera (local file inclusion).

Jak: Wysyła ../ i warianty zakodowane; znacznik /etc/passwd w treści to wysokie znalezisko. Maks. 2 sondy na cel.

Przykład: ?file=../../../../etc/passwd zwraca root:x:0: → pliki serwera są czytelne.

Deepredirect

Open redirect

Sprawdza parametry przekierowań pod kątem open redirect do hostów atakującego (phishing / kradzież tokenów).

Jak: Wstawia https://evil.example do parametrów typu next/url/redirect bez podążania za przekierowaniem; 3xx Location na ten host to wysokie znalezisko.

Przykład: /goto?next=https://evil.example → 302 na evil.example → kradzież kodu logowania.

Deeptrace

HTTP TRACE / TRACK

Sprawdza, czy niebezpieczne metody TRACE/TRACK są włączone (cross-site tracing).

Jak: Wysyła OPTIONS raz na skan; nagłówek Allow zawierający TRACE/TRACK daje niskie znalezisko.

Przykład: Allow: GET, POST, TRACE, TRACK → cookies czytelne przez XST.

Deepbackup_files

Pliki backupu / edytora

Sprawdza, czy kopie zapasowe (.bak, ~) udokumentowanych ścieżek są serwowane z kodem źródłowym.

Jak: Próbuje sufiksów .bak i ~; 200 ze znacznikami kodu źródłowego to niskie znalezisko. Maks. 8 żądań na skan.

Przykład: /config.js.bak udostępnia źródło serwera → wyciek sekretów i logiki.

Deepdefault_creds

Domyślne poświadczenia

Sprawdza, czy domyślne loginy fabryczne (admin:admin, admin:password) nadal działają.

Jak: Próbuje dwóch domyślnych par wyłącznie na endpoincie logowania, raz na skan; logowanie zwracające token to wysokie znalezisko. Nigdy nie dotyka prawdziwych kont.

Przykład: POST /session admin:admin → token sesji → pełne przejęcie.

Deepencoding

Sztuczki null-byte / Unicode

Sprawdza, czy kodowanie null-byte i overlong Unicode omija filtry wejściowe.

Jak: Porównuje sondę bazową z payloadami %00 i %c0%ae; znaczniki systemu plików lub zmiana 404→200 dają znalezisko.

Przykład: ..%c0%ae/etc/passwd zwraca root:x:0: → obejście filtra.

Deepoauth_replay

Ponowne użycie kodu OAuth

Sprawdza, czy kod autoryzacyjny można wymienić dwukrotnie (musi być jednorazowy).

Jak: Wysyła ten sam kod sondy dwa razy do endpointu tokenów; dwa wydane tokeny oznaczają kody wielokrotnego użytku.

Przykład: Ten sam kod → dwa tokeny dostępu → przechwycony kod nigdy nie wygasa.

Deepotp_replay

Ponowne użycie OTP

Sprawdza, czy kod jednorazowy przeżyje pierwszą weryfikację (musi zostać spalony po użyciu).

Jak: Wysyła ten sam kod dwa razy do endpointów verify/OTP; dwa sukcesy oznaczają OTP wielokrotnego użytku. Spalone kody milczą.

Przykład: Ten sam 000000 weryfikuje się dwukrotnie → przechwycony kod SMS nadal działa.

Deepcookie_forgery

Fałszowanie podpisanego cookie

Sprawdza, czy cookie sesji to dane kontrolowane przez klienta, które można przepisać na admina.

Jak: Loguje się, dekoduje cookie base64/JSON, fałszuje role→admin i odtwarza je na chronionych ścieżkach; znaczniki admina tylko przy sfałszowanym cookie oznaczają brak podpisu. Nieprzezroczyste tokeny milczą. Raz na skan.

Przykład: Sfałszowane cookie sesji → /profile zwraca admin:true → pełne przejęcie.

Deepdeserialization

Niebezpieczna deserializacja

Sprawdza, czy dane żądania docierają do deserializatora po stronie serwera (pickle / Java / PHP).

Jak: Wysyła magiczne bajty (pickle, Java STREAM_MAGIC, PHP serialized) do pól treści; znaczniki błędów deserializacji to wysokie znalezisko. Czyste 400 milczą.

Przykład: Magiczne bajty → pickle.UnpicklingError → ścieżka do zdalnego wykonania kodu.

Deepblind_sqli

Blind SQL injection (time-based)

Wykrywa SQL injection po różnicy czasu odpowiedzi, nie tylko po znacznikach błędów.

Jak: Porównuje bazowy GET z payloadem SLEEP(2) na tym samym parametrze; Δt ponad 1,5 s bez błędu oznacza blind injection. Raz na skan, 2 żądania.

Przykład: q=1' AND SLEEP(2)-- - → opóźnienie +2,0 s → wysokie.

Deepos_command_markers

Znaczniki poleceń OS / LDAP

Sprawdza, czy dane wejściowe docierają do powłoki lub serwera katalogowego (`;id`, `|whoami`, filtry LDAP).

Jak: Wysyła separatory poleceń i filtr LDAP do parametrów zapytania; wyjście uid=/gid= lub wyjątki LDAP (bez zwykłego odbicia) oznaczają wykonanie. Czyste echa milczą.

Przykład: host=|whoami → uid=0(root) w treści → wysokie.

Deepmethod_override

Obejście przez HTTP method-override

Sprawdza, czy X-HTTP-Method-Override omija kontrole metody.

Jak: Wysyła bazowy POST, a potem powtarza z X-HTTP-Method-Override: DELETE; zmiana błąd→sukces z inną treścią oznacza, że override jest respektowany.

Przykład: POST → 405, ten sam POST + override → 200 deleted:true → średnie.

Deepnested_mass_assign

Zagnieżdżony mass assignment

Testuje głębokie wiązanie obiektów payloadami {"user":{"role":"admin"}}.

Jak: Wysyła bazowy POST i zagnieżdżone ciało role=admin; znaczniki admina tylko w zagnieżdżonej odpowiedzi oznaczają brak rekurencyjnej allowlisty w binderze.

Przykład: Zagnieżdżone role=admin → odbite "role":"admin" → średnie.

Deepactuator_values

Sekrety Actuatora

Czyta /actuator/env, /actuator/configprops i /metrics pod kątem ujawnionych sekretów.

Jak: Pobiera każdą ścieżkę raz na skan; słowo kluczowe sekretu plus wartość w cudzysłowie (nie sam status 200) oznacza, że actuator wycieka poświadczenia.

Przykład: /actuator/env → "db.password" z wartością → wysokie.

Deeppii_in_errors

PII na stronach błędów

Sprawdza, czy treści błędów 4xx odbijają dane osobowe (e-maile, IBAN, PESEL z kontekstem).

Jak: Raz na skan żąda nieistniejącej ścieżki i analizuje treść błędu regexem; rozszerzenia obrazów i plików statycznych są wykluczone. Ogólne błędy milczą.

Przykład: 404 Traceback → [email protected] → średnie (RODO).

Deepsourcemap_secrets

Sekrety w sourcemapach

Przeszukuje publiczne bundle *.map pod kątem osadzonych kluczy API i tokenów.

Jak: Pobiera typowe ścieżki map raz na skan i uruchamia indeks wzorców sekretów na sourcesContent; mapy bez trafień milczą.

Przykład: main.js.map → AKIA… → wysoki wyciek źródeł.

Deeptakeover_chain

Łańcuch przejęcia auth-to-RCE

Odtwarza pełny łańcuch oracle-forge-escalate-deserialize: oracle → forge → escalate → deserialize w jednym przebiegu.

Jak: Loguje się, fałszuje cookie sesji na admina, potwierdza, że panel admina mu ufa, a następnie wysyła magiczne bajty pickle do importu jako admin; każde ogniwo musi się potwierdzić, inaczej cisza. 3 żądania, raz na skan.

Przykład: Sfałszowane cookie → /admin ufa → /admin/import deserializuje → krytyczne przejęcie całego łańcucha.

Deepcve_lookup

Wersja serwera → lookup CVE

Mapuje fingerprint wersji serwera na znane CVE z lokalnego cache NVD (odświeżanego co noc).

Jak: Raz na skan czyta Server / X-Powered-By i dopasowuje linie wydań do indeksu offline; waga wynika z CVSS. Nieznane stacki milczą.

Przykład: Server: nginx/1.18.0 → CVE-2021-23017 (CVSS 7.7, wysokie).

Deepbundle_sca

SCA bibliotek w bundle

Znajduje przestarzałe biblioteki JavaScript w bundle'ach i mapuje je na CVE (biuletyny OSV).

Jak: Zbiera skrypty same-origin (maks. 4 żądania na skan), wyciąga wersje (jQuery, lodash, React, Vue…) i sprawdza każdą w indeksie offline. Nowoczesne biblioteki milczą.

Przykład: jQuery 3.4.1 w bundle → CVE-2020-11022/11023 (XSS).

Deepbatch_idor

Batch IDOR

Sprawdza, czy endpointy bulk zwracają obiekty innych osób bez autoryzacji per rekord.

Jak: Wysyła ID [1,2,3] do pól batch i porównuje klucze właściciela (user_id, email…); obiekty 2+ właścicieli w jednej odpowiedzi to znalezisko. Batche z jednym właścicielem milczą.

Przykład: POST /batch/orders → alice, bob i carol w jednym wywołaniu → brak autoryzacji per rekord.

Deepsms_guard

Ochrona przed SMS toll-fraud

Sprawdza, czy endpointy wiadomości przyjmują numery bez trasy (brak blokady zakresów premium).

Jak: Wysyła jeden fikcyjny numer +1555, który nigdy nie zadzwoni i nie kosztuje; werdykt „wysłano/zakolejkowano” oznacza brak ochrony przed toll fraud. Odrzucone numery milczą.

Przykład: +15550001111 zgłoszony jako wysłany → numery premium też prawdopodobnie są naliczane.

Deepsecret_exposure

Sekrety w odpowiedziach

Skanuje treści odpowiedzi pod kątem wyciekłych kluczy, tokenów i numerów kart (AWS, GitHub, Stripe, Slack, PEM, PAN).

Jak: Deterministyczne wzorce na maks. 5 odpowiedziach na skan; numery kart wymagają testu Luhna i kontekstu, próbki są maskowane do 4 ostatnich znaków. Czyste strony milczą.

Przykład: Token ghp_… w /page → wysokie; obróć i usuń.

Deepsecurity_txt

Polityka ujawniania security.txt

Sprawdza, czy strona publikuje kontakt security.txt dla badaczy.

Jak: Czyta /.well-known/security.txt (fallback /security.txt), maks. 2 żądania na skan; plik bez Contact liczy się jako brakujący. Opublikowane pliki milczą.

Przykład: Obie ścieżki 404 → niskie; dodaj Contact + politykę ujawniania.

Deepemail_auth

Wymuszanie DMARC

Sprawdza, czy domena wymusza DMARC (ochrona przed podszywaniem w phishingu exact-from).

Jak: Pasywny lookup DNS TXT dla _dmarc (zero żądań HTTP); brak rekordu to średnie, polityka bez reject to niskie, p=reject milczy.

Przykład: Brak rekordu _dmarc → atakujący mogą podszyć się pod Twoją domenę.

Deepct_recon

Rekonesans Certificate Transparency

Wymienia subdomeny ujawnione w publicznych logach Certificate Transparency.

Jak: Jedno żądanie do crt.sh na skan; odkryte nazwy (dev, staging…) są raportowane jako inwentarz powierzchni ataku. Offline lub puste milczy.

Przykład: dev.example.com w logu CT → sprawdź lub wyłącz.

Deepsubdomain_enum

Enumeracja popularnych subdomen

Sprawdza, czy łatwe do odgadnięcia nazwy (www, api, dev, staging, admin…) rozwiązują się publicznie.

Jak: Tylko lookup DNS A (zero żądań HTTP, lista 10 nazw); rozwiązujące się nazwy są raportowane jako inwentarz. Brak wyników milczy.

Przykład: staging.example.com rozwiązuje się → czy jest chroniony?

Deepwaf_fingerprint

Fingerprint WAF/CDN

Identyfikuje stack edge (Cloudflare, CloudFront, Akamai…) po pasywnych znacznikach.

Jak: Jedno GET / na skan, tylko znaczniki nagłówków i cookies (cf-ray, x-amz-cf-id…); informacyjne, zasila pytanie o reguły WAF w ask mode.

Przykład: Edge: Cloudflare → potwierdź reguły SSRF w WAF.

Deepsunset_header

Nagłówki cyklu życia API (Sunset)

Sprawdza, czy wersjonowane endpointy (/v1/…) ogłaszają deprecację.

Jak: Sondowane są tylko wersjonowane ścieżki GET; brak nagłówków Sunset/Deprecation jest informacyjny. Ogłoszone cykle życia milczą.

Przykład: /v1/orders bez Sunset → ryzyko przestarzałej wersji.

Deepopenapi_examples

Sekrety w przykładach OpenAPI

Skanuje opublikowane specyfikacje OpenAPI/Swagger pod kątem realistycznie wyglądających sekretów w przykładach.

Jak: Czyta openapi.json / swagger.json / api-docs (maks. 3 żądania), dopasowuje wzorce kluczy/tokenów; czyste specyfikacje milczą.

Przykład: "example": "ghp_…" w specyfikacji → średnie; deweloperzy to kopiują.

Deepjwt_confusion

Confusion algorytmu JWT

Sprawdza, czy weryfikator przypina jeden algorytm (confusion RS→HS, alg=none z podpisem, brak aud).

Jak: Na endpointach z działającym Bearer JWT: odtwarza podpis RS/EC pod nagłówkiem HS256, token alg=none z bajtami podpisu i flaguje brak claimu aud. Czyste weryfikatory dostają tylko niską uwagę o aud.

Przykład: Podpis RS256 zaakceptowany jako HS256 → fałszowanie tokenów kluczem publicznym.

Deepsession_fixation

Session fixation

Sprawdza, czy ID sesji jest rotowane przy logowaniu.

Jak: Pobiera cookie sid sprzed logowania, loguje się z nim i porównuje: ten sam sid po logowaniu to średnie. Rotowane lub odrzucone logowania milczą. Maks. 2 żądania na skan.

Przykład: sid=abc przed i po /login → sesje podłożone przez atakującego przetrwają.

Deeprefresh_reuse

Walidacja refresh tokenu

Sprawdza, czy endpoint refresh wydaje tokeny dla śmieciowego wejścia.

Jak: Wysyła jeden nieprawidłowy refresh_token do endpointów refresh; access_token w odpowiedzi 200 to wysokie. Ponowne użycie ważnego tokenu wymaga prawdziwego tokenu → fallback ask.

Przykład: Śmieciowy refresh → 200 z access_token → walidacja zepsuta.

Deeppkce_downgrade

Downgrade PKCE

Sprawdza, czy endpoint authorize wydaje kody bez PKCE.

Jak: Czyta openid-configuration, a następnie żąda authorize bez code_challenge (bez podążania za przekierowaniami); kod w Location to średnie. Brak discovery milczy.

Przykład: 302 z ?code= i bez challenge → ryzyko przechwycenia dla klientów publicznych.

Deeplogout_replay

Replay po logout

Sprawdza, czy POST /logout faktycznie unieważnia token.

Jak: Ustala bazę dla działającego tokenu na /me, wywołuje logout i powtarza: nadal 200 to średnie. Działa tylko z tokenem przekazanym do skanu (Twoim własnym). Maks. 3 żądania.

Przykład: Token żyje po logout → skradzione tokeny pozostają użyteczne.

Deephost_header

Zatruwanie Host header

Sprawdza, czy linki reset/verify są budowane z nagłówka Host podanego przez atakującego.

Jak: Wysyła Host: evil.com i X-Forwarded-Host do endpointów logowania/resetu; zły host w linku reset/verify/token to wysokie. Maks. 2 żądania na skan.

Przykład: Mail resetu linkuje do evil.com → przejęcie konta.

Deepmagic_header

Obejście auth magicznym nagłówkiem

Sprawdza, czy nagłówki zaufania proxy (X-Forwarded-For, X-Original-URL…) omijają autoryzację.

Jak: Ustala bazę dla działającego tokenu vs anonimowe 401, potem powtarza anonimowo z 4 magicznymi nagłówkami; 200 to wysokie. Publiczne endpointy milczą. Maks. 6 żądań.

Przykład: X-Original-URL anonimowo → 200 → błąd zaufania gatewaya.

Deepredirect_evasion

Ewazje walidacji przekierowań

Sprawdza walidację przekierowań pod kątem sztuczek z backslashem i białymi znakami.

Jak: Odtwarza 5 zakodowanych payloadów (/\, %5c, tab…) w parametrach przekierowania bez podążania za nimi; zły host w Location to wysokie. Rozszerza zwykły test open redirect.

Przykład: ?next=%5cevil.com → 302 na evil.com → naiwny walidator.

Deepmass_assign_query

Mass assignment przez query string

Sprawdza, czy ?role=admin w query scala się z uprzywilejowanymi polami.

Jak: Wysyła to samo ciało dwa razy (czyste vs ?role=admin&isAdmin=true) i porównuje: nowe znaczniki admina tylko w wariancie z query to wysokie. 2 żądania na cel.

Przykład: POST /users?role=admin → "role":"admin" w odpowiedzi.

Deeperror_oracle

Oracle błędów (403 vs 404)

Sprawdza, czy kody błędów ujawniają, które obiekty istnieją.

Jak: Porównuje ID o tym samym kształcie (1 vs 999999999) z tokenem: podział 403/404 jest informacyjny. Jednolite odpowiedzi milczą.

Przykład: 403 na /orders/1, 404 na /orders/9… → enumeracja ID.

Deepsort_injection

Injection przez sort/filter

Sprawdza, czy parametry sort/filter docierają do silnika zapytań.

Jak: Sonduje ?sort=password i filter[$ne]; 500 ze znacznikami bazy to średnie. Czyste 200 milczą. Maks. 3 żądania na cel.

Przykład: ?sort=password → psycopg SyntaxError → powierzchnia injection.

Deeptoken_in_url

Sekret w query URL

Oznacza endpointy GET, które przenoszą sekrety w query stringu.

Jak: Pasywna analiza specyfikacji (zero żądań): token/reset_token/session w parametrach query to średnie. Sekrety powinny być w nagłówkach lub ciele.

Przykład: GET /reset?reset_token=… → średnie; wyciek przez Referer/logi.

Deepmfa_bypass

Obejście flagi MFA

Sprawdza, czy endpoint step-up ufa fladze MFA podanej przez klienta.

Jak: Wysyła flagi mfa_passed/mfa_verified do endpointów verify (maks. 3 żądania); werdykt token/sukces to krytyczne.

Przykład: {"mfa_passed":true} → 200 z tokenem → dekoracyjne 2FA.

Deepoauth_scope

Audyt scope/grant OAuth

Audytuje reklamowane scope'y i endpoint tokenów pod kątem otwartego wydawania.

Jak: Czyta openid-configuration (scope'y podobne do admina → info), potem próbuje client_credentials z błędnym sekretem + scope=admin; token to krytyczne. Maks. 2 żądania.

Przykład: Błędny sekret → access_token → brak weryfikacji poświadczeń.

Deepotp_bruteforce

Ochrona przed brute-force OTP

Sprawdza, czy endpointy verify ograniczają zgadywanie.

Jak: Wysyła 5 błędnych kodów; każde 429/lockout/cooldown milczy, pięć zwykłych odrzuceń to średnie. Maks. 5 żądań na skan.

Przykład: 5× błędny kod, brak 429 → przestrzeń 6 cyfr do wyliczenia.

Deepmfa_push

Ochrona przed zmęczeniem push MFA

Sprawdza, czy wyzwania push mają cooldown.

Jak: Wysyła 3 żądania push pod rząd; cooldown/429 milczy, 3 akceptacje to średnie. Maks. 3 żądania.

Przykład: 3 pushe zaakceptowane natychmiast → ryzyko zmęczenia i phishingu.

Deepstepup_signal

Sygnał step-up dla wrażliwych akcji

Oznacza wrażliwe akcje (transfer, payout, admin) akceptowane tokenem bez amr/acr.

Jak: Pasywne sprawdzenie claimów JWT na wrażliwych ścieżkach POST (zero żądań); tokeny z amr/acr milczą. Informacyjny sygnał hardeningu.

Przykład: POST /transfer bez amr/acr → zweryfikuj step-up po stronie serwera.

Deepssti

Sonda SSTI

Sprawdza, czy wyrażenia szablonów są ewaluowane po stronie serwera.

Jak: Wysyła {{7*7}} i ${7*7} do pól tekstowych; samo 49 bez odbicia to wysokie. Maks. ok. 6 żądań na skan.

Przykład: {{7*7}} → 49 → template injection blisko RCE.

Deepssti_engine

Fingerprint silnika SSTI

Identyfikuje silnik szablonów za SSTI po składni charakterystycznej dla silnika.

Jak: Próbuje po jednym znaczniku ERB/Ruby/Smarty/Twig; ewaluacja to wysokie, a silnik jest nazwany w dowodzie.

Przykład: <%= 7*7 %> → 49 → fingerprint ERB.

Deepxxe

Sonda XXE

Sprawdza, czy wejście XML rozwiązuje zewnętrzne encje.

Jak: Wysyła DOCTYPE z wewnętrzną encją-canary jako application/xml; ekspansja to wysokie, ujawnienie błędu parsera to średnie. Maks. 2 żądania.

Przykład: &xxe; → XXE_PROBE w odpowiedzi → ryzyko plików/SSRF.

Deepcrlf

Injection CRLF/nagłówków

Sprawdza, czy CRLF w parametrach staje się nagłówkiem odpowiedzi.

Jak: Wstrzykuje payloady %0d%0a do parametrów query; nagłówek odpowiedzi X-Scan-Probe to wysokie. Maks. 3 żądania.

Przykład: Wstrzyknięty CRLF → nagłówek odpowiedzi → ryzyko response splitting.

Deepproto_pollution

Prototype pollution

Sprawdza, czy klucze __proto__/constructor utrzymują się po stronie serwera.

Jak: Wysyła zanieczyszczone klucze, a potem odczytuje obiekt; znacznik w odczycie to wysokie. 2 żądania.

Przykład: __proto__ przetrwa do GET → object pollution.

Deephpp

HTTP Parameter Pollution

Sprawdza, jak serwer rozwiązuje zduplikowane parametry query.

Jak: Porównuje odpowiedzi dla pojedynczego i zduplikowanego (?id=1&id=2); błąd parsera przy duplikacie to niskie i oznacza ręczny przegląd ścieżek auth.

Przykład: Duplikat → 500 z błędem bazy → niejednoznaczność parsera.

Deepsql_dialect

Fingerprint dialektu SQL

Identyfikuje silnik bazy danych po treści błędu.

Jak: Wysyła pojedynczy apostrof raz na skan; znacznik dialektu (psycopg, mysql, sqlite, mssql, oracle, mongodb) jest informacyjny i ukierunkowuje kolejne payloady.

Przykład: ' → psycopg2.SyntaxError → PostgreSQL.

Deepsecond_order

Injection second-order

Wstawia zapisany znacznik i sprawdza, czy wraca bez escapowania.

Jak: Zapisuje canary ze znakami cudzysłowów/nawiasów, a potem odczytuje; surowe znaki specjalne to średnie. 2 żądania. Wyjście z escapowaniem HTML milczy.

Przykład: Zapisana notatka zwraca surowe cudzysłowy → ryzyko w eksporcie/panelu admina.

Deeptype_juggling

Login type-juggling

Próbuje haseł niebędących stringami (true, array, $gt, 0) na logowaniu.

Jak: Ustala bazę z błędnym hasłem (musi być 4xx), potem wysyła 4 sondy typowane; każde zaakceptowane logowanie to wysokie. Maks. 5 żądań.

Przykład: password=true → token → błąd luźnego porównania w auth.

Deepbatch_atomicity

Atomowość batcha

Sprawdza, czy batch z jedną nieprawidłową operacją jest odrzucany, czy połykany.

Jak: Wysyła [valid, invalid] w jednym batchu (1 żądanie); pełna akceptacja bez błędu per element to średnie.

Przykład: Nieprawidłowa operacja po cichu pochłonięta → częściowe wykonanie.

Deepreplay_guard

Ochrona przed replay

Sprawdza, czy Idempotency-Key jest respektowany na endpointach ruchu pieniędzy.

Jak: Wysyła dwa POST-y z tym samym kluczem (2 żądania); dwa różne ID zasobów to wysokie, to samo ID milczy.

Przykład: Ten sam klucz, dwa ID zamówień → podwójne obciążenie.

Deepcart_tamper

Manipulacja koszykiem/ceną

Sprawdza, czy pola pieniężne po stronie klienta są zaufane.

Jak: Modyfikuje price/amount/total/qty (maks. 3 żądania); zaakceptowana cena 0.01 lub mutacja w okolicy -1 qty to wysokie.

Przykład: price=0.01 zaakceptowane → sumy nie są przeliczane.

Deepcoupon_guess

Zgadywanie kuponu

Sprawdza, czy kupon zgadnięty za pierwszym razem daje zniżkę.

Jak: Wysyła coupon=SCAN10 raz; znaczniki zniżki w odpowiedzi to niskie.

Przykład: Zgadnięty kod → zniżka → kody testowe działają na produkcji.

Deepdecimal_edge

Kwota poniżej jednego centa

Sprawdza, czy ułamkowe kwoty są normalizowane.

Jak: Wysyła 0.9999999 raz; akceptacja bez błędu to niskie (ryzyko dryfu zaokrągleń).

Przykład: 0.9999999 zaakceptowane → używaj groszy jako liczb całkowitych.

Deeprace_pair

Równoległe duplikaty

Wysyła dwie identyczne mutacje równolegle w przepływach jednorazowych.

Jak: Dwa równoległe POST-y (2 żądania); sukces obu to niskie i oznacza przegląd TOCTOU (blokady/idempotencja).

Przykład: Podwójne wykorzystanie zaakceptowane → przegląd atomowości.

Deepnegative_qty

Ujemne kwoty

Sprawdza, czy ujemne qty/amount jest odrzucane.

Jak: Wysyła -1 i -5 (maks. 2 żądania); akceptacja to wysokie (wektor zwrotu/środków).

Przykład: qty=-1 zaakceptowane → manipulacja środkami.

Deepcurrency_swap

Zamiana waluty

Sprawdza, czy błędny kod waluty jest przyjmowany bez weryfikacji.

Jak: Wysyła currency=XXX/xxx (maks. 2 żądania); akceptacja to średnie.

Przykład: XXX zaakceptowane → dodaj allowlistę ISO-4217.

Deepshipping_tamper

Manipulacja dostawą

Sprawdza, czy metoda wybrana przez klienta zeruje opłatę za dostawę.

Jak: Wysyła shipping_method=pickup raz; zerowa opłata w odpowiedzi to niskie.

Przykład: Metoda od klienta → dostawa 0 → cennik po stronie serwera.

Deepcsv_formula

Formuła CSV w eksporcie

Sprawdza endpointy eksportu pod kątem nieescapowanych komórek zaczynających się od formuły.

Jak: Żąda CSV raz; komórki zaczynające się od =/+/-/@ to średnie (spreadsheet injection w miejscu docelowym).

Przykład: =1+1 w eksporcie → sanityzuj miejsca docelowe.

Deepint_overflow

Granica integer

Sonduje pola numeryczne wartościami granicznymi 32-bit.

Jak: Wysyła 2^31 i -(2^31)-1 (maks. 2 żądania); 500 lub cicha akceptacja to niskie.

Przykład: 2^31 → 500 → powierzchnia overflow.

Deepschema_drift

Tolerancja nieznanych pól

Sprawdza, czy ścieżki zapisu odrzucają nieznane pola.

Jak: Dodaje jedno dodatkowe pole (1 żądanie); akceptacja jest informacyjna (ryzyko driftu/mass assignment).

Przykład: Dodatkowe pole 2xx → czy schematy są ścisłe?

Deepversion_downgrade

Osiągalna stara wersja

Sprawdza, czy /v{n-1} odpowiada obok /v{n}.

Jak: Żąda starej ścieżki raz; 2xx to niskie (luki w auth/walidacji starych wersji).

Przykład: /v1 działa obok /v2 → wyłącz lub backportuj poprawki.

Deepstate_skip

Pominięcie stanu workflow

Próbuje ustawić końcowy stan workflow bezpośrednio.

Jak: Wysyła status=completed/approved (maks. 2 żądania); akceptacja to średnie — przejściami musi sterować serwer.

Przykład: status=completed zaakceptowany → zabezpiecz przejścia stanów.

Deepuuid_idor

UUID IDOR + przewidywalność

Podmienia UUID w ścieżce na null UUID i porównuje obiekty.

Jak: Bazowe 200, potem alternatywny UUID (maks. 3 żądania); inny obiekt przy 200 to wysokie — UUID to identyfikator, nie capability.

Przykład: Obcy UUID → 200 z danymi → brak autoryzacji.

Deepsmuggling_shape

Kształt request smuggling

Sprawdza, czy ciało jest przetwarzane mimo Content-Length: 0.

Jak: Wysyła ciało z CL:0 raz; odbite przetwarzanie to średnie i oznacza potwierdzenie raw-socketem (CL/TE desync).

Przykład: Ciało zadziałało przy CL:0 → powierzchnia desync.

Deeptakeover

Fingerprint subdomain takeover

Sprawdza odpowiedź root pod kątem fingerprintów dangling host.

Jak: Jedno GET / na skan; 404/410 ze znacznikami GitHub Pages/S3/Heroku to wysokie — przeaudytuj CNAME.

Przykład: Znaczniki dangling CNAME → odzyskaj DNS.

Deeptls_posture

Konfiguracja TLS (HSTS + ważność)

Sprawdza HSTS na HTTPS i ważność certyfikatu.

Jak: Brak HSTS to niskie; certyfikat wygasający w ciągu 30 dni to średnie (best-effort socket check, bezpieczny offline).

Przykład: Brak HSTS → powierzchnia SSL-stripping.

Deeppath_confusion

Confusion ścieżek

Próbuje wariantów /../, //, wielkości liter, końcowego slasha i średnika dla chronionych ścieżek.

Jak: Ustala bazę 401/403/404, potem 6 wariantów; każde 200 to wysokie (rozjazd normalizacji gateway/auth).

Przykład: //ADMIN → 200 → normalizuj przed autoryzacją.

Deepdouble_encoding

Obejście double-encoding

Próbuje ścieżek %252e, %c0%ae i unicode-slash.

Jak: Trzy zakodowane sondy na skan; 200 to wysokie — autoryzacja działa na surowej formie.

Przykład: %252e%252e → 200 → dekodowanie przed autoryzacją.

Deepwaf_bypass

Obejście reprezentacji WAF

Odtwarza atak blokowany przez WAF z drobną zmianą reprezentacji.

Jak: Ustala bazę 403 ze znacznikami WAF, potem warianty percent/case (maks. 3 żądania); 200 to wysokie.

Przykład: Ten sam payload przechodzi zakodowany → normalizuj na WAF.

Deepws_handshake

Auth handshake WebSocket

Sprawdza, czy endpointy WS podnoszą połączenie bez poświadczeń.

Jak: Wysyła handshake WS do ścieżek hint plus /ws i /socket (osiąga maks. 2); 101 to średnie — zweryfikuj Origin + auth.

Przykład: 101 bez tokenu → przegląd autoryzacji handshake'u.

Deepgrpc_surface

Powierzchnia gRPC + gadatliwe błędy

Sonduje gRPC framing i błędy w kształcie reflection.

Jak: Wysyła ramkę w kształcie reflection z application/grpc (maks. 2 żądania); grpc-status to info, ujawnienie stack/SQL to średnie.

Przykład: grpc-status + traceback → komunikaty ogólne.

Deepgql_alias

Przeciążenie aliasów GraphQL

Sprawdza, czy 200 zaliasowanych pól jest odpowiadane inline.

Jak: Jedno zapytanie z aliasowanym __typename; 100+ odpowiedzi inline to średnie (CPU/DoS — niezależne od limitów głębokości).

Przykład: 200 aliasów inline → ogranicz liczbę pól.

Deepcache_poison

Zatruwanie cache (niekluczowane wejście)

Sprawdza, czy nagłówki nieużywane w kluczu trafiają do odpowiedzi z cache.

Jak: Wysyła canary X-Forwarded-Host/UA, potem czyste żądanie (maks. 3); HIT z odbiciem to wysokie, utrwalenie dla drugiego klienta to średnie.

Przykład: Zły host w cache → kluczuj cache bezpiecznie.

Deeppna_policy

Polityka Private Network Access

Sprawdza, czy Allow-Private-Network jest przyznawane szeroko.

Jak: Jeden preflight z publicznym origin; przyznanie true jest informacyjne — ogranicz do allowlisty.

Przykład: PNA true dla dowolnego origin → dodaj allowlistę.

Deepcookie_domain

Zakres Cookie Domain

Oznacza cookies z Domain zaczynającym się od kropki lub obejmującym sufiks.

Jak: Jedna pasywna inspekcja Set-Cookie na skan; szeroki zakres to niskie — przypnij do dokładnego hosta.

Przykład: Domain=.example.com → współdzielenie między subdomenami.

Deepupload_polyglot

Polyglot upload / traversal zip

Wysyła sondy double-extension, skryptowalnego SVG i zip z traversal.

Jak: Trzy obojętne uploady (shell.php.jpg, SVG z onload, zip z wpisem ../../); akceptacja bez odrzucenia to średnie (niskie dla zip, bo ekstrakcja nie jest potwierdzona). Maks. 3 żądania.

Przykład: shell.php.jpg zapisany → sprawdzaj typy i sandboxuj.

Deepstored_xss

Stored XSS przez API

Wstawia skryptowalny markup i sprawdza odczyt.

Jak: Zapisuje canary SVG-onload, potem GET obiektu (2 żądania); surowy zwrot to wysokie, escapowane wyjście milczy.

Przykład: Surowy <svg onload> w GET → koduj wyjścia + CSP.

Deepct_confusion

Confusion Content-Type

Odtwarza ciało JSON jako form i XML na tym samym endpoincie.

Jak: Dwa żądania z alternatywnym Content-Type na skan; werdykt sukcesu to średnie (rozjazd parsera/walidacji).

Przykład: Ciało form 2xx na endpoincie JSON → jeden parser.

Deepeicar_av

Upload EICAR (kontrola AV)

Wysyła obojętny testowy podpis EICAR na endpointy plików.

Jak: Jeden upload na skan; werdykt malware/kwarantanna milczy (dobrze), zapis bez żadnego werdyktu to niskie.

Przykład: EICAR zapisany po cichu → skanuj uploady.

Deeppii_path

PII w ścieżce URL / przekierowaniu

Oznacza e-maile, kształty PESEL i sekrety w ścieżkach oraz Location.

Jak: Pasywne sprawdzenie ścieżki plus inspekcja jednego przekierowania (follow_redirects=False); trafienie to średnie — przenieś identyfikatory do nagłówków/ciała.

Przykład: /users/[email protected] → używaj nieprzezroczystych ID.

Deepopen_proxy

Przekaźnik open-proxy

Sprawdza, czy parametry ?url=/redirect serwują obce hosty.

Jak: Kieruje parametry relay na nieosiągalny zły host (maks. 2 żądania); przekierowanie tam to średnie, pobranie po stronie serwera to wysokie.

Przykład: ?url=evil → 302 na evil → kształt przekaźnika C2.

Deepssrf_feature

SSRF przez funkcję (error oracle)

Sprawdza, czy funkcje webhook/import pobierają dowolne URL-e.

Jak: Podaje URL martwego hosta (maks. 2 żądania); błąd próby pobrania (tekst DNS/socket) to średnie — listener nie jest potrzebny.

Przykład: Canary getaddrinfo → potwierdzony egress.

Deepcallback_channel

Walidacja kanału callback

Sprawdza, czy obce domeny callback są akceptowane.

Jak: Rejestruje canary callback raz na skan; akceptacja to niskie i oznacza potwierdzenie listenera w hacker mode (N2/S9).

Przykład: Zły callback zapisany → kształt eksfiltracji DNS.

Deeppresigned_ttl

TTL i zakres presigned URL

Oznacza wieczne lub wildcardowe podpisane URL-e.

Jak: Pasywna analiza specyfikacji (zero żądań): ważność ponad 7 dni lub wildcard to średnie.

Przykład: se=+30d → skróć TTL dla każdego linku.

Deepunbounded_export

Nieograniczony eksport

Oznacza ogromne odpowiedzi list/eksportu bez paginacji.

Jak: Jedno GET na kandydata; ciała ponad 500 KB bez znaczników paginacji (początek i koniec) to niskie — paginuj i ogranicz.

Przykład: Płaska lista 546 KB → kształt masowego eksportu.

Deeplol_endpoint

Odczyt plików przez LOL-endpoint

Sprawdza, czy funkcje eksportu/podglądu czytają poza swoim katalogiem.

Jak: Wysyła sondy traversal i file:// do parametrów funkcji (maks. 2 żądania); znaczniki /etc/passwd to wysokie.

Przykład: LFI: /preview?path=…/passwd → root:x: → odczyt plików.

Deepdead_drop

Anonimowy dead-drop

Sprawdza, czy anonimowe zapisy są anonimowo czytelne.

Jak: Zapisuje canary anonimowo i odczytuje je anonimowo (2 żądania); zgodność to średnie.

Przykład: Anonimowa notatka czytelna → skrzynka kontaktowa dla atakującego.

Deepwebhook_deputy

Webhook confused deputy

Sprawdza, czy URL-e webhooków do sieci wewnętrznej są akceptowane przy rejestracji.

Jak: Rejestruje URL-e loopback i martwego hosta (maks. 2 żądania); akceptacja to średnie — stosuj allowlistę przy rejestracji.

Przykład: http://127.0.0.1:9 zapisany → SSRF zastępczy.

Deepjwt_kid_jku

Traversal kid / pobieranie jku JWT

Sonduje traversal ścieżki kid i pobieranie jku przez oracle błędów.

Jak: Wysyła tokeny alg=none z kid ../../ i jku martwego hosta na logowanie (maks. 2 żądania); błędy systemu plików/sieci to średnie.

Przykład: ENOENT na kid → potwierdzony sink.

Deepcache_deception

Cache deception (auth vs anon)

Porównuje odpowiedź uwierzytelnioną z anonimową pod kątem cache'owania.

Jak: Pobiera ten sam URL z poświadczeniami i bez (2 żądania); identyczne ciała z PII plus znacznik HIT to wysokie. Wymaga kontekstu auth, inaczej pomijane.

Przykład: Anonim dostaje /me z cache → dane użytkownika publiczne.

Deepcache_key

Confusion klucza cache (Host)

Sprawdza, czy podszyty Host trafia do współdzielonego cache.

Jak: Wysyła Host/X-Forwarded-Host evil, potem czyste żądanie (maks. 3); odbicie w HIT to wysokie, utrwalenie dla czystego klienta to średnie.

Przykład: Zły Host w cache → zatruwa innych.

Deepcors_cache

Zatruwanie cache CORS

Sprawdza, czy odbity Origin atakującego trafia do cache.

Jak: Wysyła Origin evil, potem czyste żądanie (maks. 3); odbity ACAO w HIT to wysokie, utrwalenie to średnie.

Przykład: Zły ACAO w cache → zatrucie CORS ofiary.

Deepthrottle_signal

Sygnał throttlingu przy szybkiej parze

Sprawdza, czy szybkie żądania pokazują jakikolwiek sygnał throttlingu.

Jak: Dwa szybkie GET-y na skan; 429 milczy (dobrze), brak licznika i brak 429 to niskie i oznacza przegląd burstu granicznego.

Przykład: Brak 429 i liczników → zweryfikuj limity.

Deepredirect_cors

Kombinacja redirect + CORS

Sprawdza, czy obcy redirect niesie też zaufane nadanie CORS.

Jak: Kieruje parametr relay na zły host ze złym Origin (maks. 2 żądania); 302 tam plus odbity ACAO to średnie.

Przykład: 302 evil + ACAO evil → kombinacja phishingowa.

Deepdevice_flow

OAuth device flow

Sprawdza, czy odpytywanie device-code wydaje tokeny bez zatwierdzenia.

Jak: Czyta discovery (endpoint reklamowany → info), potem odpytuje ze sfabrykowanym kodem (maks. 2 żądania); token to wysokie.

Przykład: Fałszywy device_code → token → powiąż zatwierdzenie.

Deepoauth_state

Wymagany state/nonce OAuth

Sprawdza, czy authorize wydaje kody bez state.

Jak: Wywołuje authorize bez state/nonce (maks. 2 żądania); kod bez odbitego state to średnie.

Przykład: Kod bez state → powierzchnia login-CSRF.

Deepx5c_trust

Zaufanie do x5c JWT

Sprawdza, czy samodzielnie dostarczony certyfikat x5c jest zaufany.

Jak: Wysyła token logowania z x5c atakującego (1 żądanie); akceptacja to wysokie — przypnij klucze po stronie serwera.

Przykład: Własny cert zaakceptowany → confusion kluczy.

Deepjwe_confusion

Confusion JWE/plaintext

Sprawdza, czy niepodpisany token w formie plaintext jest akceptowany.

Jak: Wysyła token w kształcie alg:dir plaintext na logowanie (1 żądanie); akceptacja to wysokie.

Przykład: Niepodpisany kształt przechodzi → jeden typ tokenu.

Deepdpop_downgrade

Downgrade DPoP

Sprawdza, czy ścieżki z DPoP akceptują zwykły bearer.

Jak: Żąda ścieżki dpop bez dowodu DPoP (1 żądanie); 200 to średnie.

Przykład: Brak dowodu, 200 → wymuś powiązanie.

Deepremember_cookie

Wieczne cookie sesji

Oznacza cookies sesji/auth ważne przez miesiące.

Jak: Jedna pasywna inspekcja Set-Cookie na skan; Max-Age ponad 90 dni to niskie — skróć z re-auth step-up.

Przykład: Max-Age 10 lat → rotuj sesje.

Deeppresigned_reuse

Ponowne użycie metody presigned URL

Sprawdza, czy podpis działa z inną metodą HTTP.

Jak: Odtwarza sig-URL z przeciwną metodą (maks. 2 żądania); sukces to wysokie — powiąż metodę, ścieżkę i ważność.

Przykład: Podpis GET działa jako POST → powiąż go.

Deepdeep_json

Głębokie zagnieżdżenie JSON

Wysyła raz na skan ciało JSON zagnieżdżone na 100 poziomów.

Jak: 500 to średnie, wolne 2xx (>5 s) to niskie; szybkie odrzucenia milczą. Małe ciało, duży kształt.

Przykład: Zagnieżdżenie → 500 → ogranicz głębokość.

Deepschema_fuzz

Fuzz schematu/granic

Mutuje pole tekstowe zamianami typów i wartościami granicznymi.

Jak: Pięć sond (2^63, bool, null, string 10k, tablica 5k); 500 z wnętrznościami lub cicha akceptacja złego typu to niskie.

Przykład: bool dla stringa 2xx → wymuś ścisłe typy.

Deepgql_suggest

Wyciek sugestii GraphQL

Sprawdza, czy literówka wywołuje podpowiedzi pól.

Jak: Jedno zapytanie z literówką; didYouMean/podpowiedzi hasła są informacyjne — wyłącz podpowiedzi na produkcji.

Przykład: Literówka → „czy chodziło o password?”.

Deeppersisted_query

Obejście auth persisted query

Sprawdza, czy zapisany hash zapytania odpowiada anonimowo.

Jak: Wysyła hash APQ sha256 bez poświadczeń (maks. 2 żądania); dane bez błędu to średnie.

Przykład: Hash → dane bez auth → zabezpiecz hashe.

Deepwaf_evasion

Ewazja WAF (3 reprezentacje)

Odtwarza zablokowany payload XSS podwójnie zakodowany i ze zmianą wielkości liter.

Jak: Ustala bazę 403 ze znacznikami WAF, potem dwa zmutowane powtórzenia (maks. 4 żądania); odbicie 200 to wysokie.

Przykład: Ten sam payload przechodzi zakodowany → normalizuj.

Deepframework_mass

Mass assignment frameworka

Próbuje kształtów bindera Rails/Laravel/Django (nawiasy, _method, __dict__).

Jak: Trzy mutanty na skan; znaczniki uprawnień w odpowiedzi to średnie.

Przykład: user[admin] → admin:true → zabezpiecz bindery.

Deepcursor_tamper

Manipulacja cursorem

Sprawdza, czy obcy/ujemny cursor zwraca dane.

Jak: Porównuje bazową stronę z cursor=-1 (2 żądania); odmienne dane to niskie — podpisuj i ograniczaj cursory.

Przykład: cursor=-1 → inne wiersze → nieprzezroczyste cursory.

Deepmail_relay

Kontrola odbiorcy maila

Sprawdza, czy odbiorca maila pochodzi z danych wejściowych.

Jak: Wstrzykuje zły adres (maks. 2 żądania); odbicie lub blind send to średnie, stały odbiorca milczy.

Przykład: To: z inputu → dodaj allowlistę.

Deepreferer_leak

Token w zewnętrznym URL / błędzie

Oznacza tokeny osadzone w linkach zewnętrznych lub stronach błędów.

Jak: Inspekcja normalnej strony plus 404 z sondą tokenu (maks. 2 żądania); hrefy z tokenem to średnie, odbicia w błędach niskie.

Przykład: href z ?token= → wyciek przez Referer.

Deepinvite_enum

Enumeracja kodów invite

Próbuje zgadnąć kody invite/referral za pierwszym razem.

Jak: Wysyła 000000/123456/invite-1/test (maks. 4 żądania); werdykt walidacji to średnie.

Przykład: 000000 działa → zwiększ entropię i ważność.

Deepopen_bucket

Otwarty bucket storage

Sprawdza, czy URL-e bucketów z ciał API listują się anonimowo.

Jak: Wyciąga URL-e S3/GCS/Azure ze strony i pobiera jeden anonimowo (maks. 2 żądania); listing to średnie.

Przykład: URL S3 → ListBucketResult → zamknij bucket.

Deepspray_guard

Sygnał password spray

Sprawdza, czy zgadywanie między kontami jest obserwowalne.

Jak: Próbuje jednego hasła na trzech użytkownikach (3 żądania); zwykłe odrzucenia bez 429/CAPTCHA to niskie.

Przykład: Brak sygnału sprayu → dodaj kontrole velocity.

Deepversion_negotiation

Negocjacja wersji

Sprawdza, czy stare wersje odpowiadają przez nagłówki.

Jak: Porównuje bazę z żądaniem X-API-Version:1 (2 żądania); odmienne 200 to niskie.

Przykład: v1 przez nagłówek → wyłącz ją.

Deepcookie_tossing

Kształt cookie tossing

Oznacza cookies sesji bez prefiksu __Host-.

Jak: Jedna pasywna inspekcja Set-Cookie na skan; cookie sesji bez prefiksu to niskie — subdomeny mogłyby je podłożyć.

Przykład: sess bez __Host- → dodaj prefiks.

Deeptenant_replay

Replay nagłówka tenanta

Sprawdza, czy nagłówki tenanta od klienta sterują dostępem do danych.

Jak: Odtwarza żądanie z podmienionym X-Tenant-ID/X-Org-ID (maks. 2 żądania); inne dane przy tym samym tokenie to średnie — pełne odtworzenie między tokenami to misja hacker mode.

Przykład: Nagłówek innego tenanta ujawnia obce wiersze → wyliczaj tenanta po stronie serwera.

Deeptoken_claims

Higiena claims tokenu

Oznacza tokeny skanu bez ważności lub audience.

Jak: Zero żądań: dekoduje Bearer JWT skanu; brak exp to średnie, brak aud niskie — odtworzenie między API wymaga drugiego API (hacker mode).

Przykład: Brak exp/aud → krótki TTL + przypięte audience.

Deepattack_path

Łańcuchowanie ścieżki ataku

Łączy znaleziska na etapach kill-chain w raporcie.

Jak: Zero żądań: silnik grupuje znaleziska (auth-bypass → dostęp do danych → eksfiltracja) i emituje informacyjny łańcuch — wejście do grafu TTP.

Przykład: żonglowanie → eksport → napraw początek łańcucha.

Hacker mode (AI) — autonomiczny pentest w stylu człowieka

Niszczący test autoryzowany — tylko dev/staging, nigdy produkcja. Wymagana zweryfikowana domena (localhost i prywatne IP zwolnione).

Planuj i koryguj: LLM prowadzi jawny plan ataku (IDOR → eskalacja → sekrety → injection) i koryguje go w miarę nauki — widzisz plan i każdą zmianę w raporcie skanu.

Sonduj i adaptuj się: Agent wysyła żądania, czyta zredagowane fragmenty odpowiedzi i poprawia się po blokadach (401/404/429) — w tym pisze i uruchamia własny kod exploita w ograniczonym sandboxie (limit 15 s, 30 żądań, bez dostępu do systemu).

Łańcuchy playbooków: Nakieruj go na cookies, sesje lub orakle, a uruchomi łańcuch oracle → forge → escalate (timing-oracle → dekodowanie cookie sesji → fałszowanie roli→admin → potwierdzenie na chronionych endpointach), z deserializacją potwierdzaną tylko markerami błędów — nigdy payloadami RCE. Misje business-logic działają tak samo: nadużycia ceny/kuponu/ilości, race/double-spend, toll-fraud (tylko fikcyjne liczby), kanarki indirect prompt-injection, pętle stored-value i wierność ekstrakcji modelu — każda z zasadami bezpieczeństwa wpisanymi w plan.

Prowadzone cele: Skieruj go na „sprawdź /users pod IDOR” lub „spróbuj eskalować do admina”; z zapisanymi poświadczeniami testuje uwierzytelnioną kontrolę dostępu (Twoje dane vs dane innego użytkownika).

Prywatność z założenia: Model widzi wyłącznie anonimizowane ścieżki względne, statusy i fragmenty — nigdy Twoich URL-i ani poświadczeń. Żądania idą po stronie serwera z auth dołączonym poza kontekstem modelu.

Werdykt: Sesja kończy się oceną AI (poziom ryzyka, narracja przebiegu testu, rekomendacje) plus każdym krokiem zapisanym w raporcie skanu.

Warstwa AI — payloady, triage, interpretacja

Inteligentne payloady

Przed skanem LLM czyta kształty OpenAPI i generuje dopasowane payloady per endpoint (ID, dodatkowe pola, injection) — potem odpala je deterministyczny silnik. Brak klucza lub awaria? Silnik wraca do wbudowanych ustawień.

Triage i werdykty

Każde znalezisko dostaje drugą opinię AI (sugestia wagi, flaga false positive, priorytet). Wyniki są cache’owane per sygnatura znaleziska i ograniczone budżetem tokenów na skan — deterministyczny rdzeń zawsze działa bez AI.

Odkrywanie przez agenta

Agent przeglądarkowy sterowany LLM (Playwright) chodzi po stronie jak człowiek, sugeruje dodatkowe ścieżki sondowania i podaje odkryte endpointy do skanu — nawet bez OpenAPI.

Ask mode — 320 pytań o bezpieczeństwo Twojego kodu (SaaS+)

Skaner nigdy nie widzi Twojego kodu — więc ask mode pyta Ciebie (lub Twojego asystenta kodowania): 270 sprawdzalnych pytań z zakresu uwierzytelniania, autoryzacji, walidacji wejścia, ochrony danych, logiki biznesowej, izolacji tenantów, sesji, projektowania API, logowania, łańcucha dostaw i SDLC — każde z wagą (critical → low) i wskazówką, jak zweryfikować poprawkę. AI dodaje dopasowane pytania uzupełniające dla Twoich endpointów i drąży nieudane odpowiedzi przez kilka rund. Odpowiadaj pass / fail / n/a z dowodem w pliku i funkcji, ustaw bramkę CI na wyniku i eksportuj raport Markdown.

Uruchom z CLI (liveapisec ask) lub z kwestionariusza w panelu — żaden kod źródłowy nie opuszcza Twojej maszyny.

Wszystko inne wokół testów

Odkrywanie i drift

Automatyczne odkrywanie endpointów (auto-detekcja OpenAPI, bundle JS, sitemapy, ścieżki sondowania AI) plus wykrywanie driftu między skanami (regresje, naprawione, nowe high/critical, zmiany fingerprintu konfiguracji) — i endpoint werdyktu CI, który pada tylko przy nowych znaleziskach względem baseline.

Priorytetyzacja oparta na ryzyku (KEV + EPSS)

Każde znalezisko niesie ID CVE, flagę CISA Known-Exploited (automatycznie podniesiona waga, tylko panel — nigdy publiczna Trust Page), ocenę exploitability EPSS i wynik ryzyka (0,55·waga + 0,30·CVSS + 0,15·EPSS·10). API znalezisk wspiera ?sort=risk, więc najbardziej wykorzystywalne problemy wychodzą pierwsze. Feed’y odświeżają się nocą; skany zawsze czytają lokalny cache, więc nie czekają na sieć.

Zewnętrzne narzędzia i zgodność

Opcjonalne integracje ZAP i Nuclei dokładają dodatkowe znaleziska do tego samego raportu; każde otwarte znalezisko mapuje się na wymagania PCI DSS 4.0, SOC 2, ISO 27001, GDPR i NIS2 w widoku zgodności.