Intégrer des contrôles d’analyse de composition logicielle dans des pipelines
L’analyse de la sécurité est considérée comme une activité effectuée une fois par mise en production par une équipe de sécurité dédiée dont les membres interagissent peu avec d’autres équipes.
Cette pratique crée un modèle dangereux dans lequel les spécialistes de la sécurité recherchent de grands nombres de problèmes au moment exact où les développeurs sont les plus sollicités pour mettre en production un produit logiciel.
La pression entraîne souvent un déploiement de logiciels avec des failles de sécurité qui doivent être résolues après la mise en production d’un produit, en intégrant l’analyse dans le workflow d’une équipe à plusieurs stades du chemin de développement. Secure DevOps peut aider à effectuer toutes les activités d’assurance qualité, notamment la sécurité, en continu et automatisée.
Intégration de l’analyse du code de demande de tirage (pull request).
Les équipes DevOps peuvent soumettre des propositions de modifications du code de base d’une application (principal) à l’aide de demandes de tirage (pull request, PR). Pour éviter d’introduire de nouveaux problèmes, les développeurs doivent vérifier les effets des modifications apportées au code avant de créer une PR. Dans un processus DevOps, une PR est généralement créée pour chaque modification mineure. Les modifications sont fusionnées en permanence avec le code base principal pour maintenir à jour le code de base principal. Dans l’idéal, un développeur doit rechercher les problèmes de sécurité avant de créer une PR.
Les extensions de la Place de marché Azure qui aident à intégrer des analyses pendant des PR incluent les suivantes :
- Mend. Permet de valider les dépendances avec leur empreinte binaire.
- Checkmarx. Fournit une analyse incrémentielle des modifications.
- Veracode. Implémente le concept de bac à sable du développeur.
- Black Duck par Synopsis. Outil d’audit du code open source permettant d’identifier, de corriger et de gérer la conformité.
Ces extensions permettent aux développeurs d’expérimenter les modifications avant de les soumettre comme PR.
Analyse du code de build et de mise en production, analyse et intégration
Les développeurs doivent optimiser la vitesse de l’intégration continue afin de recevoir des commentaires immédiats sur les problèmes de build. L’analyse du code peut être effectuée assez rapidement pour intégrer la définition de build CI, empêchant ainsi une build endommagée. Elle permet aux développeurs de restaurer l’état d’une build sur prêt/vert en résolvant immédiatement des problèmes potentiels.
Par ailleurs, le CD doit être complet. Dans Azure DevOps, le CD est généralement géré par le biais de définitions de mise en production (qui vont avancer la sortie de génération dans les environnements) ou d’autres définitions de build.
Les définitions de build peuvent être planifiées (quotidiennement) ou déclenchées à chaque validation. Dans les deux cas, la définition de build peut effectuer une analyse statique plus longue (comme illustré dans l’image suivante).
Vous pouvez analyser le projet de code complet et passer en revue les erreurs ou les avertissements hors connexion sans bloquer le workflow CI.