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 lors de la consultation des problèmes auxquels la politique s’est appliquée.
-
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 : CorrectifPrework-generated policies
When prework is enabled for your company, Corgea can generate policies from your project context before the main scan completes.- Generated policies appear in the Policies table with
Sourceset to Generated By Corgea Prework. - In scan details, the Policies tab shows all policies applied to that specific scan, including older archived or inactive versions, and lets you open the policy for more details.
- If Policy Review is enabled from Policies > Settings, generated policies are created as Inactive so your team can review and activate them manually.
Generating a Policy
You can manually trigger policy generation directly from the PolicyIQ page at any time.1
Click Generate Policy
On the PolicyIQ page, click the Generate Policy button in the top-right area.

2
Fill Out the Generation Form
In the dialog, select a Pattern (e.g., Authentication), choose a Project, and select a Policy Type. Click Generate to start.

3
Wait for Prework to Complete
Corgea runs a Corgea-Prework scan in the background to analyze your project. You can monitor its progress from the Scans page.

4
Review the Generated Policy
Once complete, the generated policy appears in the Policies table. Click on it to review the policy details, including the description populated with real code patterns found in your project.

Corgea Policy YAML Configuration Support
Customers can now define security policies for their projects using acorgea.yaml file. This configuration file enables the specification of detailed security policies, such as:
- Specific CWE identifiers
- Policies tailored to sub-folders
- Testing new policies on a separate branch
Scale or Enterprise plan and requires additional enablement. Please contact us at https://corgea.com/contact for more information.
For reference, you can view an example repository here: Example Repository.
You can have - Main Policies for general policy.
Examples of sub-folder specific policies can be found in sub-folders like:
These configurations help identify vulnerabilities by considering the context of each folder’s responsibilities. This is particularly useful for monorepos, allowing developers to configure the right context.
Workflow for Updating corgea.yaml
1
Create Branch and Trigger Scan
Create a new branch with the corgea.yaml file and open a pull request. This will automatically trigger a scan on the branch. Alternatively, you can manually trigger a scan from the project page.

2
Review Policy File
Go to the PoliciesIQ page, where you will find a section labeled 
Policy File in Repos.
3
Review Policies from Policy File
Click on the section to review the specific policies generated by the corgea.yaml file.

4
Click on `Associated Issues`
Click on the 
Associated Issues column to see issues triggered from this policy.
5
Update and Experiment or Merge Your PR
Make further modifications until the results meet your expectations, then merge your pull request to include the corgea.yaml file in the main branch.
Basic configuration for corgea.yaml
Basic configuration of corgea.yaml looks like this :type: type of policy. This can be one of “scan”, “false_positive”, “fix”descriptioncontents of policy. Explain additional context or internal security guidelines to tailor security vulnerabilities findings.
Advanced configuration for corgea.yaml
Optionally, you can add these fieldsinstruction_type: Determines how your policy instructions interact with Corgea’s built-in policies. Can be set to"append"or"overwrite". When set to"append", your policy instructions are added to Corgea’s built-in policies, preserving both sets of rules. When set to"overwrite"(default), your policy instructions completely replace Corgea’s default behavior.guidance_text: Optional static guidance shown to developers when viewing issues associated with the policy. Use this for team-specific instructions, internal links, or remediation context.
cwes: Only applicable to “fix”, or “false_positive”. It can apply specific policy to specific cwes. As an example,
excludes: If you want to exclude some paths for a specific policy scan, you can list those files using a glob expression.
ignore_paths: If you want to exclude folders globally from all scans and new issue creation, you can specify them here. (Note: these file paths are ignored globally, not just for a specific policy. Patterns such as**/vendor/**match at any directory depth.)
path: Instead of having separate corgea.yaml files under sub-folders, you can manage everything centrally by setting path.
1
La page PolicyIQ affiche cinq politiques générées.

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

