Architektura i Eksperymenty

Ostatnia aktualizacja: 2026-05-27


Architektura systemu

Opis ogólny

System wieloetapowej detekcji botów w e-commerce łączący metody heurystyczne, behavioral features oraz GNN na grafie sesji. Główny wkład techniczny: pierwsza publiczna reprodukcja BOTracle z własnym publicznym datasetem oraz nowatorskie zastosowanie window.dataLayer (GA4/GTM events) jako sygnału bezpieczeństwa w czasie rzeczywistym.

Komponenty główne

KomponentOpisTechnologia
M1 – Heuristic FilterUser-agent parsing, request rate, session duration (wstępny filtr)regex, rule-based
M2 – Technical FeaturesIP, window size, HTTP headers, browser fingerprintLightGBM
M3 – Behavioral AnalyzerClick patterns, scroll, mouse movement, navigation graphRF, LSTM
M4 – Session Graph (GNN)Nodes=sessions, edges=IP/UA similarity; fraud propagationGraphSAGE (PyG)
M5 – DataLayer MonitorIntercept window.dataLayer.push(); sekwencja GA4 eventsJavaScript hook, Isolation Forest

Przepływ danych

flowchart TD
    HTTP([HTTP requests]) --> M1[M1 Heuristic Filter]
    M1 -->|rule-based bot| BLOCK([BLOCK])
    M1 --> M2[M2 Technical Features]
    BS([Browser session]) --> M2
    BS --> M3[M3 Behavioral Analyzer]
    M2 --> ENS([Ensemble score])
    M3 --> ENS
    ENS --> M4[M4 GraphSAGE GNN\nSession graph]
    M4 --> NODE([Node classification\nbot / human])
    DL([window.dataLayer events]) --> M5[M5 DataLayer Monitor]
    M5 --> RT([Real-time bot score])
    NODE --> FUSION[Final Fusion\nmajority vote / threshold]
    RT --> FUSION
    FUSION --> DEC([BOT / HUMAN])

Stack technologiczny

WarstwaTechnologiaUzasadnienie
JęzykPython 3.11+ / JavaScriptML pipeline / browser instrumentation
ML frameworkPyTorch Geometric (PyG)GraphSAGE GNN
Classic MLscikit-learn, LightGBMheuristic/tabular features
Graph constructionNetworkXsession graph builder
BrowserJavaScript hookdataLayer interception
Danewłasny 100K sesji + publicznypartnerstwo sklepy e-commerce
Pomiar / evalprecision, recall, AUC, latencjacost-benefit analysis

Eksperymenty

BD-EXP-1: BOTracle Replication — Benchmark Metod Bot Detection na Real Traffic

Status: planned Priorytet: high Powiązany pomysł: BD-1 Dodano: 2026-05-27

Hipoteza: Reimplementacja 3-etapowego pipeline BOTracle (Heuristic → Technical → Behavioral) osiągnie precision/recall ≥ 0.92 na własnym publicznym zbiorze 100K sesji — oraz wykaże, że dodanie GNN (M4 GraphSAGE) poprawia AUC o ≥ 3 punkty procentowe wobec samego etapu behavioral.

Dane:

  • Dataset: własny 100K sesji e-commerce (partnerstwo 1-2 sklepy), ground truth: CAPTCHA + honeypot
  • Podział: 60/20/20 train/val/test (stratified per bot type)
  • Preprocessing: normalizacja timestampów, binowanie request rate, graf sesji (k-NN po IP/UA)

Metoda:

  1. Zebranie 100K sesji z instrumentowanego sklepu (CAPTCHA + honeypot labeling)
  2. Implementacja M1 (heuristic rules), M2 (LightGBM na technical features), M3 (RF/LSTM behavioral)
  3. Implementacja M4: budowanie grafu sesji (nodes=sesje, edges=IP lub UA similarity > threshold) + GraphSAGE
  4. Ablation: M1 only → M1+M2 → M1+M2+M3 → M1+M2+M3+M4 (GNN)
  5. Cost-benefit: precision vs latencja vs compute dla każdego etapu

Modele / Baseline:

ModelOpis
M1 Heuristicrule-based, <1ms
M1+M2 TechnicalLightGBM, <5ms
M1+M2+M3 Behavioralpełny BOTracle, ~50ms
M1+M2+M3+M4 GNNz GraphSAGE, ~100ms
LSTM Sequencewłasny baseline (page views sequence)

Metryki:

  • Główna: AUC (próg sukcesu: ≥0.95 dla pełnego pipeline)
  • Dodatkowe: precision@95%recall, latencja per stage [ms], compute cost [GFLOPS]
  • Test statystyczny: DeLong test (M3 vs M3+GNN, α=0.05)

Wyniki: (do wypełnienia po wykonaniu)

ModelAUC[email protected]Latencja [ms]

Wnioski: (do wypełnienia po wykonaniu)


BD-EXP-2: DataLayer-Based Bot Detection — GA4 Events jako Security Signal

Status: planned Priorytet: high Powiązany pomysł: BD-2 Dodano: 2026-05-27

Hipoteza: Cechy wyekstrahowane z window.dataLayer (GA4 events: sekwencja, timing, diversity produktów) pozwalają wykryć boty z AUC ≥ 0.88 przy latencji <100ms — wykazując, że infrastruktura analityczna (GA4/GTM) może służyć jednocześnie jako real-time security signal bez dodatkowej integracji.

Dane:

  • Dataset: własny 100K sesji e-commerce (50K human, 50K bot — Selenium/Puppeteer)
  • Podział: 70/15/15 train/val/test
  • Preprocessing: parsowanie window.dataLayer eventów, ekstrakcja 15+ cech behawioralnych z event sekwencji

Metoda:

  1. Implementacja JavaScript hook: intercept window.dataLayer.push() → logowanie event sequence
  2. Ekstrakcja cech: time_to_first_action (<2s = bot heuristic), event_count, cart_diversity, form_autofill_speed, missing_scroll_events
  3. Trenowanie modeli: Isolation Forest (anomaly), RF, LightGBM, LSTM na event sekwencji
  4. Porównanie z M3 behavioral features z BD-EXP-1 — czy DataLayer daje addytywną informację?
  5. Pomiar latencji end-to-end (JS hook → inference → decision)

Modele / Baseline:

ModelOpis
Rule-based (time_to_action <2s)prosty heuristic baseline
Isolation Forestunsupervised anomaly
LightGBM (DataLayer features)supervised
LSTM (event sequence)temporal pattern

Metryki:

  • Główna: AUC (próg sukcesu: ≥0.88)
  • Dodatkowe: latencja end-to-end [ms], FPR na ludzkich sesjach, precision@high_recall
  • Test statystyczny: DeLong test (LightGBM DataLayer vs Rule-based, α=0.05)

Wyniki: (do wypełnienia po wykonaniu)

ModelAUCFPR (human)Latencja [ms]

Wnioski: (do wypełnienia po wykonaniu)


Pipeline danych

Dane sesji zbierane przez instrumentację sklepu e-commerce: serwer-side log (nginx + custom middleware) + client-side JavaScript (mouse events, scroll, keystrokes, dataLayer hook). Ground truth: CAPTCHA challenges (rozwiązanie = human) + honeypot traps (kliknięcie = bot) + manual review próbki 5%. Format wyjściowy: CSV per session z timestampami eventów + binary label.

Wymagania techniczne

Środowisko

Python: 3.11+
GPU: opcjonalnie (GraphSAGE szybki na CPU dla 100K sesji)
RAM: min. 8 GB
Dysk: ~5 GB (sesje + grafy)

Kluczowe biblioteki

# requirements-research.txt
torch>=2.0
torch-geometric>=2.4   # GraphSAGE
scikit-learn>=1.3
lightgbm>=4.0
networkx>=3.1
pandas>=2.0

Status eksperymentów

IDTytułStatusPriorytetETAWynik
BD-EXP-1BOTracle replication + GNN benchmarkplannedhigh
BD-EXP-2DataLayer-based bot detectionplannedhigh