Skip to content

🛡️ Contrôles déterministes ​

🛡️ Contrôles déterministesGardes, jalons, contrats & sondes

Gardes, jalons, contrats et sondes sont des règles exécutables qui renvoient succès ou échec.

Pourquoi ​

Les agents génèrent des changements plus vite que les personnes ne peuvent les relire. Les règles de sécurité doivent s’exécuter automatiquement.

Une squad ou un agent devrait avoir du mal à faire quelque chose de risqué, et ne devrait jamais avoir de mal à faire quelque chose de sûr.

Une politique écrite n’est pas un contrôle tant qu’elle n’est pas exécutable.

Contrôles déterministes et Contexte persistant ​

Les contrôles déterministes ne sont pas la même chose que le Contexte persistant, mais ils en font partie intégrante.

  • Des rôles distincts. Le contexte guide le modèle ; les contrôles imposent des règles avec un résultat succès/échec.
  • Une même distribution. Les contrôles sont des skills versionnés dans un dépôt partagé ou propre au projet. Les projets les installent comme les autres éléments de contexte. Voir coding-pal.

Vérifications automatisées et contrôles déterministes ​

Les deux sont déterministes : un script renvoie un succès ou un échec, jamais une opinion. Ils diffèrent par ce qu’ils vérifient.

Vérifications automatiséesContrôles déterministes
QuoiCompilateur et build, vérifications de typage, linters et tests automatisés générés avec le codeGardes, jalons, contrats et sondes
ObjectifProuver que le code fonctionneProuver que le changement peut être fusionné et mis en production sans risque
Où ils s’exécutentDans le harness de l’agent lors de 4 — Code, puis à nouveau dans la CI sur la pull request lors de 5 — ProveAux deux mêmes endroits
L’agent peut-il les modifier ?L’agent écrit les tests, il peut donc les éditerLes règles et scripts sont fixes ; l’agent les exécute mais ne les modifie pas. Les suites de tests générées sont tenues en respect par la vérification des tests de critères et les tests de mutation

Exécutez les contrôles dans le harness de l’agent pour corriger vite. Répétez-les en CI propre, avec les contrôles propres à la CI, comme les smoke tests.

Les contrôles ​

ContrôleTypeS’exécute dansApplicationObjectif
Protection des secrets et des pushsGarde (Guard)Harness de l’agent, au commit et en CIHooks Git de la plateforme et CIBloque immédiatement les commits contenant des identifiants, jetons ou clés privées
Policy-as-CodeGarde (Guard)Harness de l’agent et CIOpen Policy Agent (OPA) / ConftestApplique de façon déterministe les règles d’infrastructure, de sécurité et de configuration cloud
Scan de licences et SASTGarde (Guard)Harness de l’agent et CISemgrep / Snyk / TrivyBloque les licences open source non autorisées et les dépendances présentant des vulnérabilités connues
Réexécution CI propre (Clean CI Re-run)Jalon (Gate)CI (filet de sécurité)CI dans un environnement viergeRépète les vérifications et contrôles sur la pull request, là où l’agent ne peut pas influencer le résultat
Vérification des tests de critèresJalon (Gate)Harness de l’agent et CIExécuteur de testsProuve que 100 % des critères d’acceptation du dossier Plan possèdent des assertions qui passent
Seuil de tests de mutationJalon (Gate)Harness de l’agent et CIStryker / MutmutProuve que les suites de tests générées sont pertinentes et détectent réellement les défauts injectés
Compatibilité des contrats et schémasContrat (Contract)Harness de l’agent et CIOpenAPI / JSON Schema / PactProuve que les modifications ne cassent pas les consommateurs externes ni les API aval
Tests d’APIContrat (Contract)Harness de l’agent et CITests d’API HTTP (par ex. Supertest)Prouve que chaque point de terminaison renvoie les codes de statut et réponses convenus
Tests de fuzzingSonde (Probe)CI (prévisualisation)Fuzzing d’API depuis la spécification OpenAPI (par ex. RESTler)Prouve que l’API gère les entrées inattendues et malformées sans erreurs ni crashs
Tests de base de donnéesJalon (Gate)Harness de l’agent et CIAssertions SQL sur une base migréeProuve que le schéma et les migrations se comportent comme spécifié
Tests E2ESonde (Probe)CI (prévisualisation)Tests navigateur de parcours utilisateurs réels (par ex. Playwright)Prouve que les parcours principaux fonctionnent sur l’application en cours d’exécution
Smoke tests de prévisualisationSonde (Probe)CI (prévisualisation)Environnement éphémère de prévisualisationProuve que l’application démarre, route le trafic et répond aux health checks

Comment les contrôles se renforcent ​

L’étape 7 — Learn alimente directement cette page : tout défaut ou rollback qu’un contrôle aurait dû intercepter plus tôt se traduit par un jalon, un seuil ou une sonde plus strict.

Mode de défaillance à éviter ​

Les contrôles qui se déclenchent constamment sur des faux positifs finissent par être désactivés. Chaque contrôle a un responsable qui surveille son rapport signal/bruit ; un contrôle régulièrement contourné est soit corrigé, soit supprimé, mais jamais laissé à titre décoratif.

Publié et maintenu par ALTEN