Pas des bugs. Des modifications qui apparaîtraient lors d'un audit. Neuf familles, mappées à ISO 27001:2022 et SOC 2. La liste définit le niveau de détail de la revue, pas les 93 lignes de l'Annexe A.
Une modification pertinente pour la conformité est un diff qui importerait lors d'un audit : il modifie qui peut accéder à quoi, ce qui est journalisé, la durée de conservation d'une trace, la manière dont un secret est stocké, ou si un contrôle dispose toujours de preuves. Il ne s'agit généralement pas d'un bug. Les tests peuvent rester verts. Le code peut être plus court. L'obligation est plus faible après la fusion qu'avant.
heygrc n'exécute pas de pack de règles fixe. Il analyse la pull request par rapport aux cadres que vous avez sélectionnés (Annexe A de l'ISO 27001:2022, TSC SOC 2, RGPD, NIS 2 et le reste du catalogue) ainsi que le contexte de l'entreprise que vous lui avez fourni. Les familles ci-dessous sont les formes que la revue recherche. Elles ne couvrent pas tous les contrôles de l'Annexe A, et elles ne garantissent pas que chaque ligne sera déclenchée dans chaque dépôt.
Familles de modifications et les clauses qu'elles citent généralement
| Famille de modifications | ISO 27001:2022 | SOC 2 |
|---|---|---|
| Contrôle d'accès et autorisation | A.5.15 à A.5.18, A.8.2 à A.8.5 | CC6 |
| Authentification | A.8.5 | CC6 |
| Journalisation, surveillance et durée de conservation des traces | A.8.15, A.8.16 | CC7 |
| Gestion des données : nouveaux champs PII, exports, masquage, suppression | A.8.10 à A.8.12 | CC6 |
| Chiffrement en transit et au repos, gestion des clés | A.8.24 | CC6 |
| Secrets et identifiants dans le code ou la configuration | A.8.24 | CC6 |
| Fournisseurs et tiers : SDK, sous-traitants, flux sortants | A.5.19 à A.5.23 | CC9 |
| Règles de conservation et de suppression | A.8.10, A.5.33 | CC6 |
| Preuves d'audit : approbations, portes CI, migrations | A.8.32, A.5.33 | CC8 |
Les neuf familles
Contrôle d'accès et autorisation : rôles, permissions, sécurité au niveau des lignes, chemins d'administration. Un rôle IAM élargi ou une nouvelle route non authentifiée appartient à cette famille. ISO 27001:2022 A.5.15 à A.5.18 et A.8.2 à A.8.5. SOC 2 CC6.
Authentification : MFA, sessions, gestion des identifiants. Une route privilégiée qui nécessitait auparavant un deuxième facteur et qui maintenant ne nécessite qu'une session appartient à cette famille. A.8.5. SOC 2 CC6.
Journalisation, surveillance et traces d'audit, y compris leur durée de conservation. Prenez ceci comme exemple : réduire la conservation des journaux d'audit de 365 jours à 30 jours correspond à A.8.15 et SOC 2 CC7.2. La surveillance est associée à A.8.16.
Gestion des données : un nouveau champ PII, un export, un masquage supprimé, un chemin de suppression qui omet un stockage. A.8.10 à A.8.12. SOC 2 CC6 lorsque la modification concerne qui peut accéder aux données.
Chiffrement en transit et au repos, et gestion des clés. A.8.24. SOC 2 CC6.
Secrets et identifiants dans le code ou la configuration. Une clé collée dans le code source est un secret exposé. A.8.24. SOC 2 CC6.
Fournisseurs et tiers : un nouveau SDK, un sous-traitant, un flux de données sortant qui n'existait pas hier. A.5.19 à A.5.23. SOC 2 CC9 lorsque la modification concerne une relation fournisseur exprimée dans le code.
Règles de conservation et de suppression. Une nouvelle table d'événements identifiés sans tâche de purge. A.8.10 et A.5.33. SOC 2 CC6.
Preuves d'audit : approbations, portes CI, migrations qui suppriment une vérification requise. A.8.32 et A.5.33. SOC 2 CC8. Une modification de CODEOWNERS qui supprime un propriétaire de domaine appartient à cette famille.
Comment cela s'intègre au guide ISO dans le dépôt
La plupart de ces familles se situent dans le thème A.8 de l'Annexe A, les contrôles technologiques. Il s'agit de la même partie que le guide ISO 27001 dans le dépôt : journalisation, authentification, restriction d'accès, cryptographie, gestion des changements. Certaines familles citent également A.5 lorsque la modification concerne la manière dont vous accordez l'accès, ajoutez un fournisseur ou conservez des enregistrements. La liste des 93 contrôles de l'Annexe A reste au mauvais niveau de détail. Vous n'implémentez pas 93 éléments sous forme de liste de contrôle de code. La Déclaration d'applicabilité est l'endroit où ces décisions sont consignées.
RGPD, NIS 2, HIPAA, CCPA et le reste du catalogue réutilisent les mêmes familles de modifications et citent leurs propres clauses. Les colonnes ISO et SOC 2 dans le tableau sont les destinations habituelles. Elles ne sont pas les seules destinations.
Gravité et une modification qui améliore un contrôle
La gravité correspond au risque de conformité lié à la fusion de la pull request en l'état. Un constat identifie le contrôle afin que l'équipe puisse décider en connaissance de cause. Une pull request qui rétablit la MFA, prolonge la durée de conservation ou supprime une clé codée en dur n'est pas un constat. Cette modification reçoit une note dans le résumé.
heygrc publie par défaut une vérification GitHub neutre. Il ne vous certifie pas, ne rédige pas la Déclaration d'applicabilité et ne remplace pas un auditeur. Il est disponible en tant qu'application GitHub. Utilisez-le comme un relecteur de la modification.