v1.0 · Open source · Linux x86_64

Watch the wire.
Catch the lie.

ARP Guardian is a real-time ARP-spoofing detection and reversible mitigation platform. Distributed Rust sensors, a Go correlator, editorial-grade operator console — and an honest coverage badge on every sensor so you know what you're really seeing.

Detect→mitigate p95 ~5 ms [MEASURED] Sensor hot path ~0.9 µs/frame [MEASURED] Lab 4 nodes · VLAN 10
# single-line sensor install on any Linux host
$ curl -fsSL https://your-controller/install-sensor.sh \
    | sudo bash -s -- \
        --controller https://your-controller \
        --token CEE6-4HH6-RK36-2VBD

[install] downloading sensor binary ...        
[install] running enroll ...                   
[install] running 15s coverage check ...
============================================================
Frames seen          : 14482
  unicast to OTHERS  : 10195   ← decisive signal
Unique source MACs   : 10
============================================================
verdict              : FULL coverage  ✓
  Sees unicast between other hosts.
  Likely cause: vSwitch promisc / SPAN port / TAP.
What's inside

Built around what actually catches ARP spoofing.

Three-tier detection

Deterministic baseline checks (Tier 1), bind-flip + protected-IP rules (Tier 2), and entropy / storm anomaly windows (Tier 3). Each tier produces independent evidence so the correlator can rate confidence honestly.

Reversible mitigation

L1 corrective ARP restores the truth binding on every observer; L2 NAC quarantine kicks the attacker off the switch port. Every action has a TTL and a one-click revert.

Honest coverage

Every sensor reports what it actually sees — full / partial / broadcast-only / silent — so you know whether your unicast-dependent rules even run. No silent degradation when SPAN breaks.

Distributed by default

One small host-agent per protected node. No SPAN port required, no managed switch required, works on cloud VPCs where promiscuous mode is forbidden. Centralized SPAN deployment also supported.

Composable dashboards

Pick the widgets that matter to your role — SOC overview, network health, compliance. Layouts persist per browser. Or write your own widget.

Audit-grade trail

Every action by every user — login, role change, policy edit, mitigation — is universal-audited and CSV-exportable. Incident forensics bundles are HMAC-signed.

How it works

From a malicious ARP reply to a mitigated incident, in milliseconds.

attacker (lab-only) ─► ens33 ─► Rust sensor (AF_PACKET, Tier 1/2/3)
                                         │
                                         ▼ detection NDJSON
                                  NATS JetStream
                                         ▼
                       Go correlator (entity graph + multi-evidence)
                                         ▼
                       Mitigation (L0 alert · L1 corrective ARP · L2 NAC)
                                         ▼
                       PostgreSQL ── Go API ── React/TS operator console
                                                  └─► Telegram · SIEM (CEF + ECS)
Download

Pick how you want to install.

Sensor — one-liner install

For any Ubuntu/Debian host. The installer downloads the binary, runs enrollment with a one-time token, and runs a 15-second coverage check so you know what your sensor actually sees.

curl -fsSL https://arpguardian.meirlan.ru/install-sensor.sh \
  | sudo bash -s -- \
      --controller https://YOUR-CONTROLLER \
      --token YOUR-TOKEN
View installer script

Controller

The Go API + embedded React console + Postgres + NATS. Single Docker Compose for the lab; bare-metal / Kubernetes for production.

git clone https://github.com/<org>/arpocalypse-2.0
cd arpocalypse-2.0
make controller-up
Source on GitHub

Sensor binary

Standalone Rust binary. Hand-rolled HMAC-SHA-256, AF_PACKET via libc only, no pcap dependency. ~700 KB.

Download arpg-sensor (Linux x86_64)

Source code

MIT licensed. Rust sensor, Go API + correlator + mitigation, React/TypeScript SPA, Python control tools.

github.com/<org>/arpocalypse-2.0

Documentation

Everything you need to deploy, operate, and audit.

Try it on your network in 10 minutes.

Open the docs and follow the quickstart. Lab requires four Linux hosts (or VMs) on one VLAN. Production is one host-agent per protected node.

Quickstart guide