Aller au contenu principal
Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

SARIF Format

devsecops

Définition

SARIF (Static Analysis Results Interchange Format) est un format de données standardisé au format JSON, développé par OASIS sous l'impulsion de Microsoft et GitHub, conçu pour normaliser l'échange de résultats d'analyses statiques de sécurité entre les différents outils du marché. L'objectif est de créer un écosystème interopérable où les résultats d'outils SAST hétérogènes (Semgrep, CodeQL, Checkmarx, Fortify, SonarQube) peuvent être consommés par des plateformes centralisées, des IDEs, et des outils de reporting sans adaptateurs spécifiques. Avant SARIF, chaque outil SAST avait son propre format de sortie propriétaire (XML, JSON, HTML), rendant l'agrégation de résultats multi-outils fastidieuse. Les équipes devaient développer et maintenir des convertisseurs pour intégrer les résultats dans leurs dashboards ou ticketing systems. SARIF, standardisé comme OASIS Standard en 2022 (SARIF 2.1.0), résout ce problème en fournissant un schéma JSON commun. Un fichier SARIF structuré comprend plusieurs niveaux hiérarchiques. Le "run" décrit une exécution d'analyse, incluant l'outil utilisé (nom, version, règles), les artéfacts analysés (fichiers), les invocations (paramètres de la commande), et les résultats (findings). Chaque "result" contient : l'identifiant de la règle déclenchée, la sévérité (error/warning/note/none), le message descriptif, la localisation (fichier, ligne, colonne), les chemins de flux de code (code flows pour la Taint Analysis), et des propriétés supplémentaires. L'adoption de SARIF est massive dans l'écosystème DevSecOps. GitHub Code Scanning consomme nativement les fichiers SARIF uploadés via l'API ou GitHub Actions, affichant les résultats dans l'interface de sécurité avec liens vers le code. Visual Studio et VS Code ont intégré un viewer SARIF permettant la navigation directe vers les findings dans l'éditeur. SARIF est supporté par les principaux SAST : Semgrep, CodeQL, Fortify, Checkmarx, Veracode, Snyk Code, et des dizaines d'autres. La spécification SARIF inclut des extensions pour les DAST, SCA et d'autres types d'analyses, faisant du format un candidat naturel pour devenir le standard universel d'échange de résultats de sécurité applicative.

Structure d'un fichier SARIF

Un fichier SARIF JSON contient une liste de "runs", chacun représentant une exécution d'outil. Chaque run inclut la description de l'outil (tool.driver avec rules[], version, informationUri), les artifacts analysés, et les results[]. Un result contient : ruleId, level (error/warning/note), message, locations[] (physicalLocation avec artifactLocation et region), et optionnellement codeFlows[] pour les chemins de taint. La structure extensible via les "properties" bags permet des métadonnées personnalisées.

Upload SARIF vers GitHub et autres plateformes

GitHub Code Scanning accepte les fichiers SARIF via l'action upload-sarif ou l'API REST. Les résultats apparaissent dans l'onglet Security > Code Scanning Alerts avec affichage inline dans le code, historique des occurrences, et intégration dans les PR checks. D'autres plateformes comme DefectDojo, Snyk, ou les ASPM (Application Security Posture Management) consomment également SARIF pour l'agrégation multi-outils.

Génération SARIF par les outils SAST

La plupart des outils SAST modernes exportent nativement en SARIF : Semgrep (--sarif), CodeQL (sortie native), Bandit (bandit -f sarif), ESLint (eslint -f @microsoft/eslint-formatter-sarif). Pour les outils sans support natif, des convertisseurs open source existent (sarif-tools, Microsoft SARIF SDK). La validation du format se fait avec le SARIF Validator officiel d'OASIS.

Articles liés

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis