VERA-IDS is a validity-aware evaluation framework for two-stage machine-learning
intrusion detection. Release v2026.08 provides package-local experiment logic,
compact aggregate evidence, corrected Protocol A metrics, support-audited
Protocol B evaluation, tests, and a repository-edition thesis PDF.
Repository: https://github.com/AFR0011/VERA-IDS Release: https://github.com/AFR0011/VERA-IDS/releases/tag/v2026.08 Thesis PDF: https://github.com/AFR0011/VERA-IDS/releases/download/v2026.08/VERA-IDS-Thesis.pdf Protocol A correction: PROTOCOL_A_CORRECTION.md Asset hashes and page counts: release/ASSET_MANIFEST.json
- Protocol A: closed-set stratified evaluation. The primary system macro-F1
averages only labels with genuine ground-truth support. Predictions of
Unknownremain errors for their supported true classes. - Protocol B: support-audited leave-one-attack-family-out evaluation.
Unknownremains in the metric label set because valid folds contain true-Unknown rows. - UNSW-NB15 Protocol B: retained only as an invalid diagnostic; zero benign validation/test support makes it ineligible for comparison or positive claims.
- Threshold experiments: the broad exploratory grid and the validation-selected rejection policy are separate lanes. Neither is universally canonical.
- Raw datasets, prepared rows, predictions, and approximately 63.9 GB of historical models are not distributed.
The release contains 136 path-free aggregate confusion matrices with original source hashes. Recompute the primary and historical metrics without data or models:
python scripts/recompute_protocol_a_metrics.py --check
python scripts/verify_manifests.pyTwo exact release gates are CICIDS2017 RF strict 0.818902771736530 and
CICIoT2023 RF strict 0.897154513910465. See the correction supplement for the
complete definition, corrected tables, provenance, and interpretation.
Python 3.12 is required. The lock targets portable CPU verification on Windows and Linux.
uv sync --locked --python 3.12 --extra testThe historical experiment profile was Windows 11, Python 3.12.10, RTX 4090, scikit-learn 1.8.0, XGBoost 3.2.0, LightGBM 4.6.0, and CatBoost 1.2.10. It is documented provenance, not a claim that the GPU experiments were rerun for this release. See REPRODUCIBILITY.md.
All commands are implemented inside the installed package and support
side-effect-free dry runs plus bounded deterministic --synthetic workflows.
python scripts/01_audit_and_prepare.py --dry-run
python scripts/02_run_protocol_a_two_stage.py --dry-run
python scripts/03_run_protocol_a_flat_baseline.py --dry-run
python scripts/04_audit_protocol_b_support.py --dry-run
python scripts/04b_analyze_protocol_b_support_sensitivity.py --dry-run
python scripts/05_run_protocol_b_loao.py --dry-run
python scripts/06_run_open_set_rejectors.py --lane validation-selected --dry-run
python scripts/06_run_open_set_rejectors.py --lane exploratory-grid --dry-run
python scripts/07_run_external_stress_tests.py --dry-run
python scripts/08_build_statistics.py --dry-run
python scripts/09_build_paper_pack.py --dry-run
python scripts/10_run_seed_reliability.py --dry-run
python scripts/11_run_reference_framework_eval.py --dry-run
python scripts/11b_build_reference_framework_comparison.py --dry-runRun every advertised command in both modes with:
python scripts/verify_cli_workflows.py --allReal experiment runs require benchmark data acquired from its providers. Models are trained by the workflow and are intentionally excluded from Git and the release; downloadable-model reproduction is not claimed.
uv run python -m compileall -q src scripts tests
uv run python -m pytest -p no:cacheprovider
uv run python scripts/verify_cli_workflows.py --all
uv run python scripts/recompute_protocol_a_metrics.py --check
uv run python scripts/verify_manifests.py
uv run python scripts/check_links.py
uv run python scripts/smoke_test.py
uv run python scripts/release_audit.py scan .GitHub Actions repeats locked installation, heavy imports, compilation, tests, CLI dry runs, correction/manifest checks, link checks, and release scanning on Windows and Ubuntu.
VERA-IDS-Thesis.pdf is attached to the GitHub release under CC BY 4.0. It has a
repository-edition cover stating that GitHub is not the institutional record and
linking to the Protocol A correction supplement. The source DOCX is not
published, tracked, or modified by this repository workflow.
Copyright © 2026 Ali Farrokhnejad.
- Original software, scripts, tests, and configuration logic: MIT (
LICENSE). - Original documentation, figures, aggregate evidence/results, correction
supplement, and release manuscript PDF: CC BY 4.0 (
CONTENT_LICENSE.md). - Third-party datasets and dependencies: upstream terms; not redistributed.
See THIRD_PARTY_NOTICES.md and DATASETS.md.