Gate CI/CD¶
Sans agent ni client MCP, un job Jenkins, GitLab ou GitHub peut bloquer un déploiement tant que
des findings critiques restent ouverts. La commande security-review-ci gate le fait par l'API
REST du contrôleur, avec un jeton ci : elle ne nécessite que
Python 3.14 sur l'agent de build (ni pilote de base, ni SQLModel, ni URL de base). La CLI du
contrôleur (security-review-controller) n'a aucune commande de pipeline.
security-review-ci gate --project portal --fail-on high
# code de sortie : 0 = passe, 1 = bloqué, 2 = erreur (projet/rapport introuvable, hors du jeton,
# contrôleur injoignable, jeton refusé)
# options : --report-id N pour ne juger qu'un rapport
Le client, son installation, le jeton ci et des exemples de pipeline pour GitHub Actions,
GitLab CI, Jenkins, Azure Pipelines, Bitbucket Pipelines et CircleCI : voir
Client de pipeline (CI/CD).
Un finding sort du blocage quand une personne le passe à fixed, accepted ou
false_positive dans l'interface web : la
décision reste tracée en base avec son motif et son approbateur. Un agent peut seulement
proposer un statut (propose_finding_status), ce qui ne débloque pas la gate. Une acceptation
ou un faux positif expire : à partir de sa date d'expiration, le finding bloque de nouveau. Une
décision est reprise sur le même problème signalé par un rapport ultérieur
(finding signalé de nouveau) : la gate du rapport
suivant ne bloque pas sur un risque accepté. Le code de sortie de scan-code et scan-deps, en
revanche, compte toutes les correspondances au-dessus de son seuil (voir le
pipeline type).