Cargo Audit
devsecopsDéfinition
Cargo Audit est l'outil officiel de l'écosystème Rust pour la détection de vulnérabilités de sécurité dans les dépendances Rust gérées par Cargo (le gestionnaire de paquets Rust). cargo audit consulte la Rust Security Advisory Database (RustSec — rustsec.org), une base de données communautaire des avis de sécurité publiés pour les crates Rust (bibliothèques Rust sur crates.io), et compare les versions des dépendances de votre projet (définies dans Cargo.lock) avec les versions affectées par des vulnérabilités connues. cargo audit est maintenu par le Rust Security Working Group et est considéré comme une pratique de base obligatoire pour les projets Rust en production. La RustSec Advisory Database couvre les vulnérabilités découvertes dans les crates Rust populaires, incluant des CVEs avec identifiant officiel et des advisories spécifiques Rust (RUSTSEC-XXXX-XXXX) pour les problèmes identifiés avant leur attribution de CVE. L'intégration de cargo audit dans les pipelines CI est une pratique de Shift-Left Security standard pour les projets Rust : l'ajout d'une étape cargo audit --deny warnings dans le pipeline bloque le build si des vulnérabilités sont détectées dans les dépendances. Des fichiers audit.toml permettent de configurer des exceptions pour des advisories spécifiques (avec justification et date d'expiration), similairement aux mécanismes d'ignorance dans d'autres outils SCA. cargo audit se complète avec cargo deny (qui vérifie en plus les licences des dépendances, les sources autorisées, et les dépendances en doublon), cargo outdated (identification des dépendances non mises à jour), et cargo geiger (identification de l'utilisation de code unsafe dans les dépendances).
Installation et utilisation de cargo audit
Installation : cargo install cargo-audit. Utilisation basique : cargo audit (analyse le Cargo.lock du projet courant contre la RustSec DB), cargo audit fix --dry-run (suggère les versions à mettre à jour pour corriger les vulnérabilités), cargo audit fix (applique les corrections automatiquement si possible), cargo audit --deny warnings (retourne exit code non-nul si des advisories sont trouvés — pour bloquer le CI). La RustSec DB est mise à jour en continu et téléchargée localement lors du premier run (mise en cache pour les runs ultérieurs).
cargo deny : SCA complet pour Rust
cargo deny (recommandé en complément de cargo audit) fournit : vérification des licences (bloquer les crates avec licences GPL incompatibles), vérification des sources (autoriser uniquement crates.io et vos registres privés), vérification des advisories de sécurité (même couverture que cargo audit), et vérification des dépendances en doublon (deux versions différentes de la même crate). Un fichier deny.toml configure toutes ces vérifications avec une granularité fine. cargo deny check est la commande unique qui exécute toutes les vérifications.
Rust SBOM avec cargo-cyclonedx
cargo-cyclonedx génère un SBOM CycloneDX depuis le Cargo.lock d'un projet Rust : cargo install cargo-cyclonedx && cargo cyclonedx -f json > sbom.cdx.json. Ce SBOM peut être ensuite analysé avec Grype pour les CVEs (grype sbom:sbom.cdx.json) ou soumis à Dependency-Track. La combinaison cargo audit (alertes en temps réel) + SBOM CycloneDX (inventaire exhaustif des dépendances) + Dependency-Track (gestion continue des CVEs) forme une chaîne SCA complète pour les projets Rust.
Articles liés
Expert en cybersécurité offensive et intelligence artificielle. Pentest, audit et développement IA sur-mesure.
Services
- Audit Infrastructure
- Audit Kubernetes
- Audit Microsoft 365
- Audit Sécurité Réseau
- Analyse de Risques
- Audit Active Directory
- Audit Application Web
- Audit Cloud (AWS/Azure/GCP)
- Audit Messagerie
- Audit API (OWASP Top 10)
- Audit DevSecOps & CI/CD
- Audit Code Source (SAST)
- Audit Postes de Travail
- Audit Sauvegarde & Résilience
- Audit OT/SCADA (IEC 62443)
- Développement IA
- Formations
Ressources
Projets & Outils
© 2026 Ayi NEDJIMI Consultants. Tous droits réservés.
Un projet cybersécurité ?
Expert dispo · Réponse 24h