Weryfikacja gotowości danych — FinPhishGuard
Data: maj 2026 | Status: gotowe do implementacji
Podsumowanie
| Moduł | Dane wymagane | Dostępność | Ocena |
|---|---|---|---|
| M1 — URL Analyzer | PhiUSIIL 235k URL | ✅ Pobrano | ✅ DONE — model wytrenowany (F1=0.998) |
| M2b — CLIP Brand Matching | Targetlist (181 marek) + CLIP pretrained | ✅ Pobrano | ✅ Można zacząć jutro |
| M2c — Adversarial Hardening | Logo crops + PyTorch autograd (PGD) | ✅ Generowane programistycznie | ✅ Bez zewnętrznych danych |
| M4 — DOM Timing Analyzer | Syntetyczne strony HTML z CSS/JS | ✅ Generowane programistycznie | ✅ Bez zewnętrznych danych |
| M3 — NER Content | HTML z APWG (451k stron) | ✅ Pobrano (152 GB) | ✅ Można zacząć |
| M2a — Logo Localization | Phishpedia Labelled Logo (30k + BBox) | ⬇️ Do pobrania (~16 GB) | ⚠️ Ryzyko niskie — dane publiczne |
| EXP-5 — End-to-end benchmark | APWG EvalPhishing (451k stron) | ✅ Pobrano (152 GB, 25 miesięcy) | ✅ Unikalny zasób |
| EXP-3 — GAN attack transfer | Kod GAN Lee et al. 2023 | ⚠️ Nie potwierdzono dostępności kodu | ⚠️ Plan B: PGD white-box |
Datasety — pełna inwentaryzacja
Pobrane i gotowe do użycia
| Dataset | Rozmiar | Ścieżka lokalna | Zastosowanie |
|---|---|---|---|
| PhiUSIIL | 54 MB CSV, 235 795 URL | data/.../phiusiil/ | M1 ✅ done |
| Phishpedia 30k benchmark | 18 GB, 29 496 stron (HTML+PNG) | data/.../phishpedia/phishpedia_30k_benchmark.zip | M2/M3 training |
| Phishpedia Targetlist | 246 MB, 181 marek (loga PNG + HTML + tfidf) | data/.../phishpedia-targetlist-official/targetlist_fit_copy_half_rename/ | Brand KB seed ← kluczowe |
| expand_targetlist | ~500 MB, 277 marek × logo PNG | data/.../phishpedia/models/expand_targetlist.zip | Brand KB rozszerzenie |
| Phishpedia models | rcnn_bet365.pth (300 MB) + resnetv2.pth.tar (150 MB) | data/.../phishpedia/models/ | Baseline reproductions |
| domain_map.pkl + faster_rcnn.yaml | 211 KB + 2 KB | data/.../phishpedia/models/ | Baseline reproductions |
| LogoSENSE | 22 MB (modele SVM + wyniki pre-computed) | data/.../gdrive-logosense/ | M2a HOG+SVM baseline |
| Tranco top-1M | ~10 MB CSV | data/.../alexa-benign/top-1m.csv | Benign URL seed |
| APWG EvalPhishing | 152 GB skompresowane, 451 514 stron, 25 miesięcy | data/.../evalphishing/data/apwg451514/ | Główny benchmark |
Modele pretrenowane (dostępne open-source, bez pobierania)
| Model | Źródło | Zastosowanie |
|---|---|---|
| CLIP ViT-B/32 | OpenAI (HuggingFace) | M2b — zero-shot brand matching |
| CLIP ViT-B/16 | OpenAI (HuggingFace) | M2c — adversarial fine-tuning |
| LightGBM | pip package | M1 — URL classifier |
| Qwen3 / Gemma | HuggingFace | M3 — NER zero-shot |
Do pobrania (nie blokuje startu)
| Dataset | Rozmiar | Link | Kiedy potrzebny |
|---|---|---|---|
| Phishpedia Labelled Logo (BBox) | ~16 GB | GDrive, strona projektu | M2a — miesiąc 2 |
| Phishpedia 5-Brand (BoA/Chase/PayPal/DHL/MS) | ~2 GB | GDrive, strona projektu | EXP-6 — miesiąc 5 |
| PhishBlitz (2025, 13.8k stron) | kilka GB | OneDrive IIT Dharwad | Dodatkowy test set |
Ocena feasibility per eksperyment
| Eksperyment | Co weryfikuje | Dane gotowe? | Estymacja |
|---|---|---|---|
| EXP-1 — Logo detection mAP | M2a (Deformable DETR) | ⚠️ Czeka na Labelled Logo BBox | 2 tygodnie po pobraniu |
| EXP-2 — CLIP zero-shot brand matching | M2b | ✅ Targetlist + APWG HTML | 1–2 tygodnie |
| EXP-3 — Adversarial evasion (GAN + PGD + diffusion) | M2c, H1, H2 | ✅ PGD: tylko PyTorch; GAN: ryzyko dostępności kodu | 4–6 tygodni |
| EXP-4 — DOM timing defense | M4, H3 | ✅ Syntetyczne HTML (generowane) | 2–3 tygodnie |
| EXP-5 — End-to-end na APWG 451k | H0, C3 | ✅ 451 514 stron pobrane | 3–4 tygodnie |
| EXP-6 — Brand breakdown per tier | H4, C4 | ✅ APWG HTML → auto-label z <title> | 2 tygodnie |
| EXP-7 — Latency profiling | C5 | ✅ Runtime measurement | 1 tydzień |
Dlaczego projekt jest feasible
1. Wkład naukowy nie wymaga zbierania nowych danych. Wszystkie eksperymenty operują na istniejących, publicznie dostępnych zbiorach. APWG EvalPhishing (451k stron realnego phishingu, 25 miesięcy) uzyskano bezpośrednio od autorów Ji et al. — to unikalny zasób niedostępny innym grupom bez kontaktu z autorami.
2. Kluczowy model (CLIP) jest pretrenowany. Zero-shot brand matching nie wymaga GPU do trenowania — tylko inference. Fine-tuning M2c (PGD adversarial training ViT-B/16) to ~4–6 tygodni GPU, nie miesiące.
3. Adversarial dataset jest generowany programistycznie. Ataki PGD (EXP-3) generuje PyTorch autograd na logo crops z Phishpedia Targetlist (181 marek, już pobrane). Testbed dla delayed rendering (EXP-4) to kilkadziesiąt linii HTML/CSS — zero zewnętrznych danych.
4. M1 już działa. LightGBM URL classifier wytrenowany na PhiUSIIL: F1=0.998 na zbiorze testowym. Pipeline pierwszego modułu gotowy.
5. Jedyna niepewność zewnętrzna: kod GAN Lee 2023. Plan B (PGD white-box + diffusion transfer) w pełni pokrywa hipotezy H1 i H2. Teza nie jest zagrożona.
Krytyczna ścieżka
Teraz → M2b: CLIP embeddings dla 181 marek (Targetlist gotowy)
Tydzień 1-2 → EXP-2: CLIP zero-shot recall na APWG próbce
Miesiąc 2 → Pobierz Labelled Logo → start M2a (EXP-1)
Miesiąc 3 → M2c: PGD adversarial training (EXP-3)
Miesiąc 4 → M4 DOM timing (EXP-4) + M3 NER
Miesiąc 5-6 → EXP-5 end-to-end, EXP-6 brand breakdown, reprodukcja baseline'ów
Pierwsza konkretna liczba (CLIP recall na APWG) będzie dostępna w ciągu 1–2 tygodni.