Aller au contenu

Ledger CVD — consommer + publier

Le schéma 108 (2026-05-25) livre deux faces d’une même pièce : nous consommons le ledger CVD public d’Anthropic pour donner aux opérateurs une alerte précoce sur des paquets avec des vulnérabilités scellées, et nous permettons aux tenants software-vendor de publier leur propre ledger dans le même format — preuve utile pour CRA Annexe I §11-12.

Voie A — Consommer le ledger d’Anthropic (alerte précoce)

Section intitulée « Voie A — Consommer le ledger d’Anthropic (alerte précoce) »

Le programme de divulgation coordonnée d’Anthropic publie des commitments hash SHA-3-512 de rapports scellés avant la fermeture de la fenêtre de divulgation. Les détails effectifs ne deviennent publics que plus tard, mais le nom de projet + bug class + commitment hash sont visibles dès le premier jour. monsys consomme ce flux quotidiennement et le matche contre votre inventaire.

ComposantQuoi
CVDLedgerWorkerSonde red.anthropic.com/2026/cvd/ledger/payload.json toutes les 24 h
cvd_ledger_entriesCache local de chaque entrée ledger jamais vue
cvd_predisclosure_findingsMatch par (tenant, agent, entry) contre inventory_packages + inventory_dependencies
Catégorie /recommendations cvd.predisclosureAffiche les findings matchés — severity = medium pour pre-disclosure, high une fois divulgué, info une fois fixé

Confidentialité : le worker fait un GET one-shot ; pas de query-string par tenant, pas de métadonnée agent ne quitte le hub. Anthropic n’apprend rien sur votre inventaire.

Playbook opérateur pour un hit CVD pré-divulgation :

  1. Notez le nom du projet + bug class.
  2. Épinglez votre version actuelle qui fonctionne (ex : npm pin, pip-compile --upgrade-package, apt-mark hold).
  3. Abonnez-vous au flux de release upstream du projet.
  4. Planifiez une fenêtre de patch autour de disclosure_eta. Quand les détails atterrissent, vous pouvez bouger en heures, pas en jours.
  5. Acquittez le finding une fois que vous avez pris une action préventive.

Si votre tenant est un software vendor sous CRA Annexe I §11-12 (“le fabricant doit gérer les vulnérabilités efficacement”), vous pouvez publier vos propres vulns découvertes selon le même pattern qu’utilise Anthropic :

  1. Phase commit (POST /api/v1/vuln-ledger) :
    • Body : { project, bug_class, payload, disclose_at }
    • Nous calculons SHA-512 du payload canonical-sérialisé, le chiffrons avec CLOUD_ENCRYPTION_KEY, stockons les deux, et ancrons le hash dans notre transparency log existant (mig 092) pour qu’il fasse partie de la hash-chain monotone.
  2. Vue publique (GET /v/{public_slug}/ledger) : pas d’auth, pas de fuite tenant_id. Les entrées pré-divulgation montrent seulement project + bug class + hash + committed_at. Après disclose_at et une fois que vous PATCHez status à disclosed/fixed, le public_summary + advisory_id + fix_commit_url deviennent visibles.
  3. Tamper-evidence : chaque transparency_entry_id référence la hash-chain publique. Un auditeur peut vérifier “votre commitment était dans la chain à la position N avant le temps T”.

Endpoints :

MéthodePathAuthQuoi
GET/api/v1/vuln-ledgercookieListe côté opérateur (tous les états)
POST/api/v1/vuln-ledgercookieCommit une entrée scellée
PATCH/api/v1/vuln-ledger/:idcookieMet à jour status / public summary / advisory_id / fix_commit_url
GET/v/:slug/ledgeraucuneVue publique du ledger (rate-limited 60/min)

Slug tenant : auto-seedé à lower(12 premiers chars du tenant_id) à l’application de mig 108. Override via UI plus tard.

Conformité : nouveau contrôle CRA-AnnexI-11-vuln-handling auto-évalué en comptant les entrées tenant_vuln_ledger committées dans les 90 derniers jours.

Le pattern est identique dans les deux sens :

Découverte → Commitment cryptographique MAINTENANT
Détails scellés
Fenêtre de divulgation
Révélation publique

Quand Anthropic découvre, vous consommez. Quand votre tenant découvre, vous publiez dans le même format. L’ancrage transparency-log rend les deux faces vérifiables par n’importe quel tiers avec un script.

  • Assignation CVE publique : vous remplissez toujours une CVE auprès de MITRE / le CNA du paquet. Nous n’émettons pas d’IDs CVE.
  • Divulgation coordonnée avec le maintainer : travail humain, hors plateforme.
  • Pen-test ou découverte de vuln elle-même : nous enregistrons ce que vous trouvez ; trouver est le travail de votre équipe (ou d’une firme de recherche).
Fenêtre de terminal
# Pull du payload public
curl -s https://api.monsys.ai/v/<slug>/ledger | jq
# Cross-verify d'un hash contre le transparency log
curl -s https://api.monsys.ai/api/v1/transparency/log/<entry_id> | jq
# Source Anthropic (pour contexte)
curl -s https://red.anthropic.com/2026/cvd/ledger/payload.json | jq