Aller au contenu principal
Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

Cargo Audit

devsecops

Dé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

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis