Vérifiez un rapport signé sans nous.
Déposez le paquet de preuves que vous avez reçu, tel qu'il vous est parvenu. Toute la chaîne est vérifiée ici même, dans cet onglet, avec notre clé de signature, intégrée à cette page. Rien à décompresser, aucun certificat à chercher, aucune clé à saisir, et aucune requête ne quitte la page : le verdict ne dépend ni de notre disponibilité, ni de notre honnêteté, ni de notre existence.
Faire le contrôle
Un seul fichier : le .zip dans lequel le rapport a été livré. Tout ce dont la vérification a besoin s'y trouve : les octets du rapport tels qu'ils ont été signés, l'attestation qui les couvre et le certificat qui nomme la clé de signature. Choisissez l'archive et lancez la vérification. Si l'on vous a envoyé seulement le .attestkeep.json, collez-le à la place.
Chaque maillon de la chaîne
- Certificat : signé par la clé racine Attestkeep
- Enveloppe : signée par la clé de preuves de l'installation
- Correspondance : le rapport et le certificat nomment la même installation
- Rapport : les octets en main donnent le digest que nomme la signature
Vérifié
Les vérifications de signature ont réussi. Tout ce qui suit est lu dans les documents vérifiés eux-mêmes.
La signature est authentique, mais le predicateType ci-dessous n'est pas le type des preuves de conformité. Quoi que ce statement atteste, ce n'est pas un rapport de conformité Attestkeep.
Certificat de licence
- kid
- licence
- plan
- empreinte
- valide jusqu'au
Attestation du rapport
- keyid
- predicateType
- subject
- subject sha256
- report_id
- framework
- period.start
- period.end
- fingerprint
- generated_at
- generated_by
- generator
Le digest du subject est le SHA-256 du fichier de rapport sur lequel porte cette attestation. Pour relier l'attestation à la copie que vous avez en main, calculez le hash de cette copie (sha256sum report.json) et comparez-le au digest ci-dessus. S'ils correspondent, le rapport que vous détenez est, octet pour octet, celui qui a été signé.
Non vérifié
Raison :
Cette paire a pu être modifiée ou mal appariée, et rien sur cette page ne garantit quoi que ce soit de ce qu'elle dit. Ne la traitez pas comme une preuve. Un échec peut aussi avoir des causes innocentes (une copie tronquée, un certificat appartenant à une autre installation que le rapport, un fichier qui n'est pas l'enveloppe) : vérifiez d'abord ces points, puis demandez à l'opérateur de l'installation une nouvelle copie des deux.
Rapport
Le rapport
- ID du rapport
- Framework
- Période
- Organisation
- Cluster
- Kubernetes
- Operator
- Nodes
- Namespaces surveillés
Contrôles couverts
- Satisfaite
- Partielle
- Écart
- Hors périmètre
Verdicts
Images
| Image | Verdict | Admission | Critical | High | Medium | Low | Unknown | Dernier scan |
|---|
aucun
Admission
- Reviews enregistrées
- Admis
- Refusés
Refusés
| Heure | Namespace | Pod | Image | Raison |
|---|
aucun
Décisions de triage
| CVE | Image | Statut | Justification | Trié par | Expire |
|---|
aucun
Disponibilité
- Failure policy du webhook
- Continue
Pannes
| Début | Fin | Détail |
|---|
aucun
Jamais scannées
| Image | Repérée le | Raison |
|---|
aucun
Chaîne de preuves
| Heure | Action | Acteur | Image | Résultat |
|---|
aucun
JSON brut — exactement les octets signés
D'où vient la clé
Aucune à saisir. La page porte la seule clé à laquelle on vous demande de vous fier, la nôtre :
kid: ak1
ed25519: e287aabe4712197cfa5b6fdf9ea8f2d7f0333ce16ca69aac7e4a3f1e84c04179Tout le reste est garanti par une chaîne. Le certificat de licence est un document que nous signons avec cette clé ; à l'intérieur, le champ cnf.jwk nomme la clé de signature de preuves de l'installation sous licence. Cette clé signe l'enveloppe DSSE, et le digest de l'enveloppe épingle le rapport. La page vérifie aussi que le certificat et le rapport nomment la même empreinte de cluster. Sans cette étape, on pourrait poser un certificat authentique à côté d'une enveloppe authentique venant d'une autre installation, et la paire aurait l'air d'une preuve.
La chaîne existe parce que l'ancienne méthode avait une faille. Un vérificateur qui accepte une clé publique des mains de celui qui apporte le document prouve seulement que le document est cohérent avec lui-même : un faussaire génère une paire de clés, signe un rapport inventé et vous remet les deux. La chaîne remplace « la clé que l'auteur du rapport vous a remise » par « la clé que nous avons certifiée pour cette installation » : un seul point de confiance, tenu par une partie qui n'a aucun intérêt dans le contenu du rapport.
Cette page ne propose pas ce contrôle plus faible. Il n'y a aucun champ pour une clé publique : le certificat est lu dans le paquet lui-même, et une enveloppe qui arrive sans certificat est refusée.
Ce qu'un succès prouve — et ne prouve pas
Un résultat vert ci-dessus prouve exactement deux choses :
- les documents n'ont pas changé depuis leur signature : modifiez un seul caractère, même dans un horodatage, et la vérification échoue ;
- le rapport vient de l'installation que nomme notre certificat : son enveloppe a été signée par la clé que garantit le certificat, et tous deux nomment le même cluster.
Il ne prouve rien de plus, et ces deux limites méritent d'être énoncées en entier :
Ce n'est pas une signature électronique au sens juridique. Aucun certificat qualifié n'est en jeu et aucune loi sur la signature électronique (eIDAS dans l'UE, la loi 5070 en Turquie) ne s'y applique. C'est un contrôle d'intégrité cryptographique. Si votre processus exige une signature juridiquement reconnue, ce contrôle ne la remplace pas.
Le contrôle ne prouve pas quand le document a été signé. L'horodatage generated_at et la période d'audit sont la déclaration de l'installation elle-même, lue sur sa propre horloge. Aucune autorité d'horodatage n'intervient ; une signature faite aujourd'hui sur la date d'hier serait vérifiée tout autant. Si l'heure doit être prouvée, cette preuve doit venir d'ailleurs.
Une précision honnête de plus : la signature garantit le document, pas le monde. Elle prouve que le rapport est exactement ce que cette installation a produit, et non que les événements qu'il décrit se sont passés comme décrit.
Rien ne quitte cette page
Le vérificateur est du JavaScript ordinaire servi par ce site (hachage et arithmétique Ed25519 compris), sans bibliothèque tierce ni CDN. Vous n'êtes pas obligé de nous croire sur parole : ouvrez le panneau réseau de votre navigateur pendant la vérification, ou chargez la page, coupez complètement le réseau et vérifiez hors ligne. Le résultat est le même, car aucun des deux documents n'est jamais transmis.
Le format (chaque champ du predicate, la forme de l'enveloppe, le certificat, l'encodage qui est signé) est spécifié dans l'attestation de preuves de conformité, v1. Son exemple signé est une enveloppe seule, sans certificat de licence : cette page le refuse donc, mais le script de la documentation ou toute implémentation DSSE le vérifie.
Mis à jour : 14 octobre 2026