Date de la publication : 18 décembre 2025

Lecture : 7 min

Automatisez la conformité des systèmes embarqués avec GitLab et CodeSonar

Découvrez les vérifications continues de conformité pour les normes ISO 26262, DO-178C, MISRA et d'autres normes de qualité du code et de sécurité fonctionnelle.

Les équipes de développement de systèmes embarqués sont confrontées à un défi récurrent : maintenir une vélocité de développement élevée tout en respectant des exigences strictes en matière de sécurité fonctionnelle et de qualité du code. Les normes telles qu'ISO 26262, IEC 62304, DO-178C et IEC 61508 exigent des processus de vérification rigoureux souvent manuels et chronophages. Les revues de conformité aux normes de codage comme MISRA C/C++, les workflows d'analyse isolés et les vérifications post-développement créent des goulots d'étranglement qui forcent les équipes à choisir entre rapidité et sécurité.

L'intégration de GitLab avec CodeSonar (d'AdaCore) relève ce défi grâce à une automatisation des workflows de conformité et une vérification continue tout au long du cycle de développement logiciel.

Scan spécialisé pour les systèmes critiques

Les systèmes critiques nécessitent une analyse approfondie du code C/C++ compilé avec des outils embarqués spécialisés. Ces systèmes doivent démontrer leur conformité aux normes de codage (MISRA C/C++, CERT C/C++, AUTOSAR C++) et aux frameworks de sécurité fonctionnelle (ISO 26262, DO-178C, IEC 61508) qui exigent des pistes d'audit détaillées. Outre l'alignement avec les normes de codage, les équipes doivent également traiter les incidents de sécurité et tester les problèmes de mémoire, les variables non initialisées et l'injection de commandes.

CodeSonar effectue une analyse complète du programme avec des capacités d'analyse spécialisées pour ces normes. L'association de CodeSonar avec GitLab permet aux équipes d'automatiser les workflows de conformité et de maintenir des pistes d'audit complètes tout au long du cycle de développement.

Automatisation de la conformité du commit au merge

L'intégration de GitLab et CodeSonar offre une approche Compliance-as-Code qui automatise l'application des politiques dès les premières étapes du développement. CodeSonar fonctionne comme un scanner supplémentaire au sein des pipelines CI/CD GitLab et analyse le code à chaque commit et merge request.

Conçu spécifiquement pour les systèmes embarqués, CodeSonar effectue une analyse approfondie du flux de contrôle et de données sur l'ensemble des programmes. Il identifie les vulnérabilités telles que les dépassements de mémoire tampon, la contamination des données, les variables non initialisées, les conditions « use-after-free » (tentative d'accès à la mémoire) et l'injection de commandes : il s'agit là des causes profondes de la plupart des incidents de sécurité dans les systèmes embarqués.

L'intégration fonctionne via la configuration CI/CD de GitLab. Lorsque les équipes de développement effectuent un push des modifications de code, le pipeline déclenche le scan CodeSonar. Pour les firmwares C et C++, CodeSonar observe les invocations du compilateur pendant le processus de build réel et crée une représentation interne du code en vue d'une analyse sophistiquée. Les résultats sont convertis du format SARIF au format de test statique de sécurité des applications (SAST) de GitLab et affichés directement dans les merge requests, où ils alimentent le tableau de bord de sécurité de GitLab Ultimate, la gestion des vulnérabilités et les frameworks de conformité.

Exemple de workflow : conformité à la norme ISO 26262 ASIL-D

La vidéo de démonstration ci-dessous présente le workflow complet pour un système embarqué soumis aux exigences de la norme ISO 26262 ASIL-D. Le scénario illustre comment les équipes de développement embarqué peuvent mettre en œuvre une conformité continue sans compromettre la vélocité de développement.

Le workflow commence lorsqu'un développeur soumet une merge request afin de modifier le firmware. Le pipeline CI/CD de GitLab déclenche automatiquement le scan CodeSonar, qui effectue une analyse approfondie C/C++ des politiques ISO 26262 personnalisées configurées dans le pipeline. Lorsque CodeSonar identifie une vulnérabilité pertinente pour ASIL-D, le pipeline s'arrête automatiquement conformément à la politique de conformité et fournit une documentation claire du problème. Les résultats complets du scan, le suivi des tickets et le workflow d'approbation sont conservés dans GitLab comme source unique de vérité pour les pistes d'audit.

Les équipes de développement peuvent utiliser à la fois l'interface hub de CodeSonar et GitLab Duo pour comprendre la vulnérabilité. CodeSonar fournit des informations détaillées sur le chemin dans le code source qui mène au problème, ainsi que des fonctionnalités de navigation dans le code pour isoler la cause profonde. GitLab Duo explique la vulnérabilité et fournit des recommandations de correction spécifiques. Une fois la correction implémentée et la résolution validée, le code est fusionné, et les équipes disposent également de preuves de conformité qui ont été automatiquement collectées tout au long du processus.

Avantages de l'intégration

Les organisations qui mettent en œuvre cette conformité intégrée avec GitLab et CodeSonar constateront des améliorations significatives tant au niveau de la vélocité de développement que de la confiance en matière de conformité.

  • Gains d'efficacité : les équipes de développement réduisent le délai de mise sur le marché, car elles détectent les problèmes de conformité aux normes de codage tôt, lorsqu'ils sont moins coûteux à corriger. L'application automatisée des politiques de sécurité réduit la charge de travail liée aux revues de sécurité manuelles et permet aux spécialistes de se concentrer sur des problèmes complexes plutôt que sur des vérifications routinières. La préparation aux audits s'améliore grâce à la collecte automatisée de preuves. Les artefacts de conformité sont générés comme un sous-produit du développement normal plutôt que lors de tâches de documentation séparées.
  • Maturité de la conformité : cette approche intégrée aide les organisations à maintenir une conformité continue avec les normes et réglementations du secteur. En intégrant la vérification dans chaque modification de code, les équipes construisent des pistes d'audit complètes qui démontrent l'adhésion aux normes ISO 26262, DO-178C, MISRA C/C++ et d'autres exigences. Le workflow automatisé transforme la conformité d'un point de contrôle périodique en un processus de vérification continu.

Considérations relatives à l'implémentation

La mise en œuvre de l'intégration GitLab et CodeSonar nécessite un accès à GitLab Ultimate, un hub CodeSonar, des runners GitLab où le code peut être compilé et analysé, ainsi que des mécanismes appropriés pour la gestion des fichiers de données d'analyse. GitLab et CodeSonar prennent tous deux entièrement en charge les environnements sur site et air-gapped et peuvent également être déployés dans des environnements cloud auto-évolutifs.

Les équipes doivent configurer des frameworks de conformité personnalisés dans GitLab pour définir des politiques spécifiques à leurs normes pertinentes : ISO 26262 pour l'automobile, DO-178C pour l'aérospatiale, IEC 62304 pour les dispositifs médicaux, et bien d'autres encore. Ces frameworks permettent l'application automatisée des exigences de conformité via des règles d'approbation de merge request, des seuils de vulnérabilité et des portes relatives aux politiques de scans.

Lancez-vous

Le composant CI CodeSonar pour GitLab est disponible via le catalogue CI/CD de GitLab. Une documentation d'intégration détaillée fournit des instructions de configuration spécifiques à chaque plateforme pour les environnements Linux, Docker et Windows. Pour les organisations qui évaluent cette solution, l'implémentation démontre comment des outils spécialisés pour systèmes embarqués peuvent s'intégrer à une plateforme DevSecOps moderne afin d'offrir à la fois vélocité de développement et rigueur de conformité.

Pour plus d'informations sur l'implémentation de GitLab avec CodeSonar pour votre développement de systèmes embarqués, consultez la documentation d'intégration CodeSonar. Vous pouvez également demander un essai de CodeSonar.

Votre avis nous intéresse

Cet article de blog vous a plu ou vous avez des questions ou des commentaires ? Partagez vos réflexions en créant un sujet dans le forum de la communauté GitLab.

Donnez votre avis

Commencez à livrer des logiciels de meilleure qualité plus rapidement

Découvrez comment la plateforme DevSecOps intelligente

peut aider votre équipe.