Prérequis
Prérequis
- Votre organisation doit avoir accès au dépôt que vous souhaitez analyser.
- Vous devez être autorisé à utiliser les sessions Devin.
- Vous devez disposer de l’autorisation Utiliser les analyses de code.
- Pour configurer une planification Auto Scan, vous devez également disposer de Gérer les analyses de code et de l’autorisation de gérer les automatisations.
Lancez votre première analyse
- Ouvrez Security dans la barre latérale de gauche et cliquez sur Start scan.
- Sous Single repo, choisissez un repository à analyser.
- Vous pouvez également sélectionner un profil d’analyse et un niveau d’effort d’analyse. Si vous laissez le profil vide, l’analyse de sécurité intégrée de Security Swarm est utilisée.
- Assurez-vous que le mode interactif est activé.
- Cliquez sur Run Scan.
- Lorsque le modèle de menace proposé est prêt, examinez-le, puis cliquez soit sur Tout semble correct, lancer l’analyse, soit donnez votre retour.
- À mesure que les constats apparaissent, examinez les éléments de preuve et traitez les constats qui nécessitent une attention particulière.
Création d’un profil d’analyse, lancement d’une analyse interactive et examen des constats dans Security Swarm
Examiner les problèmes détectés et agir
Ouvrez une analyse pour voir les constats. La page affiche une liste des constats à gauche, regroupés par gravité, et les détails du constat sélectionné à droite. Les onglets de statut affichent un décompte en temps réel :- Open — nécessite une attention.
- Reviewed — a été examiné et ne nécessite plus d’action.
- Dismissed — a été identifié comme faux positif ou doublon.
Ce que contient un constat
Un constat comprend :- La gravité, le statut, l’exploitabilité, le niveau de confiance et la catégorie.
- Le chemin du fichier et les extraits de code concernés.
- Une description du problème et une recommandation de remédiation.
- Un résultat de validation du sandbox, des éléments de preuve et des artefacts de validation.
- Les pull requests associées et leur état : ouverte, fusionnée ou fermée.
- Les responsables du code et des notes, le cas échéant.
Traiter une constat
- Attribuer à Devin
- Retour
- Ajuster
Profils d’analyse
Un profil d’analyse définit le périmètre de l’analyse et fournit des indications pour chaque étape. Chaque analyse peut utiliser un seul profil. Pour évaluer un dépôt selon plusieurs profils d’attaquant ou catégories de menaces, exécutez des analyses distinctes avec différents profils. Gérez les profils dans l’onglet Profiles de la page Security.Créer un profil
Vous pouvez créer un profil de deux façons :- Générer avec Devin — décrivez l’application, les menaces, le périmètre, les exclusions et les critères de gravité en langage naturel. Devin prépare une première version du profil pour vous.
- Créer manuellement — renseignez vous-même chaque champ du profil.
Informations de base
- Nom du profil — nommez la surface de l’application ou la catégorie de menace, plutôt que l’équipe qui effectue l’analyse. Exemple :
Multi-tenant API authorization. - Description — résumez le périmètre du profil et son objectif de sécurité. Exemple :
Find authentication, authorization, and tenant-isolation vulnerabilities in the public API.
Modèle de menace
Décrivez l’attaquant, les actifs sensibles, les frontières de confiance, les principaux points d’entrée, ainsi que tout ce qui est explicitement hors périmètre. Ces indications orientent les règles que Devin génère avant le début de l’investigation.Consignes d’investigation
Définissez comment Devin doit mener l’investigation d’un problème potentiel et quelles preuves il doit recueillir. Demandez-lui de tenir compte des mesures d’atténuation existantes et de distinguer les vulnérabilités exploitables des risques théoriques.Consignes de triage
Définissez comment Devin doit dédupliquer et prioriser les findings. Incluez vos critères de gravité afin que les résultats correspondent aux normes de votre organisation.Validation en sandbox
Activez la validation en sandbox lorsque Devin peut effectuer le build de l’application et la tester en toute sécurité. Expliquez comment démarrer l’application, créer des données de test, vous authentifier et illustrer le périmètre de sécurité attendu. Utilisez Validate severities pour choisir la gravité minimale que Devin valide dans un sandbox. Seuls les constats dont la gravité est égale ou supérieure à ce seuil déclenchent une session de validation ; par défaut, les constats critiques, élevés et moyens sont validés. Relevez le seuil à critique ou élevé pour concentrer l’effort de validation sur les seuls constats les plus importants.Rapport
Activez la génération de rapports lorsque vous avez besoin d’un artefact de synthèse après l’analyse. Précisez le public visé et les informations que le rapport doit mettre en avant.Consignes de remédiation
Précisez les contraintes que Devin doit respecter lorsque vous lui assignez un constat à corriger. Incluez les attentes en matière de tests, les exigences de compatibilité et les pratiques à éviter.Paramètres avancés
Ouvrez Advanced pour définir le périmètre des fichiers et les lots d’investigation :- Include globs — limitez l’analyse aux fichiers correspondants. Par exemple,
apps/api/**etpackages/auth/**. - Exclude globs — retirez les fichiers non pertinents du périmètre sélectionné. Par exemple,
**/generated/**,**/vendor/**et**/fixtures/**. - Batch size — définissez combien de fichiers présentant des signaux sont regroupés dans chaque lot d’investigation. Laissez cette valeur par défaut, sauf si vous ajustez délibérément le comportement de l’analyse. La plage acceptée est de 1 à 500 ; la valeur par défaut est 5.
Profils d’ingestion
Le mode d’un profil est figé au moment de sa création. Les profils Discover (le mode par défaut) analysent votre code pour détecter de nouveaux problèmes et s’appuient sur les champs de guidance ci-dessus. Les profils Ingest importent des findings dont vous disposez déjà, issus d’un autre scanner ou d’un rapport, et remplacent les champs de périmètre et de threat model par deux champs de guidance :- Source d’ingestion — où se trouvent les findings existants et comment Devin doit les récupérer. Par exemple, récupérer les alerts ouvertes du code scanning GitHub via son API REST, ou lire un rapport Semgrep committé dans
reports/semgrep.json. Référencez les credentials par le nom du secret de l’organization plutôt qu’en collant un token. - Triage post-ingestion — comment Devin doit trier les findings importés : ce qu’il faut écarter, ce qu’il faut repriorisier et ce qu’il faut considérer comme un doublon. Par exemple, écarter les findings présents dans les fixtures de test et traiter comme doublons les findings partageant le même ID de Rule et le même fichier.
Profils d’organisation et d’entreprise
Les nouveaux profils sont limités à l’organisation. Les administrateurs Enterprise peuvent ensuite modifier la visibilité d’un profil en Enterprise, ce qui le rend disponible dans toute l’entreprise. Les profils Enterprise ne peuvent être modifiés ou archivés que par les administrateurs Enterprise. Les autres utilisateurs ayant accès à Security peuvent les consulter et les utiliser, mais pas les modifier.Mode interactif
Lorsque le mode interactif est activé, Devin propose un modèle de menace, puis s’arrête avant l’investigation. La page d’analyse affiche les règles proposées et vous permet de :- Tout semble correct, lancer l’analyse — acceptez le modèle de menace et lancez l’investigation.
- Fournir un retour sur le modèle de menace — indiquez ce qu’il faut ajouter, supprimer ou mettre en avant, puis consultez le modèle révisé.
Configurer la validation du sandbox
La validation du sandbox ne s’exécute que si le profil sélectionné l’active et contient des consignes de validation. Donnez à Devin suffisamment d’informations pour build, exécuter, initialiser les données et authentifier l’application dans son sandbox. Si le dépôt dispose d’une configuration déclarative, Devin peut réutiliser sa configuration de build et d’installation. Sinon, ajoutez les commandes de configuration requises aux consignes de validation du profil.Analyse à grande échelle
Choisir un mode de scan
Le panneau New Scan propose quatre modes de scan :Effort de scan
Chaque scan s’exécute selon l’un des deux niveaux d’effort, à sélectionner sous Scan effort au moment du lancement :- Normal (par défaut) — un scan plus rapide, qui traite l’investigation par lots plus importants.
- Deep — remonte chaque constat plus loin dans la codebase pour une exhaustivité maximale, au prix d’un coût plus élevé et d’une durée d’exécution plus longue.
Scanner une organisation en masse
Utilisez Bulk scan dans le panneau New Scan pour mettre en file d’attente un scan distinct pour chaque dépôt correspondant :- Saisissez éventuellement un filtre de nom de dépôt.
- Sélectionnez éventuellement un profil d’analyse.
- Laissez Skip already-scanned repos activé pour exclure les dépôts déjà scannés avec le profil sélectionné.
- Cliquez sur Preview.
- Vérifiez les dépôts correspondants, désélectionnez ceux que vous ne souhaitez pas scanner, puis confirmez.
Importer des constats existants
Utilisez Ingest findings pour importer dans Security Swarm les résultats d’un autre scanner afin de les trier, les valider et y remédier aux côtés des constats propres à Devin :- Sélectionnez un ou plusieurs repositories auxquels les constats se rapportent.
- Sélectionnez un profil d’ingestion. Le profil indique à Devin où se trouvent les constats et comment les trier après l’import.
- Vous pouvez également joindre jusqu’à 10 rapports ou exports (par exemple des fichiers SARIF, CSV ou PDF) dans lesquels Devin lira les constats. Si la source d’ingestion du profil pointe déjà vers une API ou un fichier du repository, aucun fichier joint n’est nécessaire.
- Vous pouvez également activer le mode Interactive. Après l’import, Devin marque une pause pour vous permettre d’examiner ce qui a été ingéré, y compris les doublons éventuels, et de demander des corrections avant qu’il ne poursuive.
- Choisissez un niveau d’effort de scan et cliquez sur Run Scan.
Auto Scan
Auto Scan analyse régulièrement les commits ajoutés depuis la dernière analyse terminée. Vous pouvez la configurer :- Lors du lancement d’une analyse sur un dépôt unique, en sélectionnant une planification quotidienne, hebdomadaire, mensuelle ou personnalisée.
- À partir d’une analyse existante, en ajoutant, modifiant ou désactivant sa planification, ou en cliquant sur Scan now pour la lancer immédiatement.
Analyser les nouveaux commits
Cliquez sur Analyser les nouveaux commits dans une analyse terminée pour examiner les commits ajoutés depuis le dernier commit déjà analysé. Auto Scan utilise le même fonctionnement incrémentiel, ce qui rend les analyses suivantes moins coûteuses que de réanalyser à chaque fois l’intégralité du périmètre du dépôt. Chaque exécution complète ou incrémentielle est consignée dans l’historique des analyses de l’analyse.Lancer des analyses depuis les automatisations
Les automatisations proposent un type d’agent analyse de code pour les analyses qui doivent s’exécuter selon une planification ou en réaction à un événement. Au lieu de démarrer une session Devin avec un prompt, l’automatisation lance directement l’analyse. Choisissez l’une des deux actions suivantes :- Start code scan — lance une nouvelle analyse du ou des repositories configurés, avec le type d’analyse, le profil et l’effort définis, à chaque déclenchement de l’automatisation.
- Scan new commits — étend une analyse existante par une exécution incrémentale couvrant les commits ajoutés depuis sa dernière exécution terminée. L’analyse doit déjà comporter une exécution terminée.
/scan. Pour les analyses de performance, de test coverage, de dead code et les autres analyses non liées à la sécurité, consultez Code Scans.
Gérer et suivre les analyses
Selon l’analyse et son profil, l’en-tête de l’analyse peut inclure :- Rapports — télécharger les rapports générés pour l’analyse.
- Utilisation — consulter les ACUs consommées, le nombre de sessions, la durée de l’analyse et les statistiques des pull requests.
- Session — ouvrir la session Devin principale qui a effectué l’analyse.
- Historique des analyses — consulter chaque exécution de l’analyse. Voir Historique des analyses.
- Changer de profil — changer le profil utilisé par les prochaines exécutions. Voir Changer le profil d’une analyse.
- Exporter au format CSV — exporter les résultats de l’analyse.
- Archiver ou Désarchiver — masquer l’analyse de la liste par défaut ou l’y rétablir.
- Analyser les nouveaux commits — lancer une analyse incrémentielle.
Historique des scans
Ouvrez Scan history sur un scan pour consulter chacune de ses exécutions, de la plus récente à la plus ancienne. Chaque exécution indique s’il s’agissait d’un scan Full ou Incremental, son statut, l’effort et le profil utilisés, les ACU consommés ainsi qu’un lien vers la session Devin correspondante. Cet historique vous permet de vérifier qu’Auto Scan s’exécute bien comme planifié et de comparer le coût des exécutions complètes et incrémentielles.Modifier le profil d’une analyse
Cliquez sur Change profile dans une analyse terminée pour sélectionner un autre profil. Le nouveau profil s’applique aux exécutions ultérieures de l’analyse, y compris Auto Scan et Scan new commits ; les exécutions déjà terminées et leurs constats ne sont pas affectés. Vous ne pouvez pas modifier le profil pendant qu’une analyse est en cours. La modification d’un profil nécessite l’autorisation Utiliser les analyses de code.Tableau de bord Security
Une fois que l’organisation a effectué sa première analyse, la page Security affiche un tableau de bord à l’échelle de l’organisation sur les 7, 30 ou 90 derniers jours :- Statistiques des pull requests — pull requests créées, ouvertes, fermées et fusionnées, ainsi que le taux de fusion.
- Résultats au fil du temps — constats regroupés par niveau de gravité sur la période sélectionnée.
Accès et autorisations
L’accès à Security est contrôlé par les autorisations d’analyse de code dans l’éditeur de rôles :Comparez Security Swarm à un autre scanner
Pour que la comparaison soit pertinente, donnez aux deux scanners le même périmètre, le même modèle de menace, les mêmes critères de gravité et les mêmes exigences de validation. Sinon, des différences de configuration risquent de masquer les écarts réels de capacité. Utilisez des profils pour formaliser les critères de comparaison, le mode interactif pour confirmer le modèle de menace généré, et la validation en sandbox pour appliquer le même niveau de preuve aux constats signalés.FAQ
Comment Security Swarm réduit-il les faux positifs ?
Comment Security Swarm réduit-il les faux positifs ?
Quels éléments de preuve dois-je examiner dans un constat ?
Quels éléments de preuve dois-je examiner dans un constat ?
Qu’apporte la validation en sandbox ?
Qu’apporte la validation en sandbox ?
Comment Security Swarm détecte-t-il les vulnérabilités réparties sur plusieurs fichiers ?
Comment Security Swarm détecte-t-il les vulnérabilités réparties sur plusieurs fichiers ?
Pourquoi les résultats peuvent-ils varier d’un scan à l’autre ?
Pourquoi les résultats peuvent-ils varier d’un scan à l’autre ?
Un scan terminé signifie-t-il que le dépôt ne présente aucune autre vulnérabilité ?
Un scan terminé signifie-t-il que le dépôt ne présente aucune autre vulnérabilité ?

