Partager via


À propos de l’analyse du code de sécurité Microsoft

Remarque

À compter du 31 décembre 2022, l’extension Microsoft Security Code Analysis (MSCA) est supprimée. MSCA est remplacé par la l’extension Microsoft Security DevOps Azure DevOps. Suivez les instructions de Configurer pour installer et configurer l’extension.

Avec l’extension Analyse du code de sécurité Microsoft, les équipes peuvent ajouter l’analyse du code de sécurité à leurs pipelines d’intégration et de livraison continues Azure DevOps (CI/CD). Cette analyse est recommandée par les experts du cycle de vie de développement sécurisé (SDL) chez Microsoft.

Une expérience utilisateur cohérente simplifie la sécurité en masquant la complexité des outils en cours d’exécution. Avec la livraison basée sur NuGet des outils, les équipes n’ont plus besoin de gérer l’installation ou la mise à jour des outils. Avec des interfaces de ligne de commande et des interfaces basiques pour les tâches de compilation, tous les utilisateurs peuvent avoir autant de contrôle sur les outils qu'ils le souhaitent.

Teams peut également utiliser des fonctionnalités de post-traitement puissantes telles que :

  • Publication des journaux à des fins de conservation.
  • Génération de rapports actionnables et axés sur les développeurs.
  • Configuration des interruptions de build lors des tests de régression.

Pourquoi dois-je utiliser l’analyse du code de sécurité Microsoft ?

Sécurité simplifiée

L’ajout d’outils d’analyse du code de sécurité Microsoft à votre pipeline Azure DevOps est aussi simple que d’ajouter de nouvelles tâches. Personnalisez les tâches ou utilisez leur comportement par défaut. Les tâches s’exécutent dans le cadre de votre pipeline Azure DevOps et produisent des journaux qui détaillent de nombreux types de résultats.

Constructions propres

Après avoir résolu les problèmes initiaux signalés par les outils, vous pouvez configurer l’extension pour interrompre les builds sur de nouveaux problèmes. La mise en place de builds d'intégration continue pour chaque pull request est facile.

Réglez-le et n'y pensez plus

Par défaut, les tâches de génération et les outils restent up-to-date. S’il existe une version mise à jour d’un outil, vous n’avez pas besoin de télécharger et de l’installer. L’extension s’occupe de la mise à jour pour vous.

Sous le capot

Les tâches de génération de l’extension masquent les complexités des opérations suivantes :

  • Exécution des outils d’analyse statique de sécurité.
  • Traitement des résultats des fichiers journaux pour créer un rapport récapitulatif ou arrêter la construction.

Ensemble d’outils Analyse du code de sécurité Microsoft

L’extension Analyse du code de sécurité Microsoft met à votre disposition les dernières versions des outils d’analyse importants. L’extension inclut à la fois les outils gérés par Microsoft et les outils open source.

Ces outils sont automatiquement téléchargés sur l’agent hébergé dans le cloud après avoir utilisé la tâche de génération correspondante pour configurer et exécuter le pipeline.

Cette section répertorie l’ensemble d’outils actuellement disponibles dans l’extension. Surveillez l’ajout d’autres outils. Envoyez-nous également vos suggestions d’outils que vous souhaitez ajouter.

Scanneur anti-programmes malveillants

La tâche de génération du scanneur anti-programmes malveillants est désormais incluse dans l’extension Analyse du code de sécurité Microsoft. Cette tâche doit être exécutée sur un agent de build sur lequel Windows Defender est déjà installé. Pour plus d’informations, consultez le site web Windows Defender.

BinSkim

BinSkim est un scanneur léger exécutable portable (PE) qui valide les paramètres du compilateur, les paramètres de l’éditeur de liens et d’autres caractéristiques relatives à la sécurité des fichiers binaires. Cette tâche de compilation fournit une interface en ligne de commande pour l'application console binskim.exe. BinSkim est un outil open source. Pour plus d’informations, consultez BinSkim sur GitHub.

Scanneur d’informations d’identification

Les mots de passe et autres secrets stockés dans le code source sont un problème important. Credential Scanner est un outil d’analyse statique propriétaire qui permet de résoudre ce problème. L’outil détecte les informations d’identification, les secrets, les certificats et d’autres contenus sensibles dans votre code source et votre sortie de build.

Analyseurs Roslyn

Roslyn Analyzers est l’outil intégré au compilateur de Microsoft pour analyser statiquement le code C# managé et Visual Basic. Pour plus d’informations, consultez les analyseurs Roslyn .

TSLint

TSLint est un outil d’analyse statique extensible qui vérifie le code TypeScript pour la lisibilité, la maintenance et les erreurs dans les fonctionnalités. Il est largement pris en charge par les éditeurs modernes et les systèmes de construction. Vous pouvez le personnaliser avec vos propres règles de lint, configurations et outils de formatage. TSLint est un outil open source. Pour plus d’informations, consultez TSLint sur GitHub.

Analyse et post-traitement des résultats

L’extension Analyse du code de sécurité Microsoft comporte également trois tâches de post-traitement. Ces tâches vous aident à analyser les résultats trouvés par les tâches de l’outil de sécurité. Lorsqu’elles sont ajoutées à un pipeline, ces tâches suivent généralement toutes les autres tâches d’outil.

Publier un journal d’analyse de la sécurité

La tâche de build Publier les journaux d'analyse de la sécurité conserve les fichiers journaux des outils de sécurité qui sont exécutés pendant le build. Vous pouvez lire ces journaux d’activité à des fins d’investigation et de suivi.

Vous pouvez publier les fichiers journaux sur Azure Artifacts en tant que fichier .zip. Vous pouvez également les copier dans un partage de fichiers accessible à partir de votre agent de build privé.

Rapport de sécurité

La tâche de génération du rapport de sécurité analyse les fichiers journaux. Ces fichiers sont créés par les outils de sécurité qui s’exécutent pendant la compilation. La tâche de génération crée ensuite un seul fichier de rapport récapitulative. Ce fichier affiche tous les problèmes détectés par les outils d’analyse.

Vous pouvez configurer cette tâche pour signaler les résultats pour des outils spécifiques ou pour tous les outils. Vous pouvez également choisir le niveau de problème à signaler, comme les erreurs uniquement ou les erreurs et les avertissements.

Après l'analyse (interruption de build)

Avec la tâche de génération post-analyse, vous pouvez injecter une rupture de build qui provoque l’échec d'un build. Vous injectez un saut de build si un ou plusieurs outils d’analyse signalent des problèmes dans le code.

Vous pouvez configurer cette tâche pour interrompre la génération pour les problèmes détectés par des outils spécifiques ou tous les outils. Vous pouvez également le configurer en fonction de la gravité des problèmes détectés, tels que les erreurs ou les avertissements.

Remarque

Par conception, chaque tâche de génération réussit si la tâche se termine correctement. Cela est vrai si un outil détecte ou non des problèmes, afin que la build puisse s’exécuter jusqu’à la fin en autorisant l’exécution de tous les outils.

Étapes suivantes

Pour obtenir des instructions sur l’intégration et l’installation de Microsoft Security Code Analysis, consultez notre guide d’intégration et d’installation .

Pour plus d’informations sur la configuration des tâches de génération, consultez notre guide de configuration ou guide de configuration YAML.

Si vous avez d’autres questions sur l’extension et les outils proposés, consultez notre page FAQ.