Repository navigation
feat(ca-server): revue a posteriori des décisions de la voie de secours (R-1) - #59
Closed
PhilippeVienne wants to merge 1 commit into
Closed
PhilippeVienne wants to merge 1 commit into
PhilippeVienne wants to merge 1 commit into
Conversation
Closed
6 tasks
PhilippeVienne
force-pushed
the
feat/cli-decision-provenance
branch
2 times, most recently
from
September 30, 2026 12:55
3cd0bec to
645d0a6
Compare
Merged
6 tasks
PhilippeVienne
force-pushed
the
feat/cli-decision-review
branch
from
September 30, 2026 13:00
a6b85cf to
0dd8116
Compare
…rs (R-1) Constat R-1 de l'audit du 2026-09-25, docs/WEBUI.md §20 et décision O4 : chaque décision prise par le CLI (authenticated_via: cli) doit être relue, et cette relecture doit laisser une trace. - `ca-server audit cli-decisions` relit le journal chaîné (ni base ni token ; une copie répliquée suffit, `--journal`) et liste les décisions de secours non encore revues, ou depuis `--since`. Codes de sortie 0 (rien à revoir), 1 (à revoir), 2 (journal illisible ou rompu). - `--acknowledge --reviewer … -- commentaire` consigne ra.cli_decisions_reviewed (relecteur, jusqu'au n°, séquences couvertes), annoté Via::Cli ; la revue suivante repart de là. Refusé sur une copie ou sans commentaire ; l'acquittement n'est pas relisté. Co-authored-by: Claude <noreply@anthropic.com>
PhilippeVienne
force-pushed
the
feat/cli-decision-provenance
branch
from
September 30, 2026 13:05
645d0a6 to
3bc45dc
Compare
PhilippeVienne
force-pushed
the
feat/cli-decision-review
branch
from
September 30, 2026 13:05
0dd8116 to
f6c6e5a
Compare
6 tasks
Contributor
Author
PhilippeVienne
added a commit
that referenced
this pull request
Oct 1, 2026
…a matrice (#84) Les correctifs de l'audit du 2026-09-25 sont tous sur dev (#52 à #59, via #76, #80, #82) : la matrice le dit, avec pour chaque ligne repassée en « couvert » une preuve de mise en service (règle D-2, #79) — pas seulement un test de bibliothèque. - bin/tsa-server/tests/serve.rs, le test du binaire, prouve désormais aussi : le refus de démarrer quand OPENEIDAS_ACCURACY ne couvre pas la dérive tolérée (T-1), le refus d'émettre avec une clé TSU expirée mais un certificat encore valide (T-3), la fraction de seconde de genTime (T-1), et le journal du jeton relu (série, empreinte soumise, état de l'horloge : J-3), en relisant audit-monitor.log après un horodatage réel. - Le job de démonstration Helm/kind interroge le répondeur OCSP pour un numéro jamais émis et exige `unknown` (O-1). - C-1 : preuve par les tests du binaire ca-server (ARL et certificat de la racine servis aux adresses gravées) ; R-2 : étape Helm qui refuse l'approbation automatique en production ; R-1 : actions signées relayées par ra-console et revue de la voie de secours, toutes deux testées sur les binaires. - Restent en écart, cible resserrée : l'authentification multifacteur (GEN-6.5.5-04 : la voie de secours CLI n'a pas de second facteur, son contrôle compensatoire — RBAC de l'hôte, trace non authentifiée, revue — est nommé dans le mécanisme, décision de l'utilisateur), la durée de conservation côté tsa-server (§7.10) et la nouvelle bi-clé à chaque renouvellement TSU (TIS-7.6.7). docs/ARCHITECTURE.md décrit le journal tel qu'il est. Bilan : 23 couvertes, 1 implémentée, 10 écarts, 2 hors périmètre (avant : 17 / 1 / 16 / 2). docs/CONFORMITE-ETSI.md régénéré. Co-authored-by: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Objet
Constat R-1 de l'audit du 2026-09-25,
docs/WEBUI.md§20, décision O4 : tranche C du découpage validé (A : #57 → B : #58 → C : cette PR). Empilée sur #58 (feat/cli-decision-provenance) : elle lit le champauthenticated_viaque #58 introduit. Merger #58 d'abord, puis rebaser celle-ci (git rebase --onto origin/dev <tête de #58>) et la rebrancher surdev.ca-server audit cli-decisionsrelit le journal chaîné — ni base ni token, une copie répliquée suffit (--journal) — et liste les décisionsauthenticated_via = "cli"non encore revues (ou depuis--since <RFC 3339>), en texte ou--json. Codes de sortie 0 (rien à revoir), 1 (à revoir), 2 (journal illisible ou rompu : rien n'est jugé) — même logique queoperators audit, exploitable par une CronJob d'alerte.--acknowledge --reviewer <nom> <commentaire>consignera.cli_decisions_reviewed(relecteur, commentaire,jusqu_a= tête lue, séquences couvertes), annotéVia::Cli+ identité système ; la revue suivante repart de là. Refusé sur une copie (--journal) et sans commentaire ; l'acquittement lui-même n'est jamais relisté comme décision.docs/CA.md: procédure de revue.Limites assumées
Vérifications
cargo fmt --check,cargo clippy --workspace --all-targets -- -D warnings(1.97 et 1.98.1),cargo test --workspaceavec PostgreSQL,cargo audit --ignore RUSTSEC-2023-0071: verts.bin/ca-server/tests/cli_review.rs: logique de revue (fenêtre par acquittement,--since), binaire réel (codes 0/1/2, acquittement refusé sans commentaire ou sur une copie sans rien écrire), journal falsifié → code 2 et rien de listé.cli) se relistait comme décision — corrigé.cli, sans la fenêtre d'acquittement, sans le refus d'acquitter une copie, sans l'exclusion de l'événement de revue.Revue humaine obligatoire
Voir PROVENANCE.md. Chaque case est cochée par le
contributeur humain qui valide la PR, après l'avoir fait lui-même.
make licenses)Assistance par IA
Co-authored-by: Claude <noreply@anthropic.com>, auteur et committer restent humains, etscripts/provenance.py archivea été lancé