Afin d'aider les développeurs Rust à découvrir et à prévenir les failles de sécurité, Github a mis à disposition sa suite de fonctionnalités de sécurité de la chaîne de développement pour ce langage dont l’usage ne cesse de croître. Ces fonctionnalités comprennent la base de données publique Advisory Database répertoriant les vulnérabilités reconnues par GitHub, avec déjà plus de 400 avis de sécurité pour Rust, ainsi que les alertes et mises à jour Dependabot, et le support du graphe de dépendance, qui fournit des alertes sur les dépendances vulnérables dans les paquets Rust Cargo. Les développeurs peuvent signaler et, à terme, prévenir les failles de sécurité en utilisant GitHub.
Dans le détail, Advisory Database rassemble des avis de sécurité sur les vulnérabilités, assortis d’informations exploitables pour les développeurs. La majorité des vulnérabilités citées dans la base proviennent de la RustSec Advisory Database, un référentiel d’avis de sécurité relatifs aux bibliothèques Rust maintenu par RustSec. Les mainteneurs de paquets Rust peuvent utiliser ces bulletins pour collaborer avec les découvreurs de failles afin de discuter en privé et de les corriger avant de les annoncer publiquement. Les développeurs peuvent signaler les vulnérabilités Rust avec un CVE par le biais d'une contribution communautaire.
Un graphe de dépendances amélioré
Le graphe de dépendances de GitHub analyse les fichiers Cargo.toml et Cargo.lock d'un dépôt pour déterminer les dépendances d'un projet. Le graphe de dépendances soutient Dependabot, qui alerte les développeurs d'une vulnérabilité connue et crée des demandes de mise à jour de la dépendance affectée. Alors que le graphe de dépendances est activé par défaut dans les dépôts publics, les développeurs doivent l'activer pour les dépôts privés. « Si le graphe de dépendances d'un dépôt public n'a pas encore été alimenté, il le sera bientôt », a déclaré GitHub. Le support de cette fonction pour Rust est déployée en deux phases. Les métadonnées complètes des paquets pour les dépendances Rust, y compris le mappage des paquets aux dépôts GitHub, sont prévues dans une prochaine version.
Les développeurs peuvent empêcher l'introduction de vulnérabilités dans Rust en utilisant la révision des dépendances Action, qui analyse les demandes de modification des dépendances Rust et vérifie la présence de vulnérabilités connues dans les nouvelles dépendances. Les développeurs peuvent alors empêcher qu’elles soient intégrées au code. GitHub propose dans Docs des conseils sur la sécurisation des dépôts Rust.