https://github.com/structured-world/supplicant-rs
Pure Rust WPA supplicant: WPA2/WPA3, EAP, 802.1X. Memory-safe replacement for wpa_supplicant.
https://github.com/structured-world/supplicant-rs
802-1x eap memory-safety network-security pure-rust rust supplicant wifi wpa wpa3
Last synced: 5 days ago
JSON representation
Pure Rust WPA supplicant: WPA2/WPA3, EAP, 802.1X. Memory-safe replacement for wpa_supplicant.
- Host: GitHub
- URL: https://github.com/structured-world/supplicant-rs
- Owner: structured-world
- License: apache-2.0
- Created: 2026-03-15T16:45:14.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2026-04-14T22:37:12.000Z (about 2 months ago)
- Last Synced: 2026-04-15T00:29:44.969Z (about 2 months ago)
- Topics: 802-1x, eap, memory-safety, network-security, pure-rust, rust, supplicant, wifi, wpa, wpa3
- Language: Rust
- Size: 25.4 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# supplicant-rs
Pure Rust WPA supplicant. Memory-safe replacement for wpa_supplicant.
**WPA2/WPA3, EAP-TLS, 802.1X — no C, no unsafe, no CVEs.**
## Features
- **WPA2** — 4-way handshake, PMKSA caching
- **WPA3-SAE** — Simultaneous Authentication of Equals (dragonfly)
- **EAP** — EAP-TLS (via rustls), EAP-TTLS, EAP-PEAP
- **802.1X** — EAPOL state machine
- **PMF** — Protected Management Frames
- **nl80211** — Linux kernel Wi-Fi interface via netlink
## Why?
wpa_supplicant is ~500K lines of C running as root on every Linux device with Wi-Fi. It parses complex (and often malicious) protocol frames. Memory corruption vulnerabilities like KRACK (CVE-2017-13077) affect billions of devices.
`supplicant-rs` is a ground-up Rust rewrite. Memory-safe by construction. No `unsafe` in protocol handling.
## Status
**Early development.** Not functional yet. Seeking Prossimo/ISRG funding for full implementation.
## License
Apache-2.0