Prérequis Vous avez effectué un scan et PolicyIQ est activé. Demandez son activation à votre interlocuteur Corgea.
Comportements importants des politiques
Avant d’examiner la structure des politiques, retenez les comportements suivants :- Application de la politique : les nouvelles politiques ne prennent effet que lors des nouveaux scans ; elles ne modifient pas rétroactivement les résultats existants.
-
Priorité des politiques :
- Les politiques plus spécifiques priment sur les politiques générales pour la détection des faux positifs et la génération de correctifs
- Par exemple, une politique de faux positifs propre aux SSRF remplace une politique générale de faux positifs
- Les politiques définies par le client supplantent toujours les politiques natives de Corgea
-
Regroupement des politiques : pour les politiques de scan, il est recommandé de regrouper les problématiques de sécurité connexes plutôt que de créer une politique par problème. Par exemple :
- Regroupez l’authentification, l’autorisation et la gestion des permissions
- Combinez les vérifications de validation des données associées
- Regroupez les vérifications de contrôles de sécurité associées Cette approche donne de meilleurs résultats car ces préoccupations de sécurité se chevauchent et interagissent souvent.
Structure de la politique
Une politique bien structurée doit inclure les éléments suivants :
- Type de politique : indiquez le type de politique créé, par exemple BLAST (détection des vulnérabilités), Faux positif (identification des faux positifs) ou Correctif (suggestion de correctifs du code).
-
Contexte métier : fournissez des informations détaillées sur les éléments suivants :
- Domaine métier et exigences
- Architecture réseau et contrôles de sécurité
- Configurations spécifiques à l’environnement
- Exigences de classification et de traitement des données
- Exigences de conformité (par exemple, PCI, HIPAA, GDPR)
-
Description : instructions claires intégrant votre contexte, notamment :
- Schémas de vulnérabilité spécifiques dans votre environnement
- Exemples de code pertinents pour votre architecture
- Comment gérer les problèmes compte tenu de votre infrastructure
- Types de vulnérabilités (CWE) : choisissez les types de vulnérabilités que cette politique doit gérer en fonction de votre profil de risque.
- Projets : sélectionnez les projets auxquels appliquer cette politique afin de définir des politiques propres à chaque environnement. Lorsque le contrôle d’accès aux projets est activé, les utilisateurs non administrateurs ne peuvent créer ou gérer que des politiques portant sur des projets auxquels ils ont accès et doivent sélectionner au moins un projet accessible. Les administrateurs de l’entreprise peuvent toujours créer des politiques applicables à tous les projets.
-
Motif de fichier (glob) : limitez éventuellement une politique aux fichiers correspondants (par exemple,
src/**/*.py). Laissez ce champ vide pour l’appliquer à tous les fichiers. - Notes d’orientation (facultatives) : ajoutez des consignes statiques destinées aux développeurs, telles que des notes internes de remédiation, des liens vers des normes internes ou des conseils d’implémentation. Elles s’affichent sur les problèmes concernés, y compris dans les explications et les corrections suggérées. Les politiques de faux positifs peuvent également fournir des consignes dans ces vues.

- Type d’instruction : choisissez comment les instructions de votre politique interagissent avec les politiques intégrées de Corgea :
- Ajouter à la politique par défaut de Corgea : ajoute les instructions de votre politique aux politiques intégrées de Corgea, en conservant les deux ensembles de règles. Utilisez cette option pour enrichir les politiques par défaut avec votre contexte métier, vos contrôles de sécurité ou les caractéristiques de votre environnement.
- Remplacer la politique par défaut de Corgea : les instructions de votre politique remplacent entièrement le comportement par défaut de Corgea. Utilisez cette option pour contrôler totalement le traitement de scénarios précis.
Policy Playground
Policy Playground est un espace de travail côte à côte pour créer, mettre à jour et tester des politiques avant qu’elles n’affectent vos scans. Vous écrivez la politique à gauche et la testez avec du code réel à droite, afin de pouvoir itérer rapidement sans quitter la page.
- L’espace de travail comprend un éditeur de politique (à gauche) et un panneau de test (à droite), séparés par une barre déplaçable qui permet de redimensionner les panneaux.
- Utilisez Retour aux politiques dans la barre d’outils supérieure pour revenir à tout moment au tableau Politiques.
- Ouvrez une politique BLAST ou Faux positif existante directement dans Policy Playground depuis le tableau Politiques.
- Recherchez une politique dans le tableau Politiques par ID de politique, nom, type ou description.
- L’édition et la sauvegarde dans Policy Playground mettent à jour la politique en créant une nouvelle version.
- Dans l’éditeur, le Type d’instruction propose deux options clairement expliquées : Remplacer la politique par défaut de Corgea ou Ajouter à la politique par défaut de Corgea.
- Laissez Projets, Motif de fichier (Glob) ou CWE vide pour appliquer la politique globalement.
- Lorsque le contrôle d’accès aux projets est activé, les utilisateurs disposant d’un périmètre restreint peuvent consulter les politiques qui leur sont visibles, mais uniquement modifier ou supprimer celles qui s’appliquent exclusivement à des projets auxquels ils ont accès.
Seules les politiques BLAST et Faux positif peuvent être testées dans Policy Playground. Les politiques de correctif peuvent toujours être créées dans le Policy Center, mais apparaissent sous la mention Fix (à venir) dans Policy Playground, car leur test n’est pas encore pris en charge.
Tester une politique
Pour tester une politique, sélectionnez un Projet et un fichier, puis cliquez sur Tester. Le bouton affiche l’indicateur Test en cours… pendant le scan et reste désactivé jusqu’à la fin. Si une information obligatoire manque, un message sous le bouton précise quoi ajouter : projet, fichier ou instructions de la politique. Par défaut, le sélecteur ne répertorie que les fichiers dans lesquels des problèmes ont déjà été détectés. Pour effectuer un test sur un fichier qui n’existe pas encore, activez Nouveau fichier de test, sélectionnez un projet et saisissez un nom de fichier. Le projet fournit au scan le contexte du langage et du framework ; vous pouvez ensuite écrire votre propre code dans l’éditeur pour tester la politique.
Examiner les résultats
Une fois le scan terminé, les résultats s’affichent sous l’aperçu du fichier. Chaque résultat est présenté sur une ligne extensible indiquant sa sévérité, son CWE et son numéro de ligne. Développez le résultat pour lire son explication et utilisez Aller à la ligne pour accéder à la ligne concernée dans l’aperçu.

Règles de scan et de commentaires sur les pull requests
Ces règles déterminent quand Corgea scanne les pull requests et quand il y publie des commentaires sur les résultats.- Scanner uniquement exécute le scan de la pull request sans publier de commentaires sur les résultats.
- Scanner et commenter exécute le scan et commente les résultats qui correspondent à la règle.
- Sévérité limite les correspondances aux niveaux sélectionnés. Laissez ce champ vide pour accepter toutes les sévérités.
- Classification à commenter limite les commentaires aux types de CWE sélectionnés. Laissez ce champ vide pour commenter toutes les CWE correspondantes.
- Projets et Tags de projet définissent le périmètre de la règle. Une règle s’applique lorsqu’un projet est sélectionné directement ou porte l’un des tags sélectionnés. Si les deux champs sont vides, elle s’applique à tous les projets.
- Intégrations peut restreindre davantage la règle aux pull requests provenant des intégrations GitHub, GitLab ou Azure DevOps sélectionnées. Laissez ce champ vide pour utiliser uniquement le périmètre des projets et de leurs tags.
Bonnes pratiques relatives aux politiques
Lors de la rédaction de politiques, suivez ces meilleures pratiques pour fournir un contexte efficace :- Décrivez précisément votre environnement : détaillez votre infrastructure, vos contrôles de sécurité et vos mesures compensatoires.
- Incluez la logique métier : expliquez les règles de validation propres à l’entreprise, les flux de données et les exigences de sécurité.
- Décrivez l’architecture de sécurité : documentez vos couches de sécurité, vos frontières de confiance et vos mécanismes de protection.
- Définissez le contexte des données : précisez comment les différents types de données doivent être traités dans votre environnement.
- Documentez les exceptions : indiquez les cas métier légitimes qui peuvent expliquer des problèmes de sécurité apparents.
Exemples
Lors de la création d’exemples de politiques, suivez ces conseils pour les rendre plus efficaces :-
Utilisez plusieurs exemples : incluez 3 à 5 exemples variés pour chaque type de politique afin de :
- Montrer différents cas d’usage et scénarios
- Couvrir les cas particuliers propres à votre environnement
- Présenter différents niveaux de complexité
- Illustrer différents contrôles de sécurité et mesures compensatoires
-
Rendez les exemples pertinents : assurez-vous que vos exemples :
- Reflètent votre infrastructure et votre architecture réelles
- Incluez de véritables contrôles de sécurité que vous utilisez
- Font référence à vos outils et frameworks
- Correspondent à vos conventions et pratiques de développement
-
Structurez clairement les exemples : utilisez :
- Des titres de section et libellés explicites
- Une mise en forme et une indentation cohérentes
- Des commentaires détaillés expliquant les points clés
- Des tags pour séparer les différents composants
-
Incluez le contexte : chaque exemple doit préciser :
- Le scénario métier concerné
- Les détails pertinents de l’infrastructure
- Les contrôles de sécurité en place
- Le comportement et les résultats attendus
Exemple de politique BLAST
Type de politique : BLASTExemple de politique de faux positif
Type de politique : Faux positifExemple de politique de correction
Voici un exemple de politique de correctif qui utilise un middleware personnalisé pour se protéger contre les vulnérabilités XSS : Type de politique : CorrectifPolitiques générées par le prework
Lorsque le prework est activé pour votre entreprise, Corgea peut générer des politiques à partir du contexte du projet avant la fin du scan principal.- Les politiques générées apparaissent dans le tableau Policies avec
Sourcedéfini sur Generated By Corgea Prework. - Dans les détails du scan, l’onglet Policies affiche toutes les politiques appliquées à ce scan, y compris les versions archivées ou inactives, et permet d’ouvrir une politique pour en consulter le détail.
- Si Policy Review est activé dans Policies > Settings, les politiques générées sont créées comme Inactive afin que votre équipe puisse les examiner et les activer manuellement.
Générer une politique
Vous pouvez lancer manuellement la génération d’une politique depuis la page PolicyIQ à tout moment.1
Cliquer sur Generate Policy
Sur la page PolicyIQ, cliquez sur le bouton Generate Policy en haut à droite.

2
Remplir le formulaire de génération
Dans la boîte de dialogue, sélectionnez un Pattern (par exemple Authentication), un Project et un Policy Type. Cliquez sur Generate pour lancer la génération.

3
Attendre la fin du prework
Corgea exécute en arrière-plan un scan Corgea-Prework pour analyser votre projet. Vous pouvez suivre sa progression depuis la page Scans.

4
Examiner la politique générée
Une fois le scan terminé, la politique apparaît dans le tableau Policies. Ouvrez-la pour consulter les détails, y compris la description enrichie des motifs de code réels trouvés dans le projet.

Configuration des politiques Corgea en YAML
Vous pouvez définir des politiques de sécurité pour vos projets avec un fichiercorgea.yaml. Ce fichier permet de préciser notamment :
- des identifiants CWE
- des politiques propres à des sous-dossiers
- le test de nouvelles politiques sur une branche séparée
Scale ou Enterprise et doit être activée. Pour en savoir plus, consultez https://corgea.com/contact.
Un dépôt d’exemple est disponible ici : Example Repository.
Vous pouvez définir des politiques principales pour le contexte général.
Des exemples de politiques par sous-dossier :
Ces configurations tiennent compte du rôle de chaque dossier lors de la détection. Elles sont particulièrement utiles dans un monorepo, où chaque partie du dépôt a un contexte distinct.
Workflow de mise à jour de corgea.yaml
1
Créer une branche et lancer un scan
Créez une branche avec le fichier corgea.yaml et ouvrez une pull request. Un scan de la branche se lance automatiquement. Vous pouvez aussi le déclencher manuellement depuis la page du projet.

2
Examiner le fichier de politiques
Ouvrez PolicyIQ, puis la section 
Policy File in Repos.
3
Examiner les politiques issues du fichier
Ouvrez la section pour consulter les politiques générées à partir de corgea.yaml.

4
Ouvrir Associated Issues
Cliquez sur la colonne 
Associated Issues pour voir les résultats déclenchés par cette politique.
5
Ajuster, tester, puis fusionner la pull request
Modifiez la configuration jusqu’à obtenir les résultats attendus, puis fusionnez la pull request pour intégrer corgea.yaml dans la branche principale.
Configuration de base de corgea.yaml
Une configuration de base de corgea.yaml se présente ainsi :type: type de politique. Valeurs possibles :scan,false_positive,fixdescription: contenu de la politique. Ajoutez le contexte ou les règles de sécurité internes qui doivent orienter les résultats.
Configuration avancée de corgea.yaml
Vous pouvez aussi ajouter ces champs :instruction_type: définit l’interaction avec les politiques intégrées de Corgea."append"ajoute vos instructions aux politiques intégrées."overwrite"(valeur par défaut) remplace entièrement le comportement par défaut de Corgea.guidance_text: consignes statiques facultatives affichées lorsque les développeurs consultent les problèmes associés à la politique, y compris dans les explications et les corrections suggérées. Utilisez-les pour des instructions d’équipe, des liens internes ou un contexte de remédiation.
cwes: applicable uniquement àfixetfalse_positive. Restreint la politique à certains CWE. Exemple :
excludes: exclut des chemins d’un scan de politique donné à l’aide d’expressions glob.
ignore_paths: exclut des dossiers de tous les scans et de la création de nouveaux résultats. (Ces chemins sont ignorés globalement, pas seulement pour une politique. Un motif tel que**/vendor/**correspond à n’importe quelle profondeur.)
path: permet de tout gérer dans un seul fichier plutôt que d’avoir un corgea.yaml par sous-dossier.
1
La page PolicyIQ affiche cinq politiques générées.

2
Vous pouvez consulter chaque politique avec son chemin associé.

