Skip to content

Latest commit

 

History

History
85 lines (58 loc) · 5.27 KB

File metadata and controls

85 lines (58 loc) · 5.27 KB

Vestrix — Project Status

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.


✅ Completed

1. mTLS Collector Service

  • asyncio-based TCP/TLS ingest service
  • Certificate CN allow-list for node authentication
  • Anti-replay counters implemented

2. Forensic Hash-Chain Logger

  • Ed25519 signing of log entries
  • filelock-based concurrency safety
  • OpenTimestamps anchor stub in place
  • Normative CHAIN_FORMAT.md spec 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

3. Rust Verifier CLI

  • Independent reimplementation from the CHAIN_FORMAT.md spec (deliberately shares no code with the Python collector/logger — this is a forensic integrity requirement, not just a design preference)
  • Passes cargo test and clippy

4. Wazuh Decoder/Rules + OCSF Mapper

  • 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

5. Documentation & Promotion Groundwork

  • Full promotional README section drafted: competitive gap table, text architecture diagram, component status table, quick-links placeholders
  • docs/threat-model.md ATT&CK/CAPEC mappings audited against MITRE's live catalogs; ICS-only mappings are explicitly conditional and the incorrect T1200 mapping was removed
  • docs/DPIA.md added 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 responsibility
  • ml/benchmarks/BENCHMARKS.md expanded 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/

⏳ Not Started / Blocked

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)

Immediate Next Steps (priority order)

  1. Sign off the chain-v1 float representation decision (retain decimal; reserve binary64 hex for a future format version)
  2. Submit Wazuh decoder/rules upstream + PR into relevant awesome-lists (low-effort, high-return — doesn't require firmware)
  3. Once ESP32 hardware arrives: begin firmware development (CSI capture via ESP-IDF)
  4. Tag v0.1 once the roadmap exit criterion is met: a reliable CSI stream from at least one node reaches the collector

Reference

Full research context and detailed rationale live in:


Milestone — August 22, 2026: First Verified All-Green Release Gate

  • 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 b0af5bfa6af456697bb0108981f11ddcb2c96c26 in 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.