Skip to content

FEINT

Contribution in one sentence: FEINT derives the attacker, adversarial training, a robust-feature model, a poison sanitiser and counterfactual explanations from one declarative attacker-capability schema, measures over 5 seeds (95 % CIs) on four datasets plus a cross-dataset transfer what each derived defence buys against realisable evasion or poisoning, and isolates the schema's share with paired ablations for adversarial training and the sanitiser (Evaluation).

Results dashboard Evaluation Reproduce

FEINT results dashboard: detection rate vs attack budget for every model, CIC-IDS2017

constrained detection at eps=2 (5 seeds, mean [95 % CI]) CIC-IDS2017 UNSW-NB15
XGBoost 0.405 [0.376, 0.433] 0.000 [0.000, 0.000]
FEINT ensemble 0.369 [0.279, 0.459] 0.328 [0.262, 0.394]
FEINT ensemble + adversarial training 0.793 [0.763, 0.823] 0.962 [0.957, 0.968]
XGBoost, robust features only (conditional on the schema) 0.994 [0.993, 0.995] 0.942 [0.935, 0.950]

Trained on corrected CIC-IDS2017 and tested on CSE-CIC-IDS2018, plain XGBoost scores F1 0.000 on the shared attack families (it calls every flow benign); the robust-feature model reaches F1 0.51, mostly on SSH brute force.

Try it in 60 seconds: docker run --rm ghcr.io/rakshit-737/feint-adversarial-ids:latest run --quick --n 2000 --eps 0 1 --no-figures --out /tmp/demo

Lab-only

FEINT perturbs feature vectors; it never crafts, captures or sends packets. See Security.