Article
Cargo-Geiger: Unsafe Rust-Code in Dependencies aufspüren
Cargo-Geiger ist ein Rust-Tool, das unsafe Code in Crates und deren Dependencies scannt und statistisch aufbereitet.
Das Tool (1.6k GitHub Stars) funktioniert als Cargo-Plugin und zeigt an, wie viel unsafe Code in einem Projekt und seinen Abhängigkeiten verwendet wird. Die Namensgebung ist bewusst gewählt: Wie ein Geigerzähler ionisierende Strahlung misst, spürt Cargo-Geiger unsafe Code auf - der in Rust unweigerlich notwendig, aber kontrolliert werden muss.
Installation
cargo install --locked cargo-geiger
Verwendung
Im Projektverzeichnis einfach cargo geiger ausführen. Das Tool analysiert alle Dependencies und zeigt:
- Anzahl unsafe Funktionen in jeder Crate
- unsafe Blöcke und Traits
- Metriken pro Dependency
Integriert in Security-Workflows
Cargo-Geiger wird oft kombiniert mit:
- cargo-crev - Web of Trust für Code-Reviews
- safety-dance - unsafe-Code-Richtlinien
Warum wichtig
Rust’s Speichersicherheit gilt nur für safe Code. Unsafe Blöcke umgehen diese Garantien. Für Security-Audits und Supply-Chain-Sicherheit ist die Kenntnis über unsafe Code essenziell - besonders bei transitive Dependencies.
Link: GitHub: cargo-geiger