Ce qu'il faut retenir▾
- zkSecurity a pointé son pipeline IA sur CIRCL, la bibliothèque de cryptographie avancée et post-quantique de Cloudflare, et confirmé 7 bugs réels, tous corrigés et pour la plupart récompensés via le programme HackerOne de Cloudflare.
- L'IA a trouvé de vraies failles, dont une faille critique de contrôle d'accès en chiffrement par attributs (CP-ABE), mais son évaluation de la sévérité s'est révélée peu fiable : parfois trop alarmiste, parfois dangereusement optimiste sur une attaque critique connue (rogue key sur BLS).
- Un humain a validé chaque découverte, vérifié l'exploitabilité et géré la divulgation : cette étape de tri reste indispensable et coûteuse, c'est elle qu'il faut budgéter avant d'outiller vos propres audits avec de l'IA.
Résumé généré par IA
Une intelligence artificielle vient de débusquer sept bugs cryptographiques réels dans CIRCL, la bibliothèque de cryptographie avancée et post-quantique publiée par Cloudflare, dont une faille critique capable de casser entièrement le contrôle d'accès d'un système de chiffrement par attributs. Les sept bugs sont désormais corrigés en amont, et la plupart ont été confirmés et récompensés via le programme de bug bounty de Cloudflare sur HackerOne.
Ces découvertes viennent de zkSecurity, une société spécialisée dans l'audit de code cryptographique, qui a pointé son pipeline IA sur CIRCL dans le cadre du développement de zkao, son agent d'audit automatisé pensé pour scruter du code en continu. C'est le premier volet d'une série qu'elle consacre aux bugs trouvés par ses agents dans des bibliothèques cryptographiques open source, et il arrive à un moment où beaucoup d'équipes se demandent si une IA peut vraiment auditer du code sensible, pas seulement suggérer des refactos.
CIRCL, la bibliothèque crypto expérimentale de Cloudflare
CIRCL est une bibliothèque Go open source qui rassemble des implémentations de cryptographie avancée : signatures à seuil, preuves à divulgation nulle de connaissance, chiffrement par attributs, primitives post-quantiques. Cloudflare la maintient publiquement et l'expose à un programme de bug bounty sur HackerOne, ce qui explique pourquoi les découvertes de zkSecurity ont pu être validées et récompensées plutôt que de rester de simples signalements sans suite.
Trois configurations testées, un écart de résultats net
zkSecurity a comparé trois approches sur CIRCL : un LLM utilisé avec un prompt simple, un LLM guidé par des « skills » (des méthodologies d'audit écrites par ses chercheurs sécurité), puis zkao, son agent complet. Sur les projets où le LLM seul ou assisté de skills avait trouvé de vraies vulnérabilités, zkao les a toutes retrouvées et a identifié des bugs plus complexes et plus sévères en prime, dont la faille critique de contrôle d'accès sur le chiffrement par attributs.
Un point que l'équipe souligne avec insistance : l'IA ne produit que des pistes. Ce sont des humains qui ont validé chaque cas, vérifié l'exploitabilité réelle, réduit le proof of concept au minimum et géré la divulgation auprès de Cloudflare. C'est une étape encore coûteuse aujourd'hui, et c'est précisément celle que zkao cherche à automatiser davantage.
Sept bugs, du float64 mal calculé à la faille critique en ABE
Voici la synthèse du rapport, avec la sévérité attribuée par l'IA elle-même et celle confirmée par Cloudflare une fois le correctif appliqué :
| Bug | Sévérité IA | Sévérité Cloudflare |
|---|---|---|
| Précision float64 (TSS/RSA) | Critique | Faible |
| Forgerie DLEQ via SecParam contrôlé par le prouveur | Élevée | Faible |
| Agrégation BLS sans distinctivité des messages | Moyenne | Élevée |
| DLEQ, collision de signe via FillBytes | Élevée | Faible |
| Contournement de validation PSK dans HPKE | Moyenne | Moyenne |
| Coefficients de Lagrange en int64 (TSS/RSA) | Élevée | Moyenne |
| Contrôle d'accès cassé en CP-ABE | Critique | Critique |
Le bug le plus parlant tient en une ligne de code. Dans l'implémentation de signature à seuil RSA, l'évaluation d'un polynôme secret utilisait une exponentiation en float64 pour calculer un terme avant de le convertir en entier. Un float64 ne dispose que de 53 bits de mantisse : dès que la valeur calculée dépasse cette limite, elle est arrondie en silence avant la conversion. Avec un nombre de joueurs et un seuil suffisamment grands, cette limite est franchie de plusieurs ordres de grandeur, ce qui produit des parts de clé fausses distribuées sans erreur apparente. Le correctif revient à une évaluation par la méthode de Horner en entier arbitraire, exactement ce que suggérait un commentaire TODO resté sans suite dans le code.
À l'inverse, le bug que l'IA a le plus sous-estimé est aussi le plus classique : l'absence de vérification de distinctivité des messages dans l'agrégation de signatures BLS. Sans ce contrôle, un attaquant qui connaît la clé publique et le message d'une victime peut construire sa propre clé pour produire une signature agrégée valide, sans jamais connaître la clé privée de la victime. C'est l'attaque dite « rogue key », une classe de faille bien documentée en cryptographie des signatures agrégées. L'IA a bien identifié le problème et nommé l'attaque dans son raisonnement, mais elle a ensuite revu la sévérité à la baisse parce que la documentation de CIRCL indique que cette vérification incombe à l'appelant. Elle a traité une clause contractuelle comme une atténuation du risque, ce qui n'en est pas une.
Ce que révèle l'écart de sévérité
C'est là le vrai enseignement de cette campagne, plus que la liste des bugs elle-même. L'IA a été à la fois trop alarmiste (le float64, jugé critique par l'IA et rétrogradé en faible par Cloudflare, faute de conditions d'exploitation réalistes) et dangereusement optimiste (le BLS, jugé moyen par l'IA alors qu'il s'agit d'une classe de faille reconnue comme critique). zkSecurity le dit explicitement : la sévérité qu'une IA attribue à sa propre découverte est bruitée. Elle peut identifier correctement un problème réel tout en se trompant lourdement sur son impact.
Ce que ça change pour vos propres audits
Pour une équipe de développement française qui n'a ni le budget ni l'équipe dédiée pour un audit cryptographique classique, ces résultats sont une bonne nouvelle avec un mode d'emploi assez précis :
- Un LLM généraliste bien prompté trouve déjà de vrais bugs. Sept vulnérabilités confirmées et corrigées dans une bibliothèque maintenue par Cloudflare, ce n'est pas un exercice de laboratoire.
- Les méthodologies d'audit écrites par des experts changent nettement les résultats par rapport à un prompt générique. Si vous faites relire du code sensible par une IA, investissez du temps dans les consignes système plutôt que de vous fier au réglage par défaut.
- Ne faites jamais confiance à la sévérité que l'IA attribue elle-même à ce qu'elle trouve. Traitez chaque signalement comme une piste à qualifier par un humain qui connaît le contexte métier et les scénarios d'exploitation réels, en particulier sur du code de sécurité ou de cryptographie.
- Si votre stack dépend d'une bibliothèque cryptographique qui se dit elle-même expérimentale, comme CIRCL, surveillez son historique de correctifs et son programme de bug bounty s'il en existe un.
Notre lecture chez CZSyn
On observe la même dynamique sur les revues de code que nous menons pour nos clients : une IA bien guidée repère des classes de bugs qu'une relecture pressée laisse filer, en particulier les erreurs arithmétiques discrètes ou les paramètres de sécurité mal isolés entre deux parties d'un protocole. Ce sont exactement les erreurs qui ne sautent pas aux yeux en lecture rapide mais qui cassent tout une fois qu'on les creuse.
Ce que cette étude confirme surtout, c'est que le tri humain reste la partie qui coûte cher et qui fait la différence entre un rapport exploitable et un tas de faux signaux. Si vous envisagez d'outiller vos revues de sécurité avec de l'IA, ne vous arrêtez pas au premier scan automatisé : budgétez dès le départ le temps de qualification humaine, c'est lui qui transforme une piste en correctif fiable.
Du code sensible à faire auditer ?
Nous combinons revue assistée par IA et expertise humaine pour vos audits de sécurité, votre développement sur-mesure et votre dépannage. Audit gratuit sous 24h.
29 AVIS 5/5 · +200 PROJETS LIVRÉS · RÉPONSE EXPRESS
Sources primaires
- zkSecurity, « AI meets Cryptography 1: What AI Found in Cloudflare's CIRCL ».
- Dépôt officiel, github.com/cloudflare/circl.
- zkSecurity, zksecurity.xyz.
