Article

Cargo-Geiger: Unsafe Rust-Code in Dependencies aufspüren

Rust Cargo Security Unsafe

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