Forensics-grade, open-source WiFi CSI intrusion detection platform Last updated: August 19, 2026
Note: project renamed from Sentrix → Vestrix after a trademark conflict was found with an active enterprise cybersecurity company (plus other naming collisions). Minor phonetic overlap with "Vectrix" (a cloud/SaaS security scanner) was reviewed and accepted as a low risk. Repository documentation now uses the Vestrix name.
- asyncio-based TCP/TLS ingest service
- Certificate CN allow-list for node authentication
- Anti-replay counters implemented
- Ed25519 signing of log entries
filelock-based concurrency safety- OpenTimestamps anchor stub in place
- Normative
CHAIN_FORMAT.mdspec includes prescriptive binary64 canonicalization, non-finite rejection, rounding boundaries, and a byte-exact worked entry - Cross-language harness proves byte-identical Python/Rust output for 25 binary64 vectors (22 canonical, 3 rejected), including signed zero, subnormals, precision boundaries, and exponent thresholds
- Independent reimplementation from the
CHAIN_FORMAT.mdspec (deliberately shares no code with the Python collector/logger — this is a forensic integrity requirement, not just a design preference) - Passes
cargo testandclippy
- Tested against a live Wazuh manager container (v4.14.5)
- A real decoder naming-collision bug was caught during live testing — not by static review
- A BOM-encoding issue from PowerShell-generated test fixtures was also caught this way
- Full promotional README section drafted: competitive gap table, text architecture diagram, component status table, quick-links placeholders
docs/threat-model.mdATT&CK/CAPEC mappings audited against MITRE's live catalogs; ICS-only mappings are explicitly conditional and the incorrect T1200 mapping was removeddocs/DPIA.mdadded as a GDPR Article 35-aligned operator template, with processing flows, risk assessment, implemented controls, known gaps, and controller responsibilities; deployment-specific completion remains the operator's responsibilityml/benchmarks/BENCHMARKS.mdexpanded into the append-only benchmark template for dataset provenance, leakage checks, per-class metrics, confusion matrices, cross-room/device evaluation, and unflattering results; no real benchmark run exists yet- Duplicate non-goals and initialization documents consolidated under
docs/
| Item | Status | Blocker |
|---|---|---|
| Chain-v1 float representation sign-off | Decision pending | Version 1 retains shortest-round-trip decimal to preserve existing bytes; binary64 hex would require a new format version |
| ESP32 firmware (CSI capture) | Not started | Hardware not yet arrived (one unit on order/en route) |
| Leave-one-room-out / leave-one-device-out validation suite | Not started | Depends on firmware + real CSI data |
| Multi-node zone fusion / localization | Not started (moonshot tier) | Depends on firmware + multiple nodes |
| Labeled intrusion CSI dataset (Zenodo DOI) | Not started | Depends on firmware + collected data |
| Responsible Deployment guide | Not started | The DPIA template covers data-protection assessment, but broader deployment guidance remains separate work |
| Awesome-list PRs | Not started | Highest-return near-term promotion action once repo is demo-ready |
| Wazuh upstream community submission | Not started | Ruleset is tested and likely ready to submit |
| arXiv preprint (hash-chain + SHAP evidentiary design) | Not started | Depends on v1.0-track milestones |
| Black Hat Arsenal / DFRWS submission | Not started | Needs mTLS + forensic logging + SOC integration end-to-end demo (largely done — worth revisiting readiness) |
- Sign off the chain-v1 float representation decision (retain decimal; reserve binary64 hex for a future format version)
- Submit Wazuh decoder/rules upstream + PR into relevant awesome-lists (low-effort, high-return — doesn't require firmware)
- Once ESP32 hardware arrives: begin firmware development (CSI capture via ESP-IDF)
- Tag v0.1 once the roadmap exit criterion is met: a reliable CSI stream from at least one node reaches the collector
Full research context and detailed rationale live in:
docs/RESEARCH.md(prior-art analysis, standards alignment, rigor playbook)docs/INITIALIZATION.md(full architecture/build reference, v0.1 → v1.0 roadmap)
- CI is now a real release gate: Ruff lint, Python tests, Rust tests, Clippy, and Python/Rust float-canonicalization parity all block merging through the required status checks on protected
main. - The first verified Python/Rust float-canonicalization parity result completed with 25/25 vectors passing and 0 divergences at commit
b0af5bfa6af456697bb0108981f11ddcb2c96c26in GitHub Actions run 32570008347. - The Rust test suite passed 14/14 tests and Clippy completed cleanly, independently verified on Linux GitHub Actions rather than inferred from local documentation.