Analyse de code

Profitez de l'aperçu !

L'aperçu de Code Analysis est disponible.

Code Analysis n'est pas disponible pour le site .

Présentation

Datadog Software Composition Analysis peut identifier des bibliothèques vulnérables tout au long du cycle de vie du développement logiciel (SDLC). Code Analysis résume les résultats obtenus en analysant directement vos référentiels. Pour consulter toutes les vulnérabilités détectées dans les référentiels et au runtime, regroupées ensemble, consultez la section Application Security pour plus de détails.

Code Analysis analyse vos référentiels pour identifier les vulnérabilités de sécurité et les problèmes de qualité du code. Il comprend deux fonctionnalités : Static Analysis pour votre code propriétaire et Software Composition Analysis (SCA) pour les dépendances open source de votre base de code.

Static Analysis
Analyse votre code personnalisé dès les premières étapes du cycle de développement pour détecter les problèmes de maintenabilité, les bugs, les problèmes de performance et les vulnérabilités de sécurité. Cette analyse permet d’empêcher leur arrivée en production et, lorsque c’est possible, propose des corrections suggérées pour aider les équipes d’ingénierie à les résoudre avant qu’ils n’affectent les utilisateurs.
Software Composition Analysis
Analyse les bibliothèques open source importées dans vos référentiels afin de détecter les vulnérabilités de sécurité connues, les risques liés aux licences et les bibliothèques en fin de vie.

Configurer Code Analysis sur votre référentiel

Cliquez sur + Add a Repository dans la page Code Analysis Repositories et choisissez d’exécuter les analyses directement dans Datadog ou dans vos pipelines CI.

Les analyses hébergées par Datadog sont uniquement prises en charge par Software Composition Analysis (SCA) et les référentiels GitHub. Pour activer Static Analysis ou utiliser un autre fournisseur CI, exécutez plutôt les analyses dans vos pipelines CI.

Avec les analyses hébergées par Datadog, votre code est analysé dans l’infrastructure de Datadog plutôt que dans votre pipeline CI. Datadog lit votre code, exécute l’analyseur statique pour effectuer une Static Analysis ou une Software Composition Analysis, puis téléverse les résultats.

L’utilisation des analyses hébergées par Datadog supprime la nécessité de configurer un pipeline CI pour pouvoir utiliser Code Analysis.

Pour activer Software Composition Analysis sur les référentiels GitHub, cliquez sur Select Repositories dans le compte GitHub souhaité et activez l’option Enable Software Composition Analysis (SCA) pour l’ensemble des référentiels. Si aucun compte GitHub n’est affiché, créez une nouvelle application GitHub pour commencer.

Activer Software Composition Analysis sur tous les référentiels de votre compte GitHub

Vous pouvez également sélectionner certains référentiels GitHub à activer pour SCA en cliquant sur le bouton de chaque référentiel.

Activer Software Composition Analysis sur un référentiel GitHub

Si vous ne souhaitez pas exécuter vos analyses directement via Datadog, vous pouvez sélectionner les analyses à exécuter (Static Analysis et Software Composition Analysis) et configurer votre fournisseur de pipeline CI en conséquence.

Configurez votre fournisseur CI/CD

Consultez la documentation suivante pour configurer votre fournisseur CI/CD afin d’exécuter des analyses Static Analysis et SCA :

Configurer l’intégration GitHub

Vous pouvez configurer une application GitHub à l’aide du carré d’intégration GitHub et configurer l’intégration du code source afin d’afficher les extraits de code en cause dans les résultats de Static Analysis dans Datadog.

Lien vers GitHub depuis la vue Code Analysis

Pour plus d’informations, consultez la documentation sur l’intégration du code source.

Intégrations Static Analysis

Avec Static Analysis, vous pouvez recevoir des retours automatisés sur les mauvaises pratiques de codage et les vulnérabilités de sécurité dans le code que vous écrivez directement dans un IDE comme VS Code ou IntelliJ & PyCharm, ainsi que dans vos pull requests sur GitHub.

Un résultat Static Analysis dans Visual Studio Code

Rechercher et gérer les référentiels

Une fois que vous avez configuré Code Analysis, vous pouvez consulter un résumé des résultats des analyses Static Analysis et SCA pour chacun de vos référentiels sur la page Code Analysis. Par défaut, les résultats résumés s’affichent pour le dernier commit analysé sur la branche par défaut du référentiel, ce qui vous permet de voir tous les problèmes existants sur chaque référentiel afin de les trier et de les corriger.

Une liste de référentiels avec les résultats des analyses de code et de bibliothèques sur la page Code Analysis

Sélectionnez un référentiel dans la liste pour rechercher et gérer les non-conformités de ce référentiel spécifique. Par défaut, les résultats s’affichent pour le dernier commit analysé sur la branche par défaut du référentiel, mais vous pouvez modifier la branche ou le commit en haut de la page. Les résultats peuvent également être filtrés par facettes de service ou d’équipe. Pour plus d’informations sur la façon dont les résultats sont associés aux services et équipes Datadog, consultez la section Débuter avec Code Analysis.

Indépendamment de la branche ou du commit sélectionné, tous les résultats sont organisés dans les vues suivantes :

Vulnérabilités de code sur la page Code Analysis pour le service et le référentiel Shopist de Datadog

Identifier et traiter les risques de sécurité du code détectés par Static Analysis dans la vue Code Vulnerabilities.

Vulnérabilités de qualité du code sur la page Code Analysis pour le service et le référentiel Shopist de Datadog

Identifier et corriger les mauvaises pratiques de codage détectées par Static Analysis dans la vue Code Quality.

Vulnérabilités de bibliothèques sur la page Code Analysis pour le service et le référentiel Shopist de Datadog

Identifier et corriger les bibliothèques open source vulnérables détectées par SCA dans la vue Library Vulnerabilities.

Une liste de bibliothèques sur la page Code Analysis pour le service et le référentiel Shopist de Datadog

Gérer la liste complète des bibliothèques détectées par SCA et importées dans votre base de code dans la vue Library Catalog.

Pour aller plus loin