Awesome Rust Security
Kuratierte Liste großartiger Projekte und Ressourcen rund um Rust und Computersicherheit
Inhaltsverzeichnis
Werkzeuge
Web- und Cloud-Sicherheit
Penetrationstests
- sn0int - OSINT-Framework und Paketmanager
- sniffglue - sicherer, multithread-fähiger Paket-Sniffer
- badtouch - skriptbarer Netzwerk-Authentifizierungs-Cracker
- rshijack - TCP-Verbindungsentführer
- feroxbuster - schnelles, einfaches und rekursives Tool zur Inhaltserkennung
- rustbuster - Web-Fuzzer und Tool zur Inhaltserkennung
- rustscan - Der moderne Port-Scanner
- kepler - NIST-basierter CVE-Nachschlagespeicher und API mit Rust.
- phaser - Automatisierter Angriffsflächen-Mapper und Schwachstellen-Scanner
- pdfrip - Schnelles PDF-Passwort-Knacktool mit häufig verwendeten Passwortformat-Buildern und Wörterbuchangriffen.
- chromepass - Chromepass - Knacken von Chrome-gespeicherten Passwörtern
Autorisierungs- und Authentifizierungsframeworks
- biscuit - delegiertes, dezentrales, fähigkeitenbasiertes Autorisierungstoken
- paseto.rs - PASETO-Rust-Implementierung
- webauthn.rs - WebAuthn-Implementierung in Rust
- aliri - JWT-Authentifizierungs- und OAuth2-Berechtigungsumfangs-Implementierungen für viele Web-Frameworks
- OpenSK - Open-Source-Implementierung von Sicherheitsschlüsseln in Rust
- dacquiri - Attributed Based Access Control (ABAC)-Framework mit Compile-Zeit-Durchsetzung
Cloud und Infrastruktur
- firecracker - sichere und schnelle Mikro-VMs für serverloses Computing
- boringtun - CloudFlare's Rust-Implementierung von WireGuard
- innernet - privates Netzwerk basierend auf WireGuard
- vaultwarden - inoffizielle BitWarden-Implementierung in Rust
Software-Lieferkette
Sichere Frameworks
- adblock-rust - Bravers Rust-basierte Adblock-Engine
- libinjection - Rust-Bindungen an libinjection
- http-desync-guardian - Analysiert HTTP-Anfragen, um Risiken von HTTP-Desync-Angriffen zu minimieren
- ammonia - Reparatur und Sicherung von nicht vertrauenswürdigem HTML
Schwachstellenbewertung
Statische Code-Prüfung
- RustSec - Organisation, die Offenlegung von Schwachstellen für Rust-Pakete unterstützt, prüft Cargo.lock-Dateien auf Abhängigkeiten
- cargo-geiger - erkennt Verwendung von unsicherem Rust
- siderophile - findet ideale Fuzz-Ziele in einer Rust-Codebasis
- cargo-crev - kryptografisch verifizierbare Code-Überprüfung für Cargo
- arch-audit - prüft installierte Arch-Pakete auf Schwachstellen
- ripgrep - rekursives Durchsuchen von Verzeichnissen mit regulären Ausdrücken
- weggli - schnelles und robustes semantisches Suchwerkzeug für C- und C++-Codebasen
- noseyparker - Kommandozeilenprogramm, das Geheimnisse und sensible Informationen in Textdaten und Git-Verlauf findet.
- L3X - KI-gesteuerter statischer Analyzer
Fuzzing
- rust-fuzz - Organisation, die Cargo-Plugins für AFL, libFuzzer und honggfuzz implementiert
- LibAFL - Fuzzer in Rust zusammenstecken
- fuzzcheck.rs - strukturbewusste, prozessinterne, abdeckungsgesteuerte, evolutionäre Fuzzing-Engine für Rust-Funktionen.
- onefuzz - selbst gehostete Fuzzing-as-a-Service-Plattform
- lain - in Rust implementiertes Fuzzer-Framework
- fzero - schnelle Implementierung eines grammatikbasierten Fuzz-Generators
- nautilus - grammatikbasierter Feedback-Fuzzer des Systems Security Lab der RUB
- sidefuzz - Fuzzer für Seitenkanal-Schwachstellen
- arbitrary - Trait zum Erzeugen strukturierter Eingaben aus Rohbytes, hilfreich für strukturbewusstes Fuzzing
- rust-san - Sanitizer für Rust-Code
- lidiffuzz - Memory-Allocator-Drop-in zum Testen auf nicht initialisierte Speicherlesevorgänge
- rewind - Snapshot-basierter, abdeckungsgesteuerter Windows-Kernel-Fuzzer
- hyperpom - AArch64-Fuzzer basierend auf dem Apple-Silicon-Hypervisor
- icicle-emu - Fuzzing-spezifisches Multi-Architektur-Emulationsframework
Binäranalyse und Reversing
- goblin - Binärparsercrate für Rust
- unicorn.rs - Rust-Bindungen an das Unicorn-Framework
- cargo-call-stack - Analyse des gesamten Programmstapels
- xori - Disassemblierungsbibliothek für PE32, 32+ und Shellcode
- rd - in Rust implementierter Record/Replay-Debugger
- binsec - Schweizer Taschenmesser für binäre (Un)Sicherheit
- radeco - Radare2-basierter Decompiler und Symbolausführer
- falcon - Binäranalyse-Framework in Rust
- mesos - Binär-Abdeckungstool ohne Modifikation für Windows
- guerilla - Monkey-Patching von Rust-Funktionen
- ropr - blitzschneller™ multithreaded ROP-Gadget-Finder
- pwninit - automatisiertes Starten von binären Exploit-Challenges
- binaryninja-rs - Binary Ninja API-Unterstützung für Rust
Eigenschaftsbasierte Tests
- quickcheck - eigenschaftsbasierte Tests für Rust
- proptest - Hypothesis-ähnliche eigenschaftsbasierte Tests für Rust
- bughunt-rust - Beispiel zur Verwendung von QuickCheck-Modellen für die Fehlersuche
- mutagen - Mutations-Testframework für Rust
Symbolische Ausführung
- seer - symbolische Ausführungs-Engine für Rust
- haybale - LLVM-IR-basierte symbolische Ausführungs-Engine des USCD System Security Lab
- MIRAI - abstrakter Interpreter für Rusts MIR von Facebook
- electrolysis - formale Verifikation von Rust-Programmen mit dem Lean-Theorembeweiser
Offensive Sicherheit und Red Teaming
Command-and-Control-Frameworks
- tetanus - in Rust geschriebener Mythic-Agent
Umgehung der Verteidigung
Packen, Verschleierung, Verschlüsselung, Anti-Analyse
- debugoff - Linux-Anti-Debugging- und Anti-Analyse-Rust-Bibliothek
- goldberg - prozedurale Makrobibliothek zur Verschleierung von Rust-Code.
- obfstr - String-Verschleierung für Rust
- oxide - in Rust geschriebener PoC-Packer.
- Linux.Fe2O3 - einfacher ELF-Prepender-Virus / In-Memory-Loader in Rust
Bedrohungserkennung und Forensik
- yara-rust - Rust-Bindungen an YARA
- BONOMEN - Jagd auf Malware-kritische Prozessimitation
- confine - Sandbox für Bedrohungserkennung
- redbpf - Crate zum Schreiben von BPF/eBPF-Modulen
- cernan - Telemetrie-Aggregation und -Versand
- chainsaw - Windows-Ereignisprotokoll-Jagd
- foniod - Daten-zuerst-Überwachungsagent mit (e)BPF, basierend auf RedBPF
- zerotect - Angriffs-/Exploit-Detektor, der Polymorphie und Diversität nutzt
- hayabusa - Sigma-basierte Bedrohungsjagd und schneller Forensik-Zeitstrahlgenerator für Windows-Ereignisprotokolle in Rust.
- medusa - schneller und sicherer Mehrprotokoll-Honeypot.
- elegant-bouncer - experimentelles Werkzeug zur Erkennung von FORCEDENTRY (CVE-2021-30860)
- cargo-sandbox - sandboxed Cargo
Kryptographie
Frameworks
- secrets - sicherer Speicher für kryptografische Geheimnisse in Rust
- mundane - BoringSSL-gestützte Kryptographie-Bibliothek
- rust-threshold-secret-sharing - Rust-Implementierung von schwellenwertbasiertem Secret Sharing
- molasses - Rust-Implementierung des MLS-Gruppenmessaging-Protokolls
- rust-security-framework - Rust-Bindungen an das macOS
Security.framework
- microkv - minimaler und sicherer Schlüssel-Wert-Speicher für Rust
- swanky - Suite von Rust-Bibliotheken für sichere Mehrparteienberechnung
- tandem - bösartig sichere Zweiparteien-Berechnungs-Engine, die einbettbar und zugänglich ist
Anwendungen
- sniffnet - Anwendung zum komfortablen Überwachen Ihres Internetverkehrs 🕵️♂️
- ripasso - in Rust geschriebener Passwort-Manager
- sekey - TouchID / Secure Enclave für SSH-Authentifizierung
- Mullvad VPN Client - Mullvad-VPN-App in Rust
- fakio - leichter sicherer Tunnel-Proxy.
- firecracker - Sichere und schnelle Mikro-VMs für serverloses Computing.
Bildungsressourcen
Bücher
Artikel
Vorträge
Ähnliche Listen
Mitwirken
Erstellen Sie einen Pull-Request, wenn Sie daran interessiert sind, dieser Liste etwas hinzuzufügen! Alle Beiträge werden geschätzt.