Hipotezy badawcze — FinPhishGuard

Ostatnia aktualizacja: 2026-05-12

Każda hipoteza jest falsyfikowalna, powiązana z konkretnym eksperymentem z outline.md i zakorzeniona w liczbach z opublikowanych prac.

Punkt odniesienia: stan wiedzy (published baselines)

Wyniki clean (bez adversarial)

SystemDatasetRecallF1PrecisionŹródło
EMD451k real-world (Ji 2024)30.62%Ji et al. 2024, Table 2
VisualPhishNet451k real-world (Ji 2024)39.09%Ji et al. 2024, Table 2
DynaPhish4,190 sampled (Ji 2024)22.03%Ji et al. 2024, Table 3
PhishIntention4,190 sampled (Ji 2024)49.07%Ji et al. 2024, Table 3
Phishpedia4,190 sampled (Ji 2024)57.16%Ji et al. 2024, Table 3
PhishIntention451k learned brands (Ji 2024)65.59%Ji et al. 2024, Table 2
PhishpediaTR-OP (Li 2024)40.16%57.17%99.16%Li et al. 2024 KnowPhish, Table 2
PhishIntentionTR-OP (Li 2024)33.32%49.96%99.76%Li et al. 2024 KnowPhish, Table 2
PhishIntentionwłasny 50K (Liu 2022)90%*Liu et al. 2022, Figure 11 ROC (*@ FPR=10⁻³)
KPD+KnowPhishTR-OP (Li 2024)86.90%92.05%97.84%Li et al. 2024, Table 2 — aktualny SOTA
Lee et al. MLLMwłasny (Lee 2024)~92%~92%Lee et al. 2024 — bez adversarial

Wyniki pod atakami adversarial

SystemAtakRecall przedRecall poΔŹródło
VisualPhishNetPhishOracle logo transf.88.35%72.89%−16ppKulkarni 2024, Table 3
PhishpediaPhishOracle logo transf.81.63%~40%−42pp!Kulkarni 2024, Table 3
Stack (ensemble)PhishOracle full98.32%70.86%−28ppKulkarni 2024
MLLM GeminiPhishOracle full97.25%79.51%−18ppKulkarni 2024
KnowPhish TBEText-to-image HTML81% brand acc5%−76pp!Li 2024, Table 4
Lee 2023 (GAN) → Siamese black-boxGViT generator~58% recall~42% foolingmin 42% evasionLee 2023, Fig. 6d
Lee 2023 (GAN) → any model white-boxmatching generator>99% recall<5% recall>95% evasionLee 2023
LogoMorph (Hao 2024) → PhishIntentiontext logo font change100% detect.0-3% detect.97-100% bypassHao 2024, Table 3
LogoMorph (Hao 2024) → Phishpedia transferblack-box100% detect.0-20% detect.80-100% bypassHao 2024, Table 7
Yuan 2026 Curtain Effect → PhishIntentionCSS clip-path delay100% detect.0% detect.ASR=100%Yuan 2026, §5.2.1
Yuan 2026 Pixelation → PhishIntentionpixel blur 5×5100% detect.38% detect.ASR=62%Yuan 2026, §5.2.2
Yuan 2026 Combination → PhishIntentioncurtain+pixelation100% detect.0% detect.ASR=100%Yuan 2026, §5.2.3

Kluczowa luka:

  • Najlepszy system clean (KPD+KnowPhish): 86.90% recall, 2.02s/sample
  • Każdy system spada dramatycznie pod adversarial — nawet o 42-76pp
  • Żaden system nie był testowany na kombinacji ataków A1-A5
  • CLIP zero-shot nie był ewaluowany pod żadnym atakiem wizualnym

Hipoteza główna (H0)

FinPhishGuard (URL + CLIP visual + NER content + DOM timing z adversarial hardeningiem) osiąga ≥ 90% recall pod atakami klas A1–A3 na zbiorze Ji & Kim 2025 (19,131 stron + ≥5,000 benign), podczas gdy najlepszy istniejący system (KPD+KnowPhish, clean recall=86.90%) traci ≥ 25pp recall pod tymi samymi atakami (analogia: Phishpedia −42pp pod PhishOracle).

  • Uzasadnienie liczbowe:
    • Ji et al. 2024 (451k real-world): PhishIntention 49-66% recall, Phishpedia 57-88%, DynaPhish 22% — już bez ataków te systemy mają słabą skuteczność
    • KPD+KnowPhish (Li 2024): clean recall=86.90% — aktualny SOTA; nie testowany pod visual adversarial attacks (GAN logos, diffusion) — jedynie pod text-to-image (Li 2024 Table 4: brand acc. 5%→60% z obroną)
    • PhishOracle (Kulkarni 2024): Phishpedia 82%→40% (−42pp!), MLLM 97%→80% (−18pp) — analogia, nie bezpośredni wynik KnowPhish
    • Ostrożna projekcja: pod atakami GAN logos / delayed rendering KnowPhish prawdopodobnie spada istotnie — do weryfikacji empirycznej w EXP-3
    • Nasz cel: ≥90% poprzez CLIP + PGD hardening + DOM timing defense
  • Uwaga metodologiczna: 243 benign stron w Ji & Kim 2025 jest niewystarczające do rzetelnej estymacji FPR. Ewaluacja wymaga uzupełnienia o ≥5,000 benign (Alexa top-10k lub CommonCrawl sample) — patrz EXP-5.
  • Eksperyment: EXP-5 (end-to-end) + EXP-3 (adversarial subset)
  • Hipoteza zerowa H0₀: Różnica F1 między FinPhishGuard a najlepszym baseline’em nie jest statystycznie istotna pod atakami (α = 0.05, test McNemar lub bootstrap CI)

Hipotezy szczegółowe

H1 — Naturalna odporność CLIP na adversarial logos

CLIP ViT-B/32 (zero-shot) osiąga evasion rate < 40% dla GAN logos (Lee 2023) i diffusion logos (Hao 2024) przetransferowanych z ResNet-Siamese, podczas gdy ResNet-50 triplet ma evasion rate > 60% dla tych samych ataków.

  • Uzasadnienie liczbowe:
    • Phishpedia (Lin 2021) Table 7: Step-ReLU gradient masking (17 layers) redukuje BPDA drop do 93.5%→92.6% (0.9pp), ALE chroni tylko przed gradient-based attacks, NIE przed GAN logos
    • PhishOracle (Kulkarni 2024): Phishpedia ResNet-50 Siamese recall 81.63%→~40% (−42pp!); VisualPhishNet ResNet 88.35%→72.89% (−16pp) — żadna obrona nie chroni przed PhishOracle logo transformations
    • Lee 2023: GAN logos → ~95% evasion na ResNet-based logo detectors
    • CLIP nie był testowany pod żadnym z tych ataków — to jest właśnie luka literaturowa którą adresujemy
    • Mechanizm: GAN Lee 2023 optymalizowany przeciwko ResNet-Siamese → transfer attack na CLIP jest słabszy (różne feature spaces). CLIP operuje w joint image-text space; GAN atakuje lokalne pixelowe tekstury specyficzne dla ResNet
  • Kluczowe zastrzeżenie metodologiczne: Wynik H1 mierzy odporność na transfer attack (Lee 2023 GAN → CLIP), nie na adaptive attack (GAN optymalizowany bezpośrednio pod CLIP). To rozróżnienie musi być jasno opisane w papierze. Adaptive attack na CLIP może dać wyższy evasion — co kompensuje H2 (PGD verifier).
  • Kontr-argument: Jeśli adaptive CLIP-targeted GAN daje evasion > 60%, H1 spada — hipoteza dotyczy wyłącznie transfer scenario (black-box attacker z modelem Lee 2023)
  • Luka: Lee 2023 testuje wyłącznie ResNet-based detektory; żadna publikacja nie testowała CLIP nawet w transfer scenario
  • Eksperyment: EXP-3 — CLIP vs ResNet na LogoSENSE + GAN/diffusion samples (transfer) + opcjonalnie: CLIP-targeted PGD jako adaptive baseline
  • Metryki: evasion rate (%) przy ataku; top-1 recall logo matching
  • Próg sukcesu: CLIP evasion < 40% (transfer), ResNet evasion > 60%
  • Ryzyko: średnie — jeśli transfer attacks silnie generalizują, PGD verifier (H2) kompensuje

H2 — PGD adversarial training redukuje evasion rate

Fine-tuned ViT z PGD adversarial training (ε=8/255, k=40) + augmentacją GAN/diffusion logos osiąga evasion rate < 25% dla ataków A1-bb (GAN) i A2 (diffusion), redukując evasion z > 60% (baseline ViT bez hardeningu) do < 25%.

  • Uzasadnienie liczbowe:
    • PhishIntention (Liu 2022) Table 7: gradient masking redukuje I-FGSM accuracy drop 0.95→0 (brak redukcji dla I-FGSM bez defense), ale BPDA bypass: CRP clasifier drop ↓0.95→↓0.07 z obroną
    • Madry 2018: PGD training standardowy — na ImageNet/CIFAR czyści ~3-5pp clean accuracy przy znaczącej redukcji evasion
    • Różnica: PhishIntention używa gradient masking (słaba, łatwa do bypass przez BPDA); my używamy PGD training (certifiably stronger)
    • PhishOracle pokazuje że gradient masking (PhishIntention) nie wystarczy — evasion rate pozostaje wysoki
  • Kontr-argument: Catastrophic forgetting — hardening może zaszkodzić clean accuracy
  • Eksperyment: EXP-3 — ViT PGD-hardened vs ViT bez hardeningu vs ResNet-50 bez hardeningu
  • Metryki: evasion rate per attack class; clean top-1 accuracy
  • Próg sukcesu: evasion < 25%; clean accuracy degradacja < 5pp
  • Ryzyko: niskie dla PGD (dobrze udokumentowane). Średnie dla augmentacji.

H3 — DOM/CSS/JS analysis wykrywa delayed rendering bez screenshotów

Statyczna analiza DOM/CSS/JS (M4) wykrywa delayed rendering attacks (Yuan 2026) z ≥ 80% recall i ≤ 15% FPR na syntetycznym zbiorze testowym, podczas gdy single-screenshot defense (Yuan 2026 PoC) ma 0% recall dla ataków z delay > 2000ms.

  • Uzasadnienie liczbowe:
    • Yuan 2026 §5.2.1: Curtain Effect → ASR=100% dla PhishIntention i PhishPedia (logo niewidoczne przy capture)
    • Yuan 2026 §5.2.3: Kombinacja curtain+pixelation → ASR=100% dla PhishIntention, PhishPedia, PhishLLM; ~50% dla VisualPhishNet
    • Yuan 2026 implementacja: atak używa CSS clip-path: inset() i JS PhishMe module — sygnały ataku są widoczne statycznie w HTML/CSS/JS PRZED renderowaniem
    • Yuan 2026 Literature: 20/24 prac nie mierzy czasu capture; tylko 3 podają ~2s (za krótko vs avg 7.2s ładowania)
    • Kluczowy insight: clip-path: inset(0, 0, 100%) + timer = logo niewidoczne przez N sekund → detekcja statyczna możliwa!
  • Luka: nikt nie analizuje HTML/CSS/JS statycznie pod kątem timing attacks — jedyna obrona to 1 dodatkowy screenshot (Yuan PoC)
  • Uwaga na adaptive attacker: atakujący który wie o M4 może obejść regexowe sygnatury przez minifikację JS (webpack), base64-encoded strings lub CSS-in-JS. Zakres obrony: nieopakowane ataki klasy Yuan 2026 (bez obfuskacji). Sekcja Limitations w papierze musi to opisywać explicite.
  • Eksperyment: EXP-4 — ≥ 1,000 stron (200+ per delay class): delay 0ms, 500ms, 1s, 2s, 5s, 10s + JS worker + obfuskowana wersja jako upper-bound test
  • Metryki: recall per delay class; FPR na legalnych stronach z legalnymi delays
  • Próg sukcesu: recall ≥ 80% dla delay ≤ 5s (nieopakowane); FPR ≤ 15%
  • Uwaga FPR: FPR ≤ 15% dla M4 w izolacji jest niespójne z celem H0 FPR ≤ 5% dla systemu. M4 jest komponentem — jego wysoki FPR musi być kompensowany przez fuzję z M1/M2/M3.
  • Ryzyko: wysokie dla JS worker/ServiceWorker evasion i obfuskacji; claim zawężony do nieopakowanych ataków

H4 — Luki pokrycia marek: fintech i payment gateways

Istniejące systemy (PhishIntention, KnowPhish) mają ≥ 20 punktów procentowych niższy recall dla phishing stron impersonujących Tier 2 (payment gateways: PayPal, Stripe, Revolut, BLIK) i Tier 3 (fintech: Klarna, N26, Monzo) w porównaniu do Tier 1 (banki tradycyjne), na zbiorze Ji & Kim 2025.

  • Uzasadnienie liczbowe:
    • KnowPhish (Li 2024): recall=86.90% ogółem; ale error analysis (Section 8.1) wskazuje “Bank Promerica, Minnesota Unemployment Insurance… not even included in Wikidata”
    • KnowPhish BKB z Wikidata + Whois: neobanki (N26 founded 2013, Klarna 2005) mogą być słabiej reprezentowane niż tradycyjne banki
    • KnowPhish Field Study (Singapore): DBS Bank (Tier 1 bank) wykryty poprawnie; brak danych o PayPal/Stripe precision
    • PhishIntention: 277 brands w reference list — lista z 2021, fintech underrepresented
  • Luka: nikt nie mierzył brand-level recall breakdown dla financial services tiers
  • Eksperyment: EXP-6 — manualna klasyfikacja 500-1000 stron Ji & Kim 2025 per brand tier
  • Metryki: recall per brand tier (Tier 1/2/3/4) per system
  • Próg sukcesu: gap ≥ 20pp między Tier 1 a Tier 2/3 dla PhishIntention/KnowPhish
  • Ryzyko: niskie konceptualnie; Ji & Kim 2025 może mieć mało fintech examples

H5 — CLIP osiąga porównywalną jakość do MLLM przy 10× niższej latencji

CLIP ViT-B/32 (zero-shot brand matching) osiąga top-1 brand accuracy w ciągu 5 punktów procentowych od Lee et al. 2024 MLLM (cloud API), przy latencji 80–150ms vs 800ms–3s dla cloud MLLM i 200–500ms dla lokalnego MLLM (Qwen3-27B), czyniąc CLIP jedynym podejściem praktycznym dla browser extension deployment (budżet < 500ms).

  • Uzasadnienie liczbowe:
    • KPD+KnowPhish: 2.02s/sample (Li 2024, Table 2) — LLM query overhead; za wolno dla realtime extension
    • PhishIntention (clean visual): 0.28s/sample — szybki, ale tylko 33% recall
    • Lee et al. MLLM (2024): cloud API (Claude/GPT-4V) round-trip: szacowany 800ms–3s
    • CLIP ViT-B/32: benchmark 40ms na CPU, ~10ms na GPU → realistyczne 80–150ms z I/O
    • Lokalny MLLM (Qwen3-6-27B dostępny): inference na GPU ~200–500ms — pomiędzy CLIP a cloud API; do zmierzenia w EXP-7
  • Kluczowe doprecyzowanie: H5 porównuje trzy punkty, nie dwa:
    1. CLIP (lokalny, ~80–150ms)
    2. Lokalny MLLM — Qwen3-6-27B (lokalny, ~200–500ms) — nowe, użyj dostępnych modeli
    3. Cloud MLLM — Lee 2024 API (cloud, 800ms–3s)
    • Claim: CLIP jest najszybszy przy akceptowalnej accuracy; lokalny MLLM to middle ground; cloud MLLM nierealistyczny dla extension
  • Luka: Lee 2024 nie mierzyli latencji; żadna praca nie porównuje CLIP vs lokalny MLLM dla brand matching w phishingu — to unikalny wynik
  • Eksperyment: EXP-2 (brand matching accuracy) + EXP-7 (latency benchmark wszystkich trzech)
  • Metryki: top-1 accuracy; p50/p95 latency per approach; (opcjonalnie) cost per 1000 queries
  • Próg sukcesu: accuracy gap CLIP vs MLLM ≤ 5pp; CLIP latency < 200ms; lokalny MLLM < 500ms; cloud MLLM > 500ms
  • Ryzyko: średnie — lokalny MLLM może być lepszy dla long-tail brands; to zmienia claim (CLIP jako fast-path, MLLM jako slow-path resolver)

H6 — Fuzja wielomodalna poprawia F1 względem najlepszego modułu solo

End-to-end system (M1+M2+M3+M4) osiąga ≥ 5 punktów procentowych wyższy F1 niż najlepszy pojedynczy moduł (M2 solo) na Ji & Kim 2025, przy FPR @ 95% TPR ≤ 5%.

  • Uzasadnienie liczbowe:
    • KnowPhish (Li 2024) potwierdza fuzję: KPD (visual LBE + text TBE) F1=92.05% vs Phishpedia+KnowPhish F1=83.67% (+8.38pp) — fuzja text+visual wyraźnie pomaga
    • PhishIntention (Liu 2022): fuzja CRP detection + brand detection = recall 90% @ FPR=10⁻³ vs Phishpedia 45% @ tej samej FPR
    • Każdy moduł ma inne słabe strony: M2 podatny na adversarial logos, M1 podatny na URL obfuscation, M3 podatny na HTML cloaking, M4 unikalne (timing)
  • Luka: istniejące prace robią ablation na zbalansowanych zbiorach; brak na realistic imbalanced (79:1)
  • Eksperyment: EXP-5 ablation — M1, M1+M2, M1+M2+M3, full system
  • Metryki: F1, recall, precision, FPR @ 95% TPR per wariant
  • Próg sukcesu: full system F1 ≥ M2-solo F1 + 5pp
  • Ryzyko: niskie — fuzja konsekwentnie pomaga w literaturze (+8pp w KnowPhish)

H7 — Adversarial hardening nie degraduje clean accuracy powyżej akceptowalnego progu

FinPhishGuard (z PGD hardeningiem i augmentacją) traci ≤ 5 punktów procentowych clean F1 względem wersji bez hardeningu, co jest akceptowalnym trade-off biorąc pod uwagę ≥ 25-punktowy zysk recall pod atakami.

  • Uzasadnienie liczbowe:
    • PhishIntention (Liu 2022) Table 7: gradient masking z defense — CRP classifier accuracy: 0.95 oryginał, drop ~0.07 pod BPDA (z obroną) vs drop 0.95 bez obrony (I-FGSM) — masking nie niszczy clean accuracy, ale nie chroni dobrze
    • Madry 2018: PGD training koszt ~3-5pp clean accuracy na standardowych CV benchmarkach
    • KnowPhish Text-to-Image defense (Li 2024): brand accuracy 5%→60% (obrona tekstowa), bez wpływu na clean: baseline 81% ≈ po obronie dla non-attacked samples
    • Cel: PGD hardening z regularyzacją → ≤5pp degradacja clean F1
  • Eksperyment: EXP-3 clean accuracy subset porównanie przed/po hardeningu
  • Metryki: clean F1, clean top-1 accuracy na Ji & Kim 2025 (bez ataków)
  • Próg sukcesu: degradacja ≤ 5pp (akceptowalne); > 10pp = wymaga review

Mapa hipotez → eksperymenty

HipotezaEksperymentDatasetModułKluczowa liczba z literatury
H0 (główna)EXP-5 + EXP-3Ji & Kim 2025 + adversarialFull systemKPD SOTA=86.90% clean; degradacja pod atakami: TBD empirycznie (analogia: Phishpedia −42pp)
H1 (CLIP naturalnie odporny)EXP-3LogoSENSE + GAN/diffusionM2b CLIPPhishpedia −42pp pod PhishOracle; CLIP nieewaluowane
H2 (PGD hardening)EXP-3LogoSENSE + adversarialM2c verifierGradient masking (Liu 2022) niewystarczające (BPDA bypass)
H3 (DOM timing)EXP-4Syntetyczny (Yuan repro)M4Yuan 2026: 100%→0% detection
H4 (brand coverage gaps)EXP-6Ji & Kim 2025 subsetFull systemKnowPhish error: neobanki poza Wikidata
H5 (CLIP vs MLLM)EXP-2 + EXP-7LogoSENSEM2bKPD 2.02s; Lee MLLM ~800ms-3s; CLIP ~80-150ms
H6 (fuzja > solo)EXP-5 ablationJi & Kim 2025All modulesKnowPhish: text+visual fusion +8pp vs visual-only
H7 (clean accuracy trade-off)EXP-3 clean subsetJi & Kim 2025 (clean)M2cMadry 2018: ~3-5pp trade-off standardowy

Kolejność weryfikacji (od najłatwiejszej)

Tydzień 1:     Sprawdzenie dostępności ataków: Lee 2023 GAN (kontakt z autorami),
               LogoMorph kod (GitHub Hao 2024), LogoSENSE download + format weryfikacja
               → BLOKUJE EXP-3; ustalić PRZED implementacją

Tydzień 2-3:   H1 — CLIP zero-shot na LogoSENSE (implementacja prosta)
               H5 — CLIP vs lokalny Qwen latency (zero implementacji — masz dostęp)

Tydzień 3-4:   H3 — DOM timing M4a static (implementacja bez ML, ~2 tygodnie)
               H4 — Brand breakdown (manualne labeling ~500 stron Ji & Kim 2025)
               ⚠️ EXP-6 wymaga 2-3 tygodnie + druga osoba do interrater reliability

Tydzień 4-7:   H2 — PGD hardening (najdłuższy trening; zależy od dostępności GAN ataków)

Tydzień 7-8:   H6 — Ablation (po zbudowaniu M1+M2+M3+M4)
               H7 — Clean accuracy check (subset EXP-3)

Tydzień 8-9:   H0 — Główna hipoteza (wszystkie moduły gotowe)
               ⚠️ Deduplication Phishpedia train ↔ Ji & Kim 2025 test (URL-level check)
               ⚠️ Uzupełnić benign dataset (≥5,000 z Alexa top-10k)

Łączny realistyczny czas: 10-12 tygodni (nie 8 jak wcześniej), zakładając równoległą pracę.


Scenariusze falsyfikacji i plan B

HipotezaJeśli obalonaPlan B
H1CLIP podatny na GAN logosGłówna teza to H2 (PGD hardening) — CLIP jako szybki pre-filter
H2Hardening niszczy clean accuracyZmniejsz ε (4/255), mniej kroków (k=10)
H3DOM static za słaby (JS workers)Rozszerz o resource timing API (M4b); lub węższy claim
H4Ji & Kim 2025 bez fintech brandsRozbuduj dataset o PhishTank filtered na fintech keywords
H5MLLM znacznie lepszy (gap > 10pp)Zmień claim: “CLIP jako fast-path, MLLM jako slow-path resolver”
H6Fuzja nie pomagaZbadaj korelacje modułów; wyraportuj dlaczego (też jest wynikiem)
H0System nie bije wszystkich baseline’ówZawęź claim do konkretnych klas ataków (H1+H2 wystarczą na paper)