NIDS benchmark integrity

Audit the benchmarkbehind the model.

IDS²Eval audits network-intrusion datasets and evaluation conditions before classifier benchmarking.

IDS²Eval, two readings.
IDS²Eval=Intrusion Detection System Evaluation×Intrusion Data Set Evaluation
Audit the dataset first, then benchmark the IDS model under the same recorded workflow.

Check duplication, label conflicts, shortcut features, split leakage, temporal artefacts and known dataset issues. Re-audit after configured deduplication, run the selected stress checks, benchmark classifiers, and keep the run artifacts.

AGPL-3.0-only free softwareLocal dashboardCSV · Parquet · .txt · ZIPCitable scorecards
◇ 28 AUDIT CHECKS
⌁ FALSIFY
✓ PRESERVE
28audit checks19 enabled + 9 opt-in
14supported classifiersincluding stacking + voting
8real dataset scorecardspublished NIDS benchmarks
3scorecard formatsHTML · Markdown · JSON
MULTIformat inputCSV · Parquet · .txt · ZIP
01 / Why audit first

A high score can still come from a weak benchmark.

A classifier score can reflect attack behaviour, dataset construction, or both. IDS²Eval checks the dataset and split conditions before benchmarking.

01 / CONTAMINATION

Did train and test really stay separate?

Exact duplicates and repeated flow identities can place effectively familiar traffic on both sides of a split; separate near-duplicate checks expose confusable samples.

Checks include duplicate overlap, flow-group leakage and grouped resplit falsification.
02 / SHORTCUTS

Did the model learn a shortcut?

Ports, addresses, timestamps, collection order and a single dominant feature can become class proxies even when the model appears accurate.

Checks include identity columns, temporal leakage, one-rule challenge and feature-AUC ranking.
03 / FRAGILITY

Would the conclusion survive a stronger setup?

Some results move when the split, seed, feature set, scenario or deduplication policy changes. IDS²Eval can measure that sensitivity directly.

Opt-in stress tests include scenario holdout, repeated seeds, cross-capture and result robustness.
02 / Capabilities

One workflow from audit to reproducible result.

IDS²Eval focuses on NIDS dataset integrity, falsification checks, configured preprocessing, classifier benchmarking and the artifacts needed to trace a run.

✓
Audit

28 specific checks

Inspect sample leakage, label conflicts, identity and temporal shortcuts, scenario artefacts, data integrity, provenance and result stability.

⇄
Before / after

Audit both states

When deduplication is enabled, IDS²Eval audits the raw split, deduplicates it, then reruns checks that depend on row content. Structural checks are reused.

⌁
Falsify

Test stronger setups

Grouped resplits and opt-in stress checks compare results across stronger split, seed, scenario and feature-set conditions.

⬡
Benchmark

14 classifier registry

Run binary and optional attack-type benchmarks across configured scaling and sampling strategies, with per-class metrics and timing.

→
Recommend

Config fixes where supported

Checks with a defined config-level remedy can generate a patch. Other findings remain review items with their recorded details.

≣
Preserve

Citable run artifacts

Keep scorecards, benchmark tables, fingerprints, environment details, resolved config and machine-readable evidence under a fresh run directory.

03 / Shipped example

A dataset issue can change the benchmark.

The shipped UNSW-NB15 scorecard reports 42.38% feature-space duplication in the configured training split before deduplication. The same run records the post-deduplication state.

Before configured cleanup

42.38%

Training feature-space duplication was flagged in the shipped validation run.

The scorecard records the condition that produced the benchmark result.

Duplicate evidence

Raw training data42.38% duplicate
After configured deduplication0.00% duplicate

The run keeps both audit states alongside the deduplication statistics.

The dataset distribution moved too

~2:1class balance before
→
~1:1class balance after

Deduplication disproportionately affected one class, so the benchmark should be interpreted in light of the changed distribution.

04 / Audit checks

28 checks for specific failure modes.

Each check returns a status (ok, warning, flag, or not applicable when it has no input to test), a summary and details. The scorecard links those findings to the run evidence and lists the checks a run left disabled. Nineteen checks are enabled by default and nine are opt-in.

C01

Duplicate & overlap

Exact feature-space duplicates within and across train/test.

C02

Label conflicts

Identical feature vectors mapped to contradictory labels.

C03

Flow-group leakage

Declared flow identities that appear on both sides of the split; no-ops when no flow-ID columns are configured.

C04

Leakage screen

Fast model importance to expose suspiciously dominant features.

C05

One-rule challenge

A depth-1 tree tests whether one simple rule already explains too much.

C06

Identity columns

Standalone predictive power of declared IP-, port-, MAC- and similar identity columns.

C07

Temporal leakage

When a timestamp column is declared, tests whether time alone acts as a class proxy for collection scenarios.

C08

Grouped resplit

When group columns are available, re-evaluates under a split that blocks session-correlated leakage.

C09

Scenario holdout

When a scenario column is declared, tests generalization with one collection scenario held out.

C10

Result robustness

Compares performance across available split, dedup and feature-set conditions.

C11

Data integrity

Missing labels or feature values, constant or near-constant features, and infinite values.

C12

Known issues & fingerprints

Curated dataset facts and feature-extractor signatures with documented defects.

05 / Workflow

One config, one recorded run.

The CLI and local dashboard use the same core pipeline. The dashboard opens with a pre-filled starter config.

01

Load & validate

Load CSV, Parquet, CSV-formatted .txt, compressed CSV, or a named CSV/Parquet member from ZIP. Then validate the schema and fingerprint the data.

02

Audit raw data

Run enabled checks before deduplication and save the untouched evidence.

03

Apply configured preprocessing

Deduplicate when enabled. Then rerun data-dependent checks and reuse structural findings.

04

Benchmark classifiers

Run the configured binary and optional attack-type benchmarks across the selected scaling and sampling strategies.

05

Preserve

Write scorecards, benchmark detail, fingerprints, environment and run status.

06 / Local dashboard

Inspect runs in the local dashboard.

Browse datasets and runs, open check evidence, apply supported recommendation patches to a new config, compare datasets, view classifier results, and inspect provenance and scorecards.

IDS²Eval
DatasetsRunsEvidenceBenchmarkProvenanceScorecard
Dataset portfolio
Latest audited run for each dataset
8datasets
28checks
14classifiers
1local UI
DatasetRowsVerdictEvidenceAction
UNSW-NB15real dataREVIEWbefore / afterOpen run
CIC-IDS2017real dataREVIEWscorecardOpen run
CSE-CIC-IDS2018real dataREVIEWscorecardOpen run
BoT-IoTreal dataREVIEWscorecardOpen run
07 / Benchmarking

Benchmark after the evaluation conditions are visible.

The registry contains 14 supported classifiers, including stacking and voting ensembles. Runs can include binary detection and, when configured, attack-type classification, with accuracy, weighted F1, macro F1, AUC, training time, inference time and per-class metrics.

RandomForestXGBoostDecisionTreeNaiveBayesLogisticRegressionKNNSVMLDAStackingVotingExtraTreesHistGradientBoostingAdaBoostMLP

Fold-local preprocessing when tuning

When tuning is enabled, scaling and sampling stay inside the imbalanced-learn pipeline passed to GridSearchCV, so they are fitted independently inside each CV fold.

Evidence beyond one metric

Benchmark outputs include confusion matrices, per-class precision/recall/F1, feature importance where supported, best hyperparameters when tuning runs, and class distributions before/after sampling.

08 / Validation portfolio

Eight shipped scorecards from real NIDS datasets.

The repository includes scorecards produced from real data for eight published NIDS datasets. They cover classic connection records, modern flow datasets, IoT traffic and DDoS-focused corpora.

01UNSW-NB15VALIDATED
02NSL-KDDVALIDATED
03CIC-IDS2017VALIDATED
04CSE-CIC-IDS2018VALIDATED
05CICDDoS2019VALIDATED
06ToN-IoTVALIDATED
07BoT-IoTVALIDATED
08CIC-IoT2023VALIDATED
09 / Output & provenance

A result you can inspect, cite and reproduce.

Each run gets a fresh directory. Human-readable scorecards sit beside machine-readable findings, benchmark detail, configuration, environment and content fingerprints so the result can be traced back to the data and decisions that produced it.

# shipped example: examples/unsw-nb15-scorecard/scorecard.json
# condensed below for the marketing view

[audit:before]
dedup_check ............... FLAG  74,301 train duplicates (42.38%)
label_conflict_check ...... FLAG  1,758 rows in conflicting vectors
row_order_leakage_check ... FLAG
known_issue_lookup ........ WARN

[dedup]
train 175,341 → 101,040
test   82,332 → 52,644

[audit:after]
dedup_check ............... OK    0.00%

[scorecard]
REVIEW REQUIRED · 9 ok · 2 warnings · 1 flag · 7 not applicable
SCORECARD.html / .md / .jsonCitable audit rollup with before/after evidence and final verdict.
benchmark_results.csvScalar metrics by stage, scaling, sampling and classifier.
benchmark_details.jsonConfusion matrices, per-class report, feature importance and tuning detail.
per_class_metrics.csvFlat precision, recall, F1 and support for each class.
dataset_fingerprint.jsonRow/feature counts, class distribution, loaded schema and content/source hashes.
environment + resolved configTool version, git commit, package versions and fully resolved run settings.
10 / Software freedom

Free, open and inspectable.

IDS²Eval is AGPL-3.0-only free software. The licence permits use, study, modification and redistribution, including commercial use, subject to its terms. Modified versions offered over a network remain subject to the AGPL source-sharing requirements.

usestudymodifyredistributecommercial use permittedAGPL-3.0-only

Run IDS²Eval on your own dataset.

Review the audit findings, benchmark under the recorded configuration, and keep the artifacts from the run.