Codex use case
Automatisez les analyses de sécurité dans votre pipeline CI
Analysez les pull requests ou les commits sur main, ou planifiez des analyses régulières de votre dépôt.
Ajoutez la CLI de Codex Security à votre pipeline CI. Choisissez quand lancer les analyses et quel code examiner. Conservez les problèmes signalés et les données de couverture, puis décidez comment prendre en compte les résultats lors de la livraison.
Best for
- Équipes qui ajoutent des contrôles de sécurité aux pull requests ou aux merge requests.
- Responsables de dépôts qui analysent la branche par défaut après l’intégration de modifications.
- Équipes de sécurité qui planifient des évaluations régulières de leurs dépôts.
Contents
Automatisez les analyses de sécurité dans votre pipeline CI
Analysez les pull requests ou les commits sur main, ou planifiez des analyses régulières de votre dépôt.
Ajoutez la CLI de Codex Security à votre pipeline CI. Choisissez quand lancer les analyses et quel code examiner. Conservez les problèmes signalés et les données de couverture, puis décidez comment prendre en compte les résultats lors de la livraison.
Ajoutez la CLI de Codex Security à votre pipeline CI. Choisissez quand lancer les analyses et quel code examiner. Conservez les problèmes signalés et les données de couverture, puis décidez comment prendre en compte les résultats lors de la livraison.
Best for
- Équipes qui ajoutent des contrôles de sécurité aux pull requests ou aux merge requests.
- Responsables de dépôts qui analysent la branche par défaut après l’intégration de modifications.
- Équipes de sécurité qui planifient des évaluations régulières de leurs dépôts.
Intégrez les analyses de sécurité à votre workflow de développement. Exécutez Codex Security sur les pull requests, après l’intégration de changements dans votre branche par défaut ou à intervalles réguliers. Adaptez le périmètre de chaque analyse à son déclencheur et conservez les problèmes détectés ainsi que les données de couverture pour que votre équipe puisse examiner les résultats de la même manière à chaque fois.
Choisissez quand lancer les analyses
Commencez par un déclencheur adapté au workflow de votre équipe. Ajoutez-en d’autres une fois que vous aurez une idée de la durée et du coût des analyses, ainsi que de l’usage que votre équipe fait des résultats.
| Déclencheur | Périmètre conseillé | Ce que vous pouvez examiner |
|---|---|---|
| À intervalles réguliers | Dépôt entier, avec possibilité d’analyse approfondie | L’ensemble du code, à intervalles réguliers. |
| Lors de l’envoi de commits sur main | Dépôt entier à la révision correspondant au commit envoyé | Le code après l’intégration des changements dans votre branche par défaut. |
| Lors d’une pull request ou d’une merge request | Changements entre la base de fusion des deux branches et le commit proposé | Les éventuelles régressions de sécurité avant la fusion. |
Si la branche par défaut de votre dépôt porte un autre nom que main, utilisez cette branche. Configurez à la fois le déclencheur et le périmètre de l’analyse : une analyse du diff d’une pull request couvre uniquement les changements proposés. Une analyse lancée après l’intégration des changements dans main ne peut plus bloquer la fusion d’une pull request déjà fusionnée.
Avant de commencer
Vous devez disposer d’un dépôt que vous êtes autorisé à analyser, des permissions nécessaires pour configurer son pipeline CI et ses secrets, ainsi que d’une clé API OpenAI donnant accès à Codex Security. Consultez le guide de démarrage rapide de la CLI pour vérifier les conditions d’accès et les prérequis de configuration.
Utilisez un runner de confiance qui répond aux exigences de la CI. Les analyses s’exécutent avec les permissions locales du runner. Fournissez à la tâche d’analyse uniquement les identifiants dont elle a besoin et respectez les restrictions de votre plateforme pour les pull requests issues de forks et pour tout autre code non fiable.
Configurez votre pipeline
-
Ajoutez Codex Security à votre pipeline
Choisissez l’exemple correspondant à votre plateforme CI. Suivez-le pour installer la CLI de Codex Security et fournir une clé API via le gestionnaire de secrets de votre plateforme CI.
Choisissez votre point de départ :
- GitHub Actions : utilisez le workflow pour les pull requests pour analyser les changements proposés et conserver les résultats.
- GitLab CI/CD : consultez le guide du pipeline pour configurer les analyses des merge requests, celles de la branche par défaut et les analyses planifiées. Le guide fournit un pipeline téléchargeable et précise les options à activer.
- Autres plateformes CI : adaptez les commandes d’analyse et d’export du guide Exécutez Codex Security en CI aux déclencheurs, au gestionnaire de secrets et aux mécanismes de récupération du code et de gestion des artefacts de votre plateforme.
-
Configurez le déclencheur et le périmètre de l’analyse
Lorsque des changements arrivent sur
main, analysez le dépôt à la révision correspondant au commit envoyé. Planifiez aussi des analyses régulières sur la branche de votre choix. Commencez par une analyse hebdomadaire, puis ajustez la fréquence selon l’activité du dépôt, la durée des analyses et leur coût.Pour les pull requests et les merge requests, récupérez l’historique de la branche cible et de la branche source. Analysez le diff entre leur base de fusion et le commit proposé.
Configurez chaque tâche pour qu’elle analyse le code voulu : le dépôt entier pour les analyses planifiées et les commits envoyés sur
main, ou les changements proposés pour les pull requests. Suivez l’exemple de votre plateforme pour configurer l’analyse correspondante.Fixez un budget adapté au périmètre et à la fréquence des analyses. L’analyse du dépôt entier peut prendre plus de temps et coûter plus cher que celle d’un diff. L’option
--max-costlimite le coût sur la base d’une estimation, sans garantir un plafond de dépenses strict. Si l’analyse atteint cette limite, la couverture peut être incomplète. -
Exécutez le pipeline et examinez les résultats
Soumettez la modification du pipeline à votre procédure de revue habituelle, puis lancez une analyse. Vérifiez la révision ciblée et le périmètre de l’analyse dans les détails de l’exécution et dans
scan-manifest.json.Examinez les problèmes signalés et les éléments qui les étayent dans les rapports enregistrés. Consultez
coverage.jsonpour repérer les parties du code dont l’analyse est incomplète ou a été reportée, même si aucun problème n’a été signalé. Vérifiez la durée d’exécution et le coût avant d’augmenter la fréquence des analyses ou de les étendre à d’autres dépôts.Conservez les rapports sous forme d’artefacts CI. Adaptez les droits d’accès et la durée de conservation des artefacts au code source et aux éléments de preuve qu’ils contiennent.
Vous pouvez exporter les résultats au format SARIF, un format structuré de signalement des problèmes de sécurité, pour les afficher dans l’interface de sécurité de votre plateforme. Consultez le guide de la plateforme pour connaître les versions prises en charge, les permissions nécessaires et les exigences en matière de licence.
-
Décidez si les problèmes signalés doivent bloquer la fusion
Commencez par examiner les problèmes signalés sans bloquer les fusions. Une fois votre équipe familiarisée avec les résultats, vous pouvez exiger que les pull requests réussissent un contrôle de sécurité avant la fusion. Vous pouvez, par exemple, bloquer la fusion si l’analyse détecte une vulnérabilité de gravité élevée ou critique.
Vérifiez systématiquement si l’analyse est allée à son terme et quelles parties du code elle a couvertes. Si l’analyse a échoué ou ignoré une partie du code, examinez la cause, même si aucun problème n’a été signalé.
Pour plus de détails sur la configuration, consultez la section Configurez les seuils de gravité et interprétez les résultats de l’analyse.
-
Assurez le suivi des problèmes signalés
Suivez la procédure habituelle de votre équipe pour attribuer chaque problème à la personne chargée de l’examiner ou de le corriger. Indiquez le commit analysé, le code concerné et les éléments qui étayent le signalement pour qu’un autre développeur puisse mener l’enquête.
Vérifiez les correctifs avant de clore les signalements. Si la couverture est incomplète, lancez une nouvelle analyse pour couvrir les parties manquantes.
Related use cases
Analyse de plusieurs dépôts
Utilisez la CLI de Codex Security pour analyser chaque dépôt d’une liste à un commit précis
Automatisez les revues de sécurité dans GitHub Cloud
Connectez un dépôt et configurez les événements qui déclenchent une revue avec Codex...
Configurez le contexte de sécurité
Découvrez comment préparer et configurer le contexte dont Codex a besoin pour effectuer des...