CounterProof

Nous avons mesuré notre propre méthode, et elle n'a pas justifié son coût

Deux comparaisons préenregistrées et notées en aveugle entre notre dispositif de relecture complet et une seule passe économique, avec des audits professionnels publics comme corrigé. Le dispositif a perdu une cible nettement ; sur l'autre, il n'a déclenché son propre seuil de précision qu'en supprimant les constats que l'auditeur avait jugés réels (0–1 sur 4, selon le notateur). Ce que nous avons changé, ce que nous avons remesuré, et les trous qu'un audit ultérieur a trouvés dans la mesure elle-même.

En août 2026, nous avons mené l’expérience que notre propre rapport de cas devait depuis des mois : le dispositif de relecture complet que nous avons construit justifie-t-il son coût face à une seule passe économique ? Nous l’avons préenregistrée, notée en aveugle, et nous avons utilisé des audits professionnels publics comme corrigé. Il a perdu une cible nettement et n’a pas pu être désigné vainqueur sur l’autre. Puis, en septembre, un audit rétrospectif des exécutions a constaté que la comparaison n’était pas aussi propre que nous l’avions dit. Cette note porte tout cela, parce que la règle que cette pratique vend (une pratique incapable de montrer où elle s’est trompée n’a aucune autorité là où elle dit avoir raison) s’applique d’abord à nous.

Ce que nous avons fait

Deux cibles, toutes deux du code public accompagné d’un audit professionnel public à une révision nommée, de sorte que le corrigé existait avant notre début et n’était pas le nôtre :

  • Cible 1, BDK (bitcoindevkit/bdk_wallet à 775e4aee, v1.0.0-beta.2), face à l’audit Wizardsardine de décembre 2024 : douze constats au dénominateur. Exécution le 14 août.
  • Cible 2, ZF FROST (ZcashFoundation/frost à 5fa17ed, v0.6.0, frost-core), face à l’évaluation du NCC Group d’octobre 2023 : quatre constats au dénominateur. Exécution les 22 et 23 août.

Deux bras sur chacune. Bras A, le niveau économique : une passe par une seule lignée de modèles extérieure, avec vérification intégrée de ses propres citations. Bras B, le dispositif complet : un panel de lignées chercheuses, puis une instance « avocat du concepteur » qui défend les hypothèses de confiance voulues par le code, puis une vérification d’atteignabilité adversariale, puis un contrôle final. Les deux bras ont travaillé sur le code source avant correction, avec les mêmes règles d’engagement neutres quant aux constats, sans jamais savoir ce que l’audit avait trouvé. Les dénominateurs et la règle de correspondance (même puits et même mécanisme) ont été figés par écrit avant la notation. Chaque rapport a ensuite été noté par un analyste en aveugle n’ayant exécuté aucun des deux bras, qui a vérifié chaque affirmation contre le code source. La règle de décision était fixée d’avance : le dispositif justifie son coût s’il retrouve au moins deux constats d’auditeur de plus, ou si le bras économique livre au moins deux affirmations réfutées par le code source de plus.

Ce que nous avons trouvé

Niveau économiqueDispositif complet
Cible 1, retrouvés sur les 12 constats de l’auditeur86 (5 en lecture stricte)
Cible 1, affirmations réfutées par le code source, livrées0 sur 251 sur 39
Cible 2, retrouvés sur les 4 constats de l’auditeur40–1 (dépend du notateur, voir plus bas)
Cible 2, affirmations réfutées par le code source, livrées3 sur 111 sur 7 (0 chez le second notateur)

Sur la première cible, le dispositif a simplement fait moins bien : moins de constats retrouvés, une affirmation fausse de plus, environ six fois plus d’appels de modèles, deux instances indisponibles. Sur la seconde, il a fait exactement ce que notre hypothèse prévoyait, en réduisant les affirmations fausses dans un contexte bruyant (son seuil de précision préenregistré s’est déclenché) ; il l’a payé en supprimant les constats que l’auditeur avait jugés réels (les quatre chez un notateur, trois sur quatre chez un autre), après que son propre panel chercheur les avait tous les quatre trouvés. La règle préenregistrée n’avait aucun moyen de peser un gain de précision contre un effondrement des constats retrouvés, et n’a donc pu désigner aucun vainqueur ; nous n’appelons pas cela une victoire.

Le mécanisme était le même sur les deux cibles, et ce n’étaient pas les chercheurs. L’avocat et le contrôle d’atteignabilité écartent tout candidat qui repose sur « une hypothèse que le code documente, ou une partie à laquelle le modèle de menace fait confiance ». Ce test est satisfait aussi bien par les faux positifs (que l’on peut retirer sans risque) que par les constats réels dont tout l’intérêt est que l’hypothèse documentée n’est justement pas imposée. Sur FROST, les commentaires du code disaient eux-mêmes que l’appelant valide les entrées ; l’auditeur avait jugé que cette répartition précise était le défaut ; notre avocat a cru les commentaires. Les rejets pris un à un étaient des lectures défendables. L’erreur a été de trancher la question en silence, par suppression.

Ce que nous avons changé

  • Les filtres annotent ; ils ne suppriment plus. Une instance qui écarterait un constat pour un motif d’hypothèse, d’intention ou de confiance le signale désormais et le laisse dans le rapport, pour qu’une personne tranche.
  • Nous avons réassemblé dans ce mode les verdicts conservés de la cible 2, contre un test préenregistré (23 août ; les verdicts existants des filtres sont devenus des signalements, un changement d’étiquette et non une nouvelle exécution, notés cette fois par un seul notateur en aveugle sur les 24 candidats). Les constats retrouvés sont remontés à 4 sur 4, mécaniquement, puisque rien n’était supprimé. Le chiffre intéressant était le signalement : chacune des sept affirmations fausses portait un signalement, et aucun des sept éléments non signalés n’était faux ; sur cette cible unique, le signalement a fonctionné comme un crible. Mais dix des dix-sept éléments signalés étaient réels, dont six venaient de l’auditeur. Comme verdict, le même signalement est destructeur. Le signalement vous dit quoi regarder, pas quoi jeter : et ce qu’il en coûte à un relecteur de trancher dix-sept éléments signalés, ou si une personne sous contrainte de délai résiste à la suppression sur signalement, n’est pas testé.
  • Le niveau économique est le réglage par défaut : un choix de politique fondé sur deux exécutions, provisoire, et maintenu après que l’audit ci-dessous a réduit la comparaison à son seul écart de précision. Le panel lourd est réservé aux surfaces dont le taux brut de faux positifs est réellement élevé et où une personne tranchera les signalements.
  • Une « victoire de précision » ne compte plus à elle seule. Sur la cible 2, le seuil de précision s’est déclenché parce que le même filtre avait effondré les constats retrouvés ; le préenregistrement traitait les deux comme des réglages indépendants, et le premier jet de notre propre compte rendu est allé jusqu’à inventer une pondération après avoir vu le résultat ; un contrôle final de relecture l’a intercepté. Désormais, un gain de précision ne compte que si les constats retrouvés par le dispositif sont au plus inférieurs d’une unité à ceux du bras économique.

Puis la mesure a échoué à son propre audit

Le 13 septembre, un audit rétrospectif de chaque session d’instance conservée (1 385 au total) a constaté que le bras économique n’était pas aussi aveugle que le protocole l’avait dit. Ses sessions avaient consulté, entre autres pages, les gestionnaires de tickets des cibles elles-mêmes : des tickets nommant précisément les fonctions et les objets au cœur de plusieurs constats de l’auditeur. Aucune de ces pages n’énonce les mécanismes de l’audit, personne n’a donc lu un corrigé ; mais la phrase du protocole selon laquelle les bras ne voient « que le code source épinglé » était fausse, et la vérification de contamination que nous avions menée était une sonde de mémoire à froid, incapable de détecter une consultation au moment de l’exécution. Les sessions du bras dispositif avaient été purgées par son propre pilote ; son exposition est donc inconnue et le restera.

Un suivi le jour même a procédé constat par constat. Sur BDK, deux des huit lignes créditées au bras économique portent sur la fonction nommée dans les tickets consultés ; les six autres ne montrent aucun recouvrement enregistré. Sur FROST, trois des cinq lignes créditées portent sur le paramètre exact dont traite le seul ticket consulté : un recouvrement thématique direct, et pas seulement une atteignabilité, même si le ticket n’énonce jamais le mécanisme. Même en ne créditant le bras économique que des lignes non corrélées (six sur huit, deux sur cinq), il retrouve encore au moins autant que le dispositif sur les deux cibles : le sens du résultat tient donc, l’écart non. Et le suivi n’a pas pu être achevé : les journaux de session du bras économique avaient été élagués par la routine de ménage de l’outil dans les heures suivant le premier audit, et le texte brut de ses constats n’avait jamais été sauvegardé ; les listes complètes de consultations et la chronologie constat par constat sont donc irrécupérables.

Ce que cela renverse : les chiffres de constats retrouvés du niveau économique en tant que chiffres propres. Ce que cela ne renverse pas : que la mesure a eu lieu, que les oracles étaient externes, que le préenregistrement et la notation en aveugle étaient réels, et (le constat qui compte) que les instances filtrantes du dispositif ont supprimé des constats qu’un auditeur professionnel avait jugés réels. Cela a été établi en lisant les rejets des instances elles-mêmes, non par les comptages de constats retrouvés. Les deux audits ont été menés par le même fournisseur de modèles que l’orchestrateur ; ils figurent au dossier avec cette étiquette.

Cinq autres faiblesses que le dossier porte, trouvées pour la plupart par des instances de relecture et non par nous : le notateur en aveugle venait du même fournisseur de modèles que l’orchestrateur et que l’instance de fusion du dispositif, contrainte de disponibilité atténuée par la vérification contre le code source, mais canal de corrélation dans une expérience portant sur la décorrélation ; la lignée extérieure qui a exécuté le bras économique siégeait aussi comme vérificateur d’atteignabilité du dispositif sur les deux cibles, une partie de l’écart de constats retrouvés est donc une lignée en désaccord avec elle-même selon les rôles ; le bras économique tel qu’exécuté était plus maigre que celui préenregistré (pas de vérification séparée du gestionnaire de tickets, pas de suite de vérifications séparée), et sur la cible 1 le résultat de la sonde de mémoire n’a jamais été inscrit au journal d’exécution ; le dispositif a tourné avec deux lignées chercheuses contre un minimum préenregistré de trois, une version à pleine puissance pourrait donc faire mieux, même si les pertes venaient des filtres, qu’un troisième chercheur ne changerait pas ; et un troisième notateur en aveugle, renotant les sept constats du dispositif sur la cible 2, a été d’accord sur six et a inversé celui qui portait la conclusion, ce qui explique le 0–1 et non 0.

Ce que cela vous apporte

Rien sur cette page n’est une affirmation sur un taux de détection ; c’est l’inverse. Ce que c’est : la capacité de mener cette mesure, préenregistrée, notée en aveugle, contre un audit public, avec une vérification de contamination qui examine ce qu’une instance a consulté plutôt que ce dont elle se souvient, et qui copie le journal de session vers un stockage durable au moment de la notation, parce que les journaux derrière cet audit avaient disparu dans la journée. Elle est adoptée dans la révision même de notre rapport de cas qui publie cette mesure, et la première chose qu’elle a mesurée, c’était nous. Lorsque nous avons cherché sur le marché en septembre 2026, nous n’avons trouvé aucune autre pratique de relecture qui publie une comparaison contrôlée de son propre produit, et encore moins une qu’elle ait perdue. C’est une affirmation sur ce qui figure au dossier, pas sur qui est meilleur ; la prochaine passe économique nous battra peut-être encore, et si elle le fait, vous le lirez ici.


Les limites qui ont leur place ici : deux cibles, dont l’une avec un dénominateur de quatre lignes ; les chiffres de constats retrouvés du bras économique sont contaminés par la consultation et l’exposition du bras dispositif est inconnue et le restera ; le notateur venait du même fournisseur ; les coûts ont été comptés en appels de modèles, ce qui flatte le niveau économique (sa passe unique sur la cible 1 a été l’appel mesuré le plus cher) ; l’analyse déterminant quelles trouvailles du bras économique suivaient une page consultée est partielle et ne peut plus être achevée. L’affirmation de notre rapport de cas selon laquelle aucune comparaison contrôlée n’avait été menée était vraie au moment où elle a été écrite et périmée depuis le 14 août ; la révision de bibliothèque publiée avec cette note porte la mesure et les deux audits. Si quelque chose ici est faux, nous le corrigeons par écrit sur cette page.

← Toutes les notes