| nav_exclude | true |
|---|---|
| lang | fr |
| permalink | /fr/labs/lab-06 |
| title | Lab 06 - Comprendre la sortie SARIF |
| description | Explorer la structure JSON SARIF v2.1.0, naviguer dans les résultats avec l'extension SARIF Viewer, apprendre les préfixes de catégories et la correspondance des niveaux de sévérité, et comprendre comment GitHub ingère les résultats SARIF. |
| Durée | 30 minutes |
| Niveau | Intermédiaire |
| Prérequis | Au moins l'un des Lab 03, Lab 04 ou Lab 05 |
À la fin de ce lab, vous serez en mesure de :
- Comprendre la structure JSON SARIF v2.1.0 et ses champs clés
- Naviguer dans les résultats SARIF à l'aide de l'extension SARIF Viewer dans VS Code
- Expliquer le système de préfixes de catégories utilisé par le Agentic Accelerator Framework
- Relier la sortie SARIF au pipeline d'ingestion de l'onglet Security de GitHub
Ouvrez le fichier SARIF et explorez sa structure JSON pour comprendre comment les résultats des agents sont stockés.
-
Dans VS Code, ouvrez
validation-results.sarifdepuis la racine du dépôt. Le fichier s'ouvre comme un document JSON standard. -
Localisez le champ de premier niveau
$schema. Il pointe vers le schéma JSON SARIF v2.1.0 et indique aux processeurs quelle version de la spécification utiliser pour la validation. -
Trouvez le champ
version. Il devrait afficher"2.1.0". -
Développez le tableau
runs[]. Chaque exécution représente l'exécution d'un outil. À l'intérieur d'une exécution, identifiez ces champs :Champ Objectif tool.driver.nameNom de l'agent ou du scanner qui a produit les résultats tool.driver.rules[]Définitions des règles avec des valeurs ruleIduniques par type de résultatresults[]Tableau des résultats individuels automationDetails.idChaîne de catégorie utilisée pour le regroupement (par exemple, security/) -
À l'intérieur d'une entrée de résultat unique, localisez :
Champ Objectif ruleIdIdentifiant unique de la règle qui a déclenché le résultat levelNiveau de sévérité ( error,warningounote)message.textDescription lisible du résultat locations[]Chemin du fichier et numéro de ligne où le problème a été détecté partialFingerprintsHachages stables utilisés pour la déduplication entre plusieurs exécutions -
Comptez le nombre d'exécutions présentes dans le fichier et notez quels outils les ont produites.
L'extension SARIF Viewer fournit une interface graphique pour naviguer dans les résultats sans lire le JSON brut.
- Faites un clic droit sur
validation-results.sarifdans le panneau Explorateur de VS Code. - Sélectionnez Open with SARIF Viewer dans le menu contextuel. Si l'option n'apparaît pas, confirmez que l'extension SARIF Viewer est installée (voir la configuration du Lab 00).
- Le visualiseur affiche une arborescence de résultats regroupés par outil et sévérité. Développez un nœud d'outil pour voir ses résultats individuels.
- Cliquez sur un résultat dans l'arborescence. Le visualiseur ouvre le fichier source référencé et met en surbrillance la ligne exacte où le problème a été détecté.
- Comparez l'emplacement source affiché dans le visualiseur avec le champ
locations[]que vous avez examiné dans l'exercice 6.1. Les deux devraient pointer vers le même fichier et le même numéro de ligne.
Le Agentic Accelerator Framework utilise des préfixes de catégories dans le champ automationDetails.id pour organiser les résultats par domaine.
-
Examinez le système de préfixes de catégories :
Préfixe Domaine Agents exemples security/Analyse de sécurité SecurityReviewerAgent, IaC Security Agent, Supply Chain Agent accessibility-scan/Accessibilité A11Y Detector, A11Y Resolver code-quality/coverage/Qualité du code Code Quality Detector, Test Generator finops-finding/v1Gouvernance FinOps Cost Analysis Agent, Cost Optimizer Agent -
Comprenez la correspondance des niveaux de sévérité entre les niveaux SARIF et la classification du framework :
Niveau SARIF Sévérité du framework Action requise errorCRITICAL ou HIGH Doit être corrigé avant la fusion warningMEDIUM À traiter dans le sprint en cours noteLOW À suivre pour une amélioration future -
Retournez au fichier SARIF brut et recherchez les entrées
automationDetails. Identifiez quel préfixe de catégorie chaque exécution utilise. -
Pour les résultats de sécurité, le framework fait correspondre les identifiants CWE (par exemple, CWE-79 pour XSS) et les catégories OWASP Top 10. Pour les résultats d'accessibilité, la correspondance référence les critères de succès WCAG 2.2.
Cet exercice explique le pipeline du fichier SARIF jusqu'à l'onglet Security de GitHub. Les Labs 07 et 08 vous guideront à travers le processus de manière pratique.
-
Comprenez le flux de téléversement SARIF :
Agent produces findings ↓ Results written as SARIF v2.1.0 JSON ↓ GitHub Actions workflow runs upload-sarif action ↓ GitHub Code Scanning processes the SARIF file ↓ Findings appear in Security → Code scanning alerts -
L'action
github/codeql-action/upload-sarif@v4dans chaque workflow gère le téléversement. L'entréecategoryde l'étape de téléversement correspond au préfixeautomationDetails.idafin que GitHub puisse regrouper les alertes par domaine. -
Une fois téléversés, GitHub déduplique les résultats en utilisant les
partialFingerprints. Un résultat qui existe déjà depuis une exécution précédente ne créera pas d'alerte en double. -
Dans le Lab 07, vous activerez GitHub Actions et déclencherez ces workflows avec une pull request. Dans le Lab 08, vous explorerez les résultats téléversés dans l'onglet Security.
Avant de continuer, vérifiez que :
- Vous pouvez identifier les cinq champs clés du SARIF :
$schema,version,runs[],results[]etpartialFingerprints - Vous avez ouvert le fichier SARIF dans l'extension SARIF Viewer et navigué vers un emplacement source
- Vous pouvez expliquer les quatre préfixes de catégories et le domaine que chacun représente
- Vous comprenez la correspondance des niveaux de sévérité SARIF avec la classification du framework
- Vous pouvez décrire le flux du fichier SARIF jusqu'à l'onglet Security de GitHub
Passez au Lab 07 pour activer les workflows GitHub Actions et les déclencher avec une pull request.



