Propozycja tematu doktoratu

Hybrydowe, adwersaryjnie odporne metody wykrywania impersonacji marek finansowych w atakach phishingowych

Autor: Kamil Warpechowski | Data: maj 2026


TL;DR

Celem jest szybkie ukończenie doktoratu przez publikację 1–2 papierów w prestiżowych konferencjach bezpieczeństwa (USENIX Security 2027, IEEE S&P 2027), bez wieloletniego zbierania własnych danych.

Strategia — badania ewaluacyjne na gotowych datasetach:

  • Wszystkie dane są już pobrane: 451 514 realnych stron phishingowych z HTML i screenshotami (152 GB, APWG EvalPhishing)
  • Modele bazowe (CLIP, ViT, LightGBM) to publicznie dostępne pre-trenowane checkpointy — nie trenujemy niczego od zera
  • Wkład naukowy = zmierzenie czegoś, czego nikt dotąd nie zmierzył: jak modele wizualne zachowują się pod celowymi atakami adwersaryjnymi w kontekście phishingu finansowego

Co już działa: moduł analizy URL (F1=0.998), baza wiedzy o markach (181 marek, CLIP embeddings), auto-labelowanie 451k stron, pipeline ewaluacyjny. Większość kodu jest napisana.

Najbliższy realny deadline: USENIX Security 2027, cykl 1 — 25 sierpień 2026.


1. Motywacja i problem badawczy

Phishing pozostaje jednym z najkosztowniejszych cyberzagrożeń na świecie — straty finansowe wyniosły w 2024 roku ponad 12 miliardów dolarów (FBI IC3). Szczególnie narażone są instytucje finansowe: banki, bramki płatnicze i fintechy, które są impersonowane w ponad 70% wszystkich ataków phishingowych (APWG Phishing Activity Trends Report).

Istniejące systemy detekcji phishingu mają fundamentalny problem: osiągają 87–92% F1 w warunkach laboratoryjnych, ale ich skuteczność drastycznie spada w środowisku produkcyjnym:

SystemRecall w labRecall real-world (451k stron, Ji et al. 2024)
DynaPhish~90%22%
PhishIntention~90%49–66%
Phishpedia~87%57–88%
KnowPhish (SOTA)92% F1nie testowany na tym zbiorze

Dodatkowo wszystkie istniejące systemy są podatne na ataki adwersaryjne, które zostały zidentyfikowane w literaturze, ale dotychczas nie spotkały się z systemową odpowiedzią.

Czym są ataki adwersaryjne na systemy detekcji phishingu?

Atak adwersaryjny polega na celowej modyfikacji strony phishingowej tak, żeby oszukać detektor AI — przy jednoczesnym zachowaniu wiarygodności strony dla ludzkiego ofiary. W odróżnieniu od zwykłego phishingu (który stara się tylko oszukać człowieka), atak adwersaryjny stara się oszukać zarówno człowieka jak i algorytm.

W kontekście wizualnych detektorów phishingu wyróżniamy trzy klasy ataków:

Klasa A1 — Adwersaryjne logo (GAN/PGD): Atakujący generuje logo które wygląda identycznie jak oryginalne logo banku dla ludzkiego oka, ale model AI klasyfikuje je jako należące do innej marki lub do żadnej. Technicznie: optymalizacja pikselowa minimalizująca podobieństwo cosine do poprawnego embeddingu marki w przestrzeni modelu (Lee et al. 2023). Skutek: Phishpedia, która porównuje logo przez ResNet-Siamese, osiąga 95% evasion rate — czyli 95 na 100 takich stron nie jest wykrywana.

Klasa A2 — Morfing przez diffusion model (LogoMorph): Atakujący używa modelu generatywnego (podobnego do Stable Diffusion) do stopniowej transformacji logo marki A w logo marki B — tak żeby model detekcji nie rozpoznał żadnej z nich, ale strona wizualnie nadal wyglądała jak oryginalny bank. Hao et al. (2024): 97–100% bypass PhishIntention.

Klasa A3 — Opóźnione renderowanie CSS/JS (Curtain Effect): Atakujący ukrywa logo w CSS (clip-path: inset(100%)) i odsłania je JavaScript-em po kilku sekundach. Detektor wykonuje screenshot w momencie załadowania strony — widzi pustą stronę bez logo, nie wykrywa phishingu. Użytkownik po chwili widzi kompletną stronę z logo banku. Yuan et al. (2026): ASR = 100% na PhishIntention i Phishpedii.

AtakKlasaSystemSkutecznośćŹródło
GAN adversarial logosA1Phishpedia (ResNet-Siamese)95% evasion rateLee et al. 2023
Diffusion logo morph (LogoMorph)A2PhishIntention97–100% bypassHao et al. 2024
CSS delayed rendering (Curtain Effect)A3PhishIntention, PhishpediaASR = 100%Yuan et al. 2026
PhishOracle brand embeddingA1Phishpedia (ensemble)recall 98%→71% (−28pp)Kulkarni et al. 2024

Kluczowa luka badawcza: żaden z istniejących systemów nie był projektowany ani testowany pod kątem odporności na powyższe klasy ataków łącznie. Co więcej, model CLIP (Radford et al. 2021) — potencjalnie naturalnie odporny na transfer ataki wizualne ze względu na joint image-text przestrzeń embeddingów — nie był dotychczas ewaluowany w kontekście detekcji phishingu pod żadnym atakiem adwersaryjnym. Ta luka jest wprost stwierdzona w przeglądzie literatury.


2. Cel i teza badawcza

Teza: Hybrydowy system detekcji phishingu łączący analizę URL, zero-shot CLIP brand matching z PGD adversarial hardeningiem oraz statyczną analizę DOM/CSS/JS osiąga recall ≥ 90% pod atakami klas A1–A3 (GAN logos, diffusion logos, delayed rendering), podczas gdy najlepszy istniejący system (KnowPhish, clean recall = 86.9%) traci ≥ 25 punktów procentowych recall pod tymi atakami — weryfikowane empirycznie na zbiorze APWG EvalPhishing (451 514 realnych stron phishingowych z HTML + screenshot, lipiec 2021–lipiec 2023).

Nazwa robocza systemu: FinPhishGuard


3. Architektura proponowanego systemu

System FinPhishGuard składa się z czterech niezależnych modułów, których wyniki są łączone w module fuzji:

URL + HTML + Screenshot
        │
        ├──► M1: URL Analyzer        (LightGBM, <5ms)
        ├──► M2: Visual Logo Detector (CLIP + ViT, ~80–150ms)
        ├──► M3: Content Extractor    (LLM NER, ~200ms)
        └──► M4: DOM Timing Analyzer  (static AST, <10ms)
                        │
                        ▼
               Fusion → verdict [phishing / legitimate]

M1 — Analiza URL

Klasyfikator LightGBM trenowany na cechach strukturalnych URL (entropia, liczba subdomen, TLD, obfuskacja). Rola: szybki filtr wstępny (<5ms). Dataset treningowy: PhiUSIIL (235 795 URL).

✅ ZAIMPLEMENTOWANEscripts/m1_url_analyzer/:

  • train.py — trening LightGBM z cross-walidacją
  • predict.py — inferencja pojedynczego URL lub batch CSV
  • explore.py — analiza cech, feature importance
  • Wynik: F1 = 0.998 na zbiorze testowym PhiUSIIL (hold-out 20%)

Interpretacja wyników M1: Wynik F1=0.998 potwierdza, że cechy strukturalne URL (entropia, długość, liczba subdomen, TLD, obecność słów kluczowych jak “login”, “secure”, “verify”) są wysoce dyskryminujące na tym zbiorze. LightGBM radzi sobie bez danych wizualnych ani treści strony — to uzasadnia rolę M1 jako szybkiego filtra wstępnego (<5ms), który eliminuje oczywisty phishing zanim zaangażowane zostaną wolniejsze moduły wizualne.

Wynik należy interpretować ostrożnie: PhiUSIIL ma strukturalny bias — wszystkie benign URL-e to czyste domeny (np. google.com), podczas gdy phishingowe zawierają ścieżki i parametry. Model nauczył się tej korelacji, co w produkcji oznaczałoby wysokie FPR na legalnych stronach z długimi ścieżkami. Jest to jawna known limitation opisana w sekcji 10 — wynik F1=0.998 służy jako proof-of-concept modułu, nie jako deployment-ready metryka.

Znane ograniczenie: wynik F1=0.998 jest metryką in-distribution, opisaną jako known limitation w sekcji 10.

M2 — Wizualna detekcja logo (rdzeń systemu)

M2a — Lokalizacja logo: Deformable DETR lub Faster R-CNN fine-tuned na Phishpedia Labelled Logo Dataset (30 649 stron z bounding box). Ewaluacja na LogoSENSE (5 marek, HOG+SVM baseline) i podzbiorze APWG EvalPhishing jako niezależne test sety.

Status: do implementacji — oczekuje na pobranie Phishpedia Labelled Logo (~16 GB).

M2b — CLIP zero-shot brand matching: Model ViT-B/32 CLIP mapuje screenshot lub logo crop do 512-wymiarowej przestrzeni embeddingów i porównuje z pre-computed embeddings dla 181 marek. Dodanie nowej marki = nowy opis tekstowy lub logo PNG, zero retrainingu.

Czym jest CLIP (Contrastive Language–Image Pretraining)?

CLIP (Radford et al., OpenAI 2021) to model głębokiego uczenia trenowany na 400 milionach par (obraz, podpis tekstowy) pobranych z internetu. Kluczowa innowacja: zamiast trenować klasyfikator na stałych kategoriach, CLIP uczy się wspólnej przestrzeni embeddingów dla obrazów i tekstu — tak że semantycznie powiązane obrazy i opisy lądują blisko siebie w tej przestrzeni.

Architektura składa się z dwóch enkoderów:

  • Image encoder (Vision Transformer ViT-B/32): dzieli obraz na 32×32 patche, przetwarza przez Transformer → wektor 512-wymiarowy
  • Text encoder (GPT-like Transformer): tokenizuje opis tekstowy → wektor 512-wymiarowy

Trening: maksymalizacja podobieństwa cosine między pasującymi parami (obraz, tekst), minimalizacja dla niepasujących — stąd nazwa contrastive (Radford et al. 2021, ICML [20]).

Dlaczego CLIP ViT-B/32 jako model bazowy?

CLIP z 2021 roku pochodzi z przełomowej pracy i ma ugruntowaną pozycję w literaturze — jest cytowany w ponad 30 000 pracach i stanowi punkt odniesienia dla wszystkich późniejszych modeli kontrastywnych. Trzy powody, dla których jest bazą projektu, a nie tylko jednym z wariantów:

  1. Zero-shot generalizacja: CLIP rozpoznaje marki których nigdy nie widział na etapie treningu, jeśli podamy opis tekstowy (“logo of PayPal, blue and yellow”). Dodanie nowej marki = nowy opis, zero retrainingu. Phishpedia i KnowPhish wymagają retrainingu dla każdej nowej marki.
  2. Centralna hipoteza projektu (H1): GAN-y i diffusion modele generują perturbacje zoptymalizowane pod ResNet-Siamese (architektura Phishpedii). CLIP operuje w joint image-text space innym niż image-only ResNet — perturbacja skuteczna na ResNet nie musi przenosić się na ViT. Ta hipoteza nie była dotychczas empirycznie zweryfikowana w literaturze phishingowej — EXP-3 jest pierwszą taką weryfikacją, co stanowi wkład naukowy niezależnie od wyniku.
  3. Reprodukowalność: oryginalny CLIP jest publicznie dostępny (OpenAI, pip install), dobrze udokumentowany i używany w pracach porównawczych. Nowsze modele zmieniają się szybciej i mogą być trudniejsze do reprodukcji przez recenzentów.

Porównanie z nowszymi modelami kontrastywymi — EXP-2b (planowany)

CLIP z 2021 nie jest jedynym modelem tego typu. Od tego czasu powstały znaczące następniki, które planujemy uwzględnić w ablacji EXP-2b:

ModelRokInstytucjaZbiór treningowyParam.Referencja
CLIP ViT-B/32 (baza)2021OpenAIWIT 400M par150MRadford et al. 2021, ICML [20]
OpenCLIP ViT-L/142023LAION / OpenCLIPLAION-2B (5× więcej)428MCherti et al. 2023, CVPR [A1]
MetaCLIP ViT-L/142023Meta AI400M (kuracja algorytmiczna)428MXu et al. 2023 [A2]
SigLIP ViT-B/162023Google DeepMindWebLI (multilingual)200MZhai et al. 2023, ICCV [A3]
SigLIP 2 ViT-B/162025Google DeepMindWebLI2 (~100 języków)200MGoogle DeepMind 2025 [A4]
SigLIP SoViT-400m/14-3842023Google DeepMindWebLI900MZhai et al. 2023, ICCV [A3]
EVA-CLIP ViT-L/142023BAAILAION-2B (ulepszone)428MSun et al. 2023 [A5]
DINOv2 ViT-L2023Meta AILVD-142M (self-supervised)307MOquab et al. 2023, TMLR [A6]

SigLIP SoViT-400m/patch14-384 — model priorytetowy EXP-2b

google/siglip-so400m-patch14-384 to największy publicznie dostępny wariant SigLIP i aktualny SOTA wśród modeli contrastive dla zadań zero-shot. Kluczowe różnice wobec CLIP ViT-B/32:

CechaCLIP ViT-B/32SigLIP SoViT-400m
Parametry150M900M (6×)
Rozdzielczość wejściowa224×224384×384
Wymiar embeddingu5121152
Loss functionSoftmax contrastiveSigmoid (lepsza dla małych batchy)
Zbiór treningowyWIT 400M parWebLI (multilingual, ~10B par)
HuggingFace IDopenai/clip-vit-base-patch32google/siglip-so400m-patch14-384

Dlaczego SigLIP SoViT-400m jest szczególnie interesujący dla detekcji phishingu:

  1. Wyższa rozdzielczość (384×384 vs 224×224): loga banków zawierają drobne detale typograficzne (kroje pisma, subtelne gradienty) — wyższa rozdzielczość poprawia ich reprezentację bez interpolacji patch embeddings.

  2. Sigmoid loss zamiast softmax: w zadaniu brand matching szukamy pary (screenshot, marka) które pasują, a nie rankujemy wszystkie marki względem siebie. Sigmoid loss bezpośrednio optymalizuje tę binarną decyzję — teoretycznie lepiej dopasowany do naszego zadania retrieval niż softmax.

  3. Wymiar 1152 vs 512: bogatszy embedding = lepsze rozdzielenie marek wizualnie podobnych (np. banki używające niebieskiego koloru i geometrycznych logo: ING, PKO BP, Alior, Santander).

  4. WebLI multilingual: zbiór treningowy zawiera logo i opisy w ponad 100 językach — bezpośrednio istotne dla polskiego i europejskiego phishingu w APWG (marki w FR, PT, JA, RU).

Implementacja w PhishGuard: dostępny przez transformers jako AutoModel/AutoProcessor, zintegrowany z pipeline EXP-2b. GUI pozwala na równoległe uruchomienie obu modeli na tych samych screenshotach i ręczną weryfikację wyników — co generuje dane do metryki Recall@1/3/5 per model.

from transformers import AutoModel, AutoProcessor
 
processor = AutoProcessor.from_pretrained("google/siglip-so400m-patch14-384")
model     = AutoModel.from_pretrained("google/siglip-so400m-patch14-384")
 
# image embedding
inputs    = processor(images=image, return_tensors="pt")
img_emb   = model.get_image_features(**inputs)        # (1, 1152)
 
# text embedding  
inputs    = processor(text=["logo of PKO BP, blue eagle"], return_tensors="pt", padding="max_length")
txt_emb   = model.get_text_features(**inputs)         # (1, 1152)
 
# cosine similarity
similarity = (img_emb / img_emb.norm() ) @ (txt_emb / txt_emb.norm()).T

Uzasadnienie wyboru modeli do EXP-2b:

  • OpenCLIP ViT-L/14 [A1]: open-source reimplementacja z LAION-2B (5× więcej danych niż CLIP). Cherti et al. (CVPR 2023) pokazują skalowalne prawa dla contrastive learning — model wyraźnie lepszy od CLIP na zero-shot ImageNet (+3–5pp). Dla brand matchingu: więcej danych treningowych = więcej logo firm w pre-trainingu.
  • MetaCLIP [A2]: Xu et al. (Meta AI 2023) pokazują, że jakość kuracji danych jest ważniejsza niż ilość — algorytmicznie wyselekcjonowane 400M par daje wyniki porównywalne z LAION-2B przy 5× mniejszym zbiorze. Interesujący jako kontrargument wobec “więcej = lepiej”.
  • SigLIP SoViT-400m ★: największy wariant SigLIP, aktualny SOTA. Priorytetowy kandydat na model produkcyjny M2b jeśli EXP-2b pokaże przewagę nad CLIP ≥5pp Recall@1 (próg H6).
  • SigLIP ViT-B/16 [A3] i SigLIP 2 [A4]: mniejsze warianty SigLIP jako ablacja — pozwalają zmierzyć czy wzrost jakości wynika ze skali modelu czy ze zmiany funkcji loss.
  • EVA-CLIP [A5]: Sun et al. 2023 — skalowane techniki treningowe CLIP, SOTA na wielu benchmarkach zero-shot. Dobra kandydatura na model finalny jeśli EXP-2b pokaże przewagę.
  • DINOv2 [A6]: Oquab et al. (Meta AI, TMLR 2023) — self-supervised ViT bez text encoder. Nie działa zero-shot z promptami tekstowymi, ale dostarcza najsilniejsze czysto wizualne cechy. Użyteczny jako image encoder w wariancie Brand KB opartym wyłącznie na logo PNG.

Luka w literaturze 2025–2026: Żadna z wyżej wymienionych prac nie była ewaluowana w kontekście detekcji phishingu pod atakami adwersaryjnymi. EXP-2b wypełnia tę lukę: dla każdego modelu mierzymy Recall@1/3/5 na APWG EvalPhishing (clean) oraz evasion rate pod atakami A1–A3 (EXP-3). Jest to pierwsza systematyczna tabela porównawcza modeli kontrastywnych w tym zadaniu.

Dlaczego to wzmacnia papier: Jeśli SigLIP SoViT-400m daje znacząco lepszy Recall@1 (≥5pp nad CLIP), używamy go w finalnym systemie — wkład praktyczny. Jeśli wyniki są podobne, potwierdzamy że CLIP jest wystarczający i uzasadniamy wybór prostszego modelu dla reprodukowalności — wkład metodologiczny. Tabela jest wartościowa dla recenzenta niezależnie od wyniku.

EXP-2b: wszystkie modele dostępne przez HuggingFace transformers. Implementacja w phishguard/models.py — wspólny interfejs BrandModel.encode_image() / encode_text() dla wszystkich wariantów.

✅ ZAIMPLEMENTOWANEscripts/m2b_clip_brand_kb/:

  • build_brand_kb.py — buduje Brand KB z Phishpedia Targetlist (181 marek × logo PNG → CLIP embeddings, 750 KB .npz)
  • match_brand.py — dopasowanie pojedynczego obrazu do Brand KB (tryby: image / text / both)
  • label_apwg.py — auto-labelowanie 451 514 stron APWG po tytułach HTML (64.2% pokrycia KB, ~30 min)
  • eval_clip.py — EXP-2: ewaluacja CLIP recall na screenshotach z ground truth
  • plot_apwg_stats.py / plot_exp2.py — plots

Wyniki EXP-2 — auto-labelowanie APWG (451 514 stron):

  • Pokrycie Brand KB: 64.2% stron dopasowanych do znanych marek (289 822 z 451 514)
  • Top impersonowane marki: ING (57 009), Facebook (55 813), DHL (36 688), Wells Fargo (14 524), Chase (6 501), PayPal (5 385)
  • Marki finansowe (Tier 1): 99 761 stron = 34.4% wszystkich zidentyfikowanych

Ograniczenia i ulepszenie auto-labelowania — LLM fallback (Qwen2.5-72B)

Dopasowanie oparte na słowach kluczowych z <title> jest heurystyką i generuje dwa typy błędów:

  • Fałszywe trafienia przez podciągi: słowo "ing" z nazwy marki ING pasuje jako podciąg do "banking", "phishing", "loading" — strona o zupełnie innej marce dostaje etykietę ING.
  • Fałszywe trafienia przez generyczne słowa tfidf: słowo kluczowe "login" z pliku tfidf.csv marki “Webmail Provider” pasuje do każdego tytułu zawierającego "Shopify - Login" — Shopify dostaje etykietę Webmail Provider zamiast braku etykiety.
  • Nieodporność na ataki homograficzne: tytuł "Βank of Αmerica" używa greckich znaków Unicode (Β, Α) zamiast łacińskich — dopasowanie tekstowe nie rozpoznaje marki mimo czytelnej nazwy.

Poprawiony skrypt (label_apwg.py, wersja v2) rozwiązuje pierwsze dwa problemy:

  1. Granice słów ((?<!\w)ing(?!\w)) — "ing" nie pasuje do "banking"
  2. Filtr słów generycznych"login", "email", "secure" i podobne są wykluczone z tfidf.csv
  3. Próg minimalny score = 0.35 — niskie, niejednoznaczne dopasowania są odrzucane

Ataki homograficzne i bardziej złożone przypadki (skrócone nazwy, warianty językowe) wymagają modelu językowego jako fallbacku. Planowane podejście:

Dla każdej strony bez etykiety LUB z score < 0.5:
  → Wyślij tytuł HTML do Qwen2.5-72B z promptem:
    "Tytuł strony phishingowej: '{title}'
     Lista marek do ochrony: [PayPal, ING, Bank of America, ...]
     Która marka jest impersonowana? Podaj dokładną nazwę z listy lub 'brak'."
  → Odpowiedź LLM = etykieta fallback

Qwen2.5-72B to 72-miliardowy wielojęzyczny model językowy dostępny przez API NASK kompatybilne z OpenAI. Wybór uzasadniony najlepszą obsługą wielojęzyczności w zbiorze APWG (EN, FR, PT, JA, RU) przy dobrej precyzji ekstrakcji strukturalnej. Użycie go wyłącznie jako fallbacku dla ~30% próbek (niski score lub brak marki) redukuje koszty obliczeniowe do akceptowalnego poziomu.

Status: podejście zaprojektowane, implementacja --llm-fallback do label_apwg.py zaplanowana po ustabilizowaniu wyników EXP-2.

Interpretacja auto-labelowania: 64.2% pokrycia oznacza, że Phishpedia Targetlist (181 marek, 2021) nie pokrywa ~36% realnego phishingu z lat 2021–2023. Ta luka obejmuje marki regionalne (Banco Falabella Chile, VTB Rosja, marki azjatyckie) oraz nowe marki które pojawiły się po 2021. Jest to bezpośrednia empiryczna motywacja dla wkładu C4 (rozszerzenie Brand KB). Dramatyczny spadek pokrycia do 25% w czerwcu 2023 sugeruje zmianę krajobrazu phishingu — pojawienie się nowych kampanii targetujących marki nieobecne w Phishpedia.

Wyniki EXP-2 — CLIP zero-shot brand matching (pełny przebieg w toku, 25 miesięcy):

Jak działa EXP-2 — struktura danych i metodologia pomiaru

Dataset APWG EvalPhishing składa się z 25 archiwów tar.gz (jeden plik = jeden miesiąc, np. 2021-07.tar.gz), w których każda strona phishingowa jest reprezentowana przez dwa pliki o tej samej nazwie bazowej:

2021-07-24-10313.html    ← pełny HTML strony
2021-07-24-10313.png     ← screenshot (zrzut ekranu) tej samej strony

Archiwa nie są rozpakowywane — skrypt przetwarza je strumieniowo, odczytując pliki bezpośrednio z paczki.

Krok 1 — Wydobycie etykiety marki z HTML (auto-labeling)

Z pliku .html skrypt wydobywa zawartość tagu <title>, np.:

<title>PayPal - Log In to Your Account</title>

Tytuł jest porównywany ze słownikiem słów kluczowych 181 marek z Brand KB. Dopasowanie słowa kluczowego (np. “paypal” → marka “PayPal”) daje etykietę ground truth dla tej strony. Z 451 514 stron dopasowanie uzyskano dla 289 822 (64.2%) — to pliki które trafiają do EXP-2 jako próbki z etykietą.

Krok 2 — CLIP embedding screenshota

Dla każdego pliku .png (screenshot strony) model CLIP ViT-B/32 oblicza wektor embedding 512-wymiarowy. Wejściem dla CLIP jest pełny screenshot strony — zawierający nawigację, treść, tło, a czasem logo marki. CLIP nie widzi tekstu z HTML — tylko obraz.

Krok 3 — Jak zbudowano Brand KB (embeddingi marek)

Brand KB to baza wektorów referencyjnych dla 181 marek, zbudowana przed eksperymentem ze zbioru Phishpedia Targetlist. Dla każdej marki folder zawiera logo PNG (kilka wariantów: 0.png, 1.png, add0.png, …) i plik tfidf.csv z nazwą marki.

Dla każdej marki obliczane są dwa niezależne wektory 512-wymiarowe:

(a) Embedding wizualny — CLIP image encoder przetwarza każde logo PNG z folderu i zwraca wektor 512d. Jeśli marka ma 4 loga, powstają 4 wektory. Wynik końcowy = średnia arytmetyczna wszystkich 4 wektorów, następnie znormalizowana do długości 1. Reprezentuje “jak wygląda logo tej marki” w oczach CLIP.

(b) Embedding tekstowy — CLIP text encoder przetwarza napis "logo of PayPal" (jeden napis na markę) i zwraca wektor 512d. Reprezentuje “co CLIP rozumie pod słowem PayPal w kontekście logo”.

Ostateczny embedding marki = (a + b) / 2, znormalizowany. Obie modalności wzmacniają się wzajemnie: jeśli screenshot jest zbyt szumiony żeby trafić do klastra wizualnego, może trafić do klastra tekstowego przez wspólną przestrzeń CLIP.

Cały Brand KB to macierz 181 × 512, zajmująca 750 KB. Obliczanie KB trwa ~15 minut na CPU i wykonywane jest raz — wynik zapisywany do pliku .npz.

(c) Porównanie screenshota z KB

Dla screenshota PNG (wektor 512d z CLIP image encoder) obliczane jest podobieństwo cosine do każdego z 181 wektorów marek. Cosine similarity = iloczyn skalarny dwóch wektorów znormalizowanych — wartość od -1 (przeciwne kierunki) do +1 (identyczne). Im wyższa wartość, tym screenshot bardziej “podobny” do referencyjnego embeddingu marki.

181 podobieństw jest sortowanych malejąco. Wynik to ranking: ["PayPal": 0.87, "Apple": 0.61, "ING": 0.44, …].

Krok 4 — Skąd algorytm wie, że to sukces? Powiązanie etykiety z predykcją

Etykieta ground truth pochodzi z kroku 1 (tytuł HTML), np. "PayPal". Jest to string — dokładna nazwa marki z Brand KB, zapisana w pliku apwg_labels.jsonl:

{"file": "2021-07-24-10313.html", "month": "2021-07.tar", "title": "PayPal - Log In", "brand": "PayPal", "score": 0.71}

Predykcja CLIP to string z rankingu — nazwa marki o najwyższym podobieństwie cosine.

Sukces = porównanie stringów: predykcja == etykieta

Etykieta (z HTML title):  "PayPal"
CLIP top-1 predykcja:     "PayPal"   → ✅ Recall@1 +=1
CLIP top-3 predykcje:     ["PayPal", "Apple", "ING"]  → ✅ Recall@3 +=1

Etykieta:   "ING"
CLIP top-1: "UniCredit"   → ❌
CLIP top-3: ["UniCredit", "BZSt", "Blockchain"]  → ❌  (ING nie ma w top-3)

Ostateczny wynik:

Recall@1 = liczba sukcesów top-1 / liczba stron z etykietą
Recall@3 = liczba sukcesów top-3 / liczba stron z etykietą
Recall@5 = liczba sukcesów top-5 / liczba stron z etykietą

Recall@1 = 49.2% oznacza: CLIP wskazał poprawną markę na pierwszym miejscu dla niemal co drugiej strony — bez żadnego treningu na tym zadaniu, patrząc na pełny screenshot (nie wyizolowane logo).

Ważne zastrzeżenie metodologiczne: etykieta ground truth pochodzi z tytułu HTML — nie jest niezależną, ręcznie weryfikowaną etykietą. Jeśli strona phishingowa ma fałszywy tytuł (np. “Free Downloads” zamiast nazwy banku), algorytm przypisuje błędną etykietę lub nie przypisuje żadnej (strona odpada z analizy). Jest to świadome uproszczenie opisane w sekcji limitacji — tytuł HTML w kontekście phishingu jest jednak silnym sygnałem, bo atakujący zazwyczaj celowo wpisują nazwę podrabianej marki w tytule strony.

Wyniki EXP-2 zostaną uzupełnione po zakończeniu pełnej ewaluacji na 289 822 stronach (25 miesięcy) z poprawionym auto-labelowaniem (v2).

M2c — Adversarial Verifier: Fine-tuned ViT-B/16 z PGD adversarial training (ε=8/255, k=40 kroków). Dane treningowe: 30% clean + 20% PGD + 20% GAN logos + 15% diffusion morphs + 15% standardowa augmentacja.

Status: do implementacji po zakończeniu EXP-2.

M3 — Ekstrakcja treści i NER

Parser HTML + OCR. Ekstrakcja nazw marek przez LLM zero-shot (Qwen3 / Gemma, ~200ms) lub fine-tuned RoBERTa-NER (~30ms). Cross-check: Levenshtein(brand, domain_root).

M4 — Analiza timingu DOM

M4a (statyczna, <10ms): Parser CSS identyfikuje opacity:0 / clip-path:inset() na elementach logo. AST JavaScript wykrywa setTimeout/setInterval >200ms na węzłach logo. Zakres: nieopakowany CSS/JS — opisane explicite w Limitations.

M4b (dynamiczna fallback, ~500ms): Screenshoty w t=0, 500ms, 2000ms przez Playwright — pojawienie się logo po t=0 jest sygnałem ataku klasy Yuan 2026. Resource Timing API gdy M4a niekonkluzywne.

Fuzja decyzyjna

s = 0.25·p_url + 0.40·p_visual + 0.25·p_content + 0.10·p_timing. Wagi uczone na zbiorze developerskim przez logistic regression meta-learner. Kalibracja progu: FPR @ 95% TPR.


4. Dane

Dostępne (pobrane)

DatasetRozmiarZastosowanieStatus
PhiUSIIL235 795 URL + 54 cechyM1 training✅ Model gotowy (F1=0.998)
Phishpedia repo + code277 marekSeed Brand KB✅ Sklonowano
Phishpedia 30k benchmark29 496 stron (18 GB)M2/M3 training✅ Pobrano
Tranco top-1M1 000 000 domenBenign seed✅ Pobrano
LogoSENSEmodele SVM + wyniki (22 MB)M2a baseline HOG+SVM✅ Pobrano
Phishpedia modelsrcnn_bet365.pth, resnetv2.pth.tarBaseline✅ Pobrano
expand_targetlist277 marek × logo PNGBrand KB seed✅ Pobrano
Phishpedia Targetlist181 marek × loga + HTML + tfidf (246 MB)Brand KB seed (oficjalny)✅ Pobrano
APWG EvalPhishing (Ji et al. 2024)451 514 stron, lip 2021–lip 2023 (152 GB)Główny benchmark EXP-5Pobrano (pełny dataset)
Docker crawlerinfrastrukturaPhishTank crawl (backup)✅ Przetestowany

Kluczowe właściwości APWG EvalPhishing

Dataset uzyskany bezpośrednio od autorów (D. Kim, maj 2026). Każda ze 451 514 stron zawiera:

  • Pełny HTML — umożliwia M3 (NER) i M4 (DOM timing analysis)
  • Screenshot PNG — umożliwia M2 (CLIP brand matching, logo detection)
  • Brak gotowych etykiet marek — etykiety wydobywane z <title> + CLIP + weryfikacja manualna próbki

Marki w próbce: Crédit Agricole, Chase, Lloyds Bank, Itaú, Orange, Facebook, Netflix, Apple, Rakuten — pokrycie wielojęzykowe (EN/FR/PT/JA).

Pełny dataset: 451 514 stron, 25 miesięcy (lipiec 2021 – lipiec 2023), 152 GB skompresowane.

Oczekiwane

DatasetRozmiarZastosowanieStatus
PhishBlitz13 800 stron (2025)Dodatkowy test set (2025 phishing)⏳ Dostęp uzyskany, do pobrania
Phishpedia Labelled Logo30 649 stron + BBoxM2a detector training⬇️ Do pobrania
LogoSENSE screenshoty~1 979 stron + 30k benignM2a niezależny test set⬇️ Do pobrania (GDrive)

5. Hipotezy badawcze i eksperymenty

HipotezaEksperymentMetryka sukcesu
H0 — FinPhishGuard recall ≥90% pod A1–A3EXP-5KnowPhish traci ≥25pp pod atakami
H1 — CLIP naturalnie odporny na transfer GANEXP-3CLIP evasion <40%; ResNet evasion >60%
H2 — PGD hardening redukuje evasionEXP-3Evasion <25% po hardeningu
H3 — DOM static analysis wykrywa timing atakiEXP-4Recall ≥80%; FPR ≤15%
H4 — Fintech brands gorzej chronione przez SOTAEXP-6Gap ≥20pp Tier1 vs Tier2/3
H5 — CLIP szybszy niż MLLM przy podobnej accuracyEXP-2+7Gap accuracy ≤5pp; latency <200ms
H6 — Nowszy model (SigLIP/OpenCLIP) poprawia recall vs CLIP 2021EXP-2bRóżnica ≥5pp Recall@1; jeśli <5pp → CLIP wystarczający

Weryfikacja statystyczna: test McNemara lub bootstrap 95% CI (n=1 000 resampli). Każda hipoteza falsyfikowalna, z liczbowym progiem sukcesu i planem B.


6. Wkład naukowy

C1 — Pierwsza kompleksowa ewaluacja CLIP pod atakami adwersaryjnymi w detekcji phishingu

Istniejące systemy wizualnej detekcji phishingu opierają się na architekturach ResNet-Siamese (Phishpedia, VisualPhishNet) lub triplet CNN (PhishIntention). Lee et al. (2023) wykazali, że GAN wytrenowany przeciwko ResNet-Siamese osiąga 95% evasion rate — atakując lokalną strukturę cech tych modeli. Logiczną hipotezą jest, że CLIP (Radford et al. 2021), który operuje w przestrzeni joint image-text zamiast image-only, jest naturalnie odporniejszy na transfer attacks generowane dla ResNet.

Luka literaturowa: Przeszukanie bazy SemanticScholar i arXiv (stan na maj 2026) nie ujawnia żadnej publikacji ewaluującej CLIP w kontekście phishingu pod atakami adwersaryjnymi — ani w formie transfer attack, ani adaptive attack. Wyniki eksperymentu EXP-3 będą niezależnie wartościowe: potwierdzenie odporności CLIP uzasadnia jego użycie w systemach bezpieczeństwa, a obalenie hipotezy otwiera problem “jak hardenować CLIP” — również wartościowe.

Konkretny wkład: Pomiar evasion rate CLIP ViT-B/32 vs ResNet-50-triplet oraz porównanie modeli (EXP-2b) dla:

  • Transfer attacks z GAN Lee 2023 (model optymalizowany dla ResNet → testowany na CLIP, OpenCLIP, SigLIP)
  • Transfer attacks z diffusion LogoMorph Hao 2024
  • Ewentualnie: adaptive PGD bezpośrednio na CLIP (jako górna granica podatności)

Wynik stanowi pierwszą tabelę porównawczą, której nie ma w żadnej istniejącej publikacji.


C2 — Statyczna analiza DOM/CSS/JS jako pierwsza systematyczna obrona przed atakami klasy delayed rendering

Yuan et al. (2026) wykazali, że atak “Curtain Effect” (CSS clip-path: inset(100%) + JS setTimeout) osiąga ASR=100% na PhishIntention i Phishpedii: logo jest widoczne dla użytkownika, ale niewidoczne w momencie wykonania screenshota przez detektor. Jedyna proponowana obrona przez autorów to wykonanie dodatkowego screenshota po 2 sekundach — co zostaje natychmiast pokonane przez atak z delay >2s.

Kluczowa obserwacja: mechanizm ataku jest statycznie widoczny w kodzie HTML/CSS/JS przed renderowaniem strony. clip-path: inset(100%) ukrywający element logo oraz setTimeout(showLogo, N*1000) są detekowalne przez parser AST bez uruchamiania przeglądarki. Ta obserwacja, o ile autorowi wiadomo, nie była dotychczas eksploatowana jako mechanizm obronny.

Konkretny wkład: Algorytm M4a analizujący drzewo CSS i AST JavaScript w czasie <10ms, wykrywający wzorce:

  • CSS: opacity:0, display:none, visibility:hidden, clip-path:inset(...) na elementach z logo
  • JS: setTimeout/setInterval >200ms powiązany z węzłami DOM logo
  • Heurystyczny scoring: suma sygnałów → decyzja binarna

EXP-4 weryfikuje recall per delay class (0ms, 500ms, 1s, 2s, 5s) i FPR na legalnych stronach z legalnymi lazy-load delays. Zakres defense (nieopakowany JS/CSS) jest explicite ograniczony w sekcji Limitations.


C3 — FinPhishGuard: pierwsza ewaluacja end-to-end systemu hybrydowego na protokole adversarial A1–A3

Istniejące prace albo (a) testują system clean bez ataków, albo (b) testują jeden typ ataku na jednym module. Brak jest pracy, która testowałaby kompletny system (URL + visual + content + timing) pod kombinacją ataków na realnym, dużym zbiorze danych.

Konkretny wkład:

  1. Protokół ewaluacyjny A1–A3 — zestandaryzowany zestaw: PGD white-box (implementacja własna), GAN transfer (Lee 2023), diffusion transfer (Hao 2024), CSS delayed rendering (Yuan 2026 repro). Protokół jest reproducible i może służyć jako community benchmark dla przyszłych prac.
  2. Ablation study — 7 wariantów systemu: M1-only, M1+M2b, M1+M2b+M2c, M1+M2+M3, full — pozwala zmierzyć marginalny wkład każdego modułu i każdej techniki hardeningu.
  3. Wyniki statystycznie weryfikowane — bootstrap 95% CI + test McNemara vs każdy baseline.

C4 — Financial Brand Knowledge Base: taksonomia i CLIP-compatible resource dla 150+ marek

Istniejące bazy marek (Phishpedia: 181 marek, KnowPhish: 20k ogółem z Wikidata) mają znane luki w obszarze fintech i payment gateways. KnowPhish explicite raportuje błędy dla “Bank Promerica”, “Minnesota Unemployment Insurance” — marek nieobecnych w Wikidata. Fintech uruchomiony po 2015 (N26, Klarna, Revolut, BLIK) jest szczególnie podatny na underrepresentation.

Konkretny wkład:

  1. Taksonomia czterech Tier’ów — Tier 1 Banki (50 marek), Tier 2 Payment Gateways (20), Tier 3 Cards + Mobile (10), Tier 4 Crypto/Fintech (30) — z kryteriami przynależności i uzasadnieniem.
  2. CLIP-compatible format — każda marka ma: (a) description string do zero-shot text embeddings, (b) 3–5 wariantów logo PNG do few-shot image embeddings. Format pozwala na dodanie nowej marki przez edycję JSON bez retrainingu.
  3. Publiczne udostępnienie — baza jako open-source, uzupełniając lukę w zasobach dla community.
  4. EXP-6 brand-level breakdown — pierwsze pomiary recall per tier dla istniejących systemów (PhishIntention, KnowPhish) i FinPhishGuard.

C5 — Empiryczna demonstracja trade-off: accuracy vs adversarial robustness vs latency

Istniejące prace optymalizują zazwyczaj jedną z tych osi. FinPhishGuard jako system wielomodułowy pozwala na systematyczne zmierzenie wszystkich trzech jednocześnie:

  • Każdy moduł ma zmierzony p50/p95/p99 latency (EXP-7)
  • Każdy moduł ma zmierzony clean accuracy i accuracy pod atakiem (EXP-3, EXP-5)
  • Fusion ensemble daje different operating points na krzywej ROC

Wynik: tabela trade-off, która pokazuje który wariant systemu jest optymalny dla: browser extension (<500ms), server-side proxy (brak ograniczenia latency), edge device (CPU-only). To praktycznie użyteczna wskazówka dla inżynierów security.


7. Dlaczego ten temat jest atrakcyjny dla doktoratu

Badania replikacyjno-ewaluacyjne jako pełnoprawny wkład naukowy. W dziedzinie bezpieczeństwa systemów ewaluacja istniejących systemów pod nowymi warunkami jest uznanym i wysoko cenionym wkładem. Przykłady z USENIX Security i IEEE S&P: “Sok: Eternal War in Memory” (Szekeres 2013, 1000+ cytowań), “SoK: SSL and HTTPS” (Georgiev 2012) — to czyste ewaluacje, nie systemy. Zmierzenie zachowania CLIP pod atakami adwersaryjnymi, jeśli dotychczas nikomu to nie przyszło do głowy, jest wkładem naukowym.

Nie wymagamy zbierania własnych danych przez lata. Wszystkie datasety treningowe i testowe są dostępne lub generowalne:

  • PhiUSIIL: pobrane, 235k URL
  • Phishpedia 30k: pobrane, 18 GB
  • LogoSENSE: pobrane, 1.6 GB
  • APWG EvalPhishing: pobrane — 451 514 stron (HTML + screenshot), 25 miesięcy (lip 2021–lip 2023), 152 GB
  • Adversarial logos: generowane przez PyTorch autograd (PGD) lub dostępne modele diffusion
  • Timing attack testbed: generowany programistycznie (HTML z CSS opóźnieniami)

Modele są pre-trenowane. CLIP, ViT, LightGBM — gotowe checkpointy dostępne bez tygodni GPU. Fine-tuning M2c (adversarial ViT) nie wymaga treningu od zera.

Wyniki są falsyfikowalne i mierzalne od pierwszego dnia. EXP-1 (logo detection mAP), EXP-2 (CLIP recall) i EXP-4 (timing defense) dają konkretne liczby zaraz po implementacji — nie czekamy na “zebranie się danych” ani na “wystarczającą liczbę użytkowników”.


8. Narzędzie demonstracyjne — FinPhishGuard GUI

Oprócz modułów badawczych planowane jest opracowanie lekkiego interfejsu graficznego (Python + Gradio lub Streamlit) służącego jako narzędzie demonstracyjne i pomocnicze do etykietowania danych.

Funkcjonalności

Panel testowania modeli:

  • Wpisz URL → M1 (LightGBM) zwraca wynik klasyfikacji + top cechy (<5ms)
  • Wgraj screenshot lub podaj URL strony → M2b (CLIP) zwraca top-3 dopasowanych marek z similarity score
  • Podgląd embeddingów CLIP w przestrzeni 2D (t-SNE) — wizualizacja jak marki są rozmieszczone względem siebie

Przeglądarka datasetu APWG:

  • Przegląd screenshotów z APWG EvalPhishing z auto-labelami (marka z tytułu HTML)
  • Filtrowanie po marce, miesiącu, confidence score
  • Ręczna korekta etykiet (weryfikacja inter-rater reliability — wymagana przez papier)
  • Eksport poprawionych etykiet do CSV

Zarządzanie Brand KB:

  • Lista 181 marek z podglądem logo PNG
  • Dodaj nową markę: wgraj logo + wpisz opis → automatyczne CLIP embedding
  • Edytuj text prompt per marka (np. “logo of ING bank, orange lion”)
  • Podgląd recall@1 per marka z EXP-2 — wizualny sygnał gdzie KB wymaga uzupełnienia

Narzędzie demonstruje działający end-to-end pipeline na żywo — wpisanie adresu URL banku-przynęty i natychmiastowe wyświetlenie wyniku klasyfikacji jest przekonujące w sposób, którego wykresy nie zastąpią.

Wartość badawcza: panel etykietowania pozwala na weryfikację manualną ~200 stron APWG wymaganą dla inter-rater reliability (opisanej jako wymóg metodologiczny w sekcji 10). Bez GUI ta weryfikacja wymaga żmudnej pracy z plikami CSV.

Status: do implementacji po zakończeniu EXP-2.


9. Docelowe publikacje

VenueDeadlineImpactTyp
USENIX Security 202725 sierpień 2026 (cykl 1) / 26 styczeń 2027 (cykl 2)A*Pełny paper (8–10 str.)
IEEE S&P 202711 czerwień 2026 (cykl 1) / 17 listopad 2026 (cykl 2)A*Pełny paper
RAID 2027~kwiecień 2027 (szacowany)APełny paper
ACSAC 2027~maj 2027 (szacowany)APełny paper

Priorytet: USENIX Security 2027 jako główny target — cykl 1 (sierpień 2026) jest realny jeśli EXP-2 i EXP-3 zostaną zakończone latem. IEEE S&P 2027 cykl 2 (listopad 2026) jako alternatywa z dłuższym buforem. RAID 2026 i ACSAC 2026 — terminy minęły w tym cyklu.


10. Znane ograniczenia i mitygacja

Ograniczenia systemu

Ograniczona liczba marek w Brand KB. Phishpedia Targetlist (181 marek, 2021) nie pokrywa marek regionalnych (Banco Falabella Chile, VTB Rosja), nowych fintech (N26, Klarna, Revolut, BLIK) ani większości marek azjatyckich. Auto-labelowanie potwierdza: 36% realnego phishingu z APWG nie pasuje do żadnej marki w KB — to dowód luki, nie błąd systemu. Mitygacja: FinPhishGuard GUI (sekcja 8) umożliwia dodanie nowej marki przez wgranie logo + opis tekstowy, bez retrainingu CLIP. Rozszerzalność jest wbudowana w architekturę — zero-shot z definicji nie wymaga retrainingu. Wkład C4 formalizuje taksonomię Tier 1–4 z kryteriami doboru.

Hipoteza o naturalnej odporności CLIP. Odporność CLIP na transfer GAN jest hipotezą architekturalną (joint image-text space vs image-only ResNet), nie udowodnionym faktem. EXP-3 może obalić tę hipotezę. Mitygacja: projekt jest zaprojektowany na oba wyniki. Jeśli CLIP jest odporny — H1 potwierdzona, silny claim. Jeśli podatny — wkład przesuwa się na PGD hardening (H2) jako główny mechanizm. Narracja papera jest spójna w obu scenariuszach; EXP-3 jest wartościowy niezależnie od wyniku.

Dataset bias modułu M1. LightGBM trenowany na PhiUSIIL osiąga F1=0.998, ale zbiór ma strukturalny bias: legitymacyjne URL-e to domeny bez ścieżek (google.com), przez co model klasyfikuje każdy URL ze ścieżką jako phishing. Mitygacja: wynik F1=0.998 opisany explicite jako metryka in-distribution we wszystkich papierach. M1 pełni rolę szybkiego filtra wstępnego, nie standalone detektora — decyzja finalna wymaga potwierdzenia przez M2.

Zakres analizy DOM/CSS ograniczony do nieopakowanego kodu. M4a wykrywa clip-path: inset(100%) i setTimeout w nieobfuskowanym CSS/JS. Atakujący stosujący webpack, base64 lub CSS-in-JS ominie tę obronę. Mitygacja: zakres jest explicite zadeklarowany w sekcji Limitations każdego papera jako “nieopakowane ataki klasy Yuan 2026”. Claim H3 zawarty jest w tym zakresie — nie twierdzimy ogólnej odporności na JS obfuskację.

Reprodukcja baseline’ów. Uruchomienie PhishIntention i KnowPhish na własnych danych jest nietrywialnym zadaniem (środowiska, LLM API). Mitygacja: reprodukcja zaplanowana jako osobny milestone przed EXP-5. W przypadku niepowodzenia technicznego: wyniki z oryginalnych papierów jako reference baseline z adnotacją metodologiczną — praktyka akceptowana w security papers.

Ryzyka projektowe

RyzykoPrawdop.Plan B
Kod Lee 2023 GAN niedostępnyŚrednieEXP-3 = PGD + diffusion; teza H1 zawężona do PGD transfer
CLIP podatny na GAN logos (H1 obalona)ŚrednieGłówna teza = H2 (PGD hardening); CLIP jako fast-path pre-filter
Baseline reprodukcja trudnaŚrednieWyniki z oryginalnych papierów jako reference; note w papierze
GPU niewystarczającyNiskieDostępna infrastruktura obliczeniowa

Bibliografia

PDFy wszystkich poniższych pozycji są dostępne i mogę je udostępnić na życzenie.

[1] S. Abdelnabi, K. Krombholz, M. Fritz, “VisualPhishNet: Zero-Shot Phishing Web Sites Detection by Visual Similarity,” ACM CCS, 2020.

[2] A. S. Bozkir, M. Aydos, “LogoSENSE: A Companion HOG based Logo Detection Scheme for Phishing Web Page and E-mail Brand Recognition,” Computers & Security, vol. 95, 2020.

[3] N. Carlini, D. Wagner, “Towards Evaluating the Robustness of Neural Networks,” IEEE S&P, 2017.

[4] J. Cohen, E. Rosenfeld, Z. Kolter, “Certified Adversarial Robustness via Randomized Smoothing,” ICML, 2019.

[5] A. Dosovitskiy et al., “An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale,” ICLR, 2021.

[6] R. Duarte, “URL-Based Phishing Detection Using Machine Learning,” arXiv preprint, 2025.

[7] C. Hao et al., “LogoMorph: Evading Logo-Based Phishing Detectors via Diffusion-Based Logo Morphing,” arXiv preprint, 2024.

[8] F. Ji, D. Kim, “How Can We Effectively Use LLMs for Phishing Detection?” arXiv:2511.09606, 2025.

[9] F. Ji et al., “A Large-Scale Evaluation of Phishing Detection Systems on Real-World Phishing Websites,” arXiv preprint, 2024.

[10] H. Kulkarni et al., “PhishOracle: Adversarial Phishing Page Generator,” arXiv preprint, 2024.

[11] J. H. Lee et al., “Advancing the Robustness of Logo-Based Phishing Website Detectors Using Adversarial Examples,” arXiv preprint, 2023.

[12] J. H. Lee et al., “Multimodal LLM-Based Phishing Website Detection,” arXiv:2408.05941, 2024.

[13] Y. Li et al., “KnowPhish: Large Language Models Meet Multimodal Knowledge Graphs for Enhancing Reference-Based Phishing Detection,” USENIX Security, 2024.

[14] Y. Lin et al., “Phishpedia: A Hybrid Deep Learning Based Approach to Visually Identify Phishing Webpages,” USENIX Security, 2021.

[15] Y. Liu et al., “Inferring Phishing Intention via Webpage Appearance and Dynamics: A Deep Vision Based Approach,” USENIX Security, 2022.

[16] Y. Liu et al., “DynaPhish: Knowledge Expansion and Exploitation for Reference-Based Phishing Detection,” arXiv preprint, 2023.

[17] A. Madry, A. Makelov, L. Schmidt, D. Tsipras, A. Vladu, “Towards Deep Learning Models Resistant to Adversarial Attacks,” ICLR, 2018.

[18] A. Petrukha et al., “Logo Detection for Phishing Page Identification on Mobile Devices,” arXiv preprint, 2024.

[19] S. Prasad, P. Bhargava, “PhiUSIIL Phishing URL (Website) Dataset,” UCI Machine Learning Repository, 2023.

[20] A. Radford et al., “Learning Transferable Visual Models from Natural Language Supervision (CLIP),” ICML, 2021.

[21] X. Yuan et al., “MultiSpacePhish: Extending the Evasion-Space of Adversarial Attacks against Phishing Website Detectors Using Multiple Evasion Strategies,” arXiv preprint, 2023.

[22] X. Yuan et al., “The Curtain Effect: Evading Visual Phishing Detectors via Delayed Rendering,” arXiv preprint, 2026.

[23] X. Zhu et al., “Deformable DETR: Deformable Transformers for End-to-End Object Detection,” ICLR, 2021.

Modele kontrastywne — następniki CLIP (EXP-2b)

[A1] M. Cherti, R. Beaumont, R. Wightman, M. Wortsman, G. Ilharco, C. Gordon, C. Schuhmann, L. Schmidt, J. Jitsev, “Reproducible Scaling Laws for Contrastive Language-Image Learning,” CVPR, 2023. arXiv:2212.07143.

[A2] J. Xu, X. Gu, et al., “Demystifying CLIP Data,” Meta AI, 2023. arXiv:2309.16671.

[A3] X. Zhai, B. Mustafa, A. Kolesnikov, L. Beyer, “Sigmoid Loss for Language Image Pre-Training,” ICCV, 2023. arXiv:2303.15343.

[A4] Google DeepMind, “SigLIP 2: Multilingual Vision-Language Encoders with Improved Semantic Understanding, Localization, and Dense Features,” 2025. arXiv:2502.14786.

[A5] Q. Sun, Y. Fang, L. Wu, X. Wang, Y. Cao, “EVA-CLIP: Improved Training Techniques for CLIP at Scale,” 2023. arXiv:2303.15389.

[A6] M. Oquab, T. Darcet, et al., “DINOv2: Learning Robust Visual Features without Supervision,” Transactions on Machine Learning Research, 2023. arXiv:2304.07193.

[A7] Z. Wang, S. Gao, S. Huang, et al., “LLM2CLIP: Powerful Language Model Unlocks Richer Cross-Modality Representation,” NeurIPS SSL Workshop, 2024. arXiv:2411.04997.


Szczegółowa dokumentacja projektu (roadmap, hipotezy, datasety) dostępna na życzenie.