J’ai trouvé plusieurs vulnérabilités dans Duniter, à différents niveaux de sévérité, que j’ai patchées dans cette version v2.3.0. Je recommande vivement à tous les hébergeurs de nœuds Duniter de mettre à jour dès que possible. Voici les nouvelles images Docker :
Ğ1 : duniter/duniter-g1-1100:1100-2.3.0
ĞTest : duniter/duniter-gtest-1000:1100-2.3.0
Je donnerai plus de détails sur ces vulnérabilités lorsque la plupart des nœuds auront été mis à jour (et, a minima, les nœuds forgerons). Il ne faudrait pas dévoiler des informations qui pourraient faciliter une attaque par quelqu’un de mal intentionné.
Comment ai-je trouvé ces vulnérabilités ?
J’ai obtenu l’accès au programme Daybreak Blue d’OpenAI, ce qui permet d’utiliser leurs modèles pour de la cybersécurité défensive (recherche de vulnérabilités afin de les corriger). J’ai utilisé cet accès pour auditer Duniter en profondeur, ce qui m’a permis de trouver plusieurs vulnérabilités effectivement exploitables !
Vous ne le savez peut-être pas, mais, par défaut, il n’est pas possible d’utiliser les modèles d’IA frontier d’OpenAI et d’Anthropic pour rechercher des vulnérabilités de sécurité dans votre codebase. Ils peuvent faire un audit de surface et améliorer les bonnes pratiques de sécurité dans votre codebase, mais dès que vous essayez de rechercher des vulnérabilités précises, vous êtes stoppé et on vous invite à basculer sur un modèle moins puissant pour continuer, car de telles demandes pourraient être utilisées pour lancer des cyberattaques.
Les modèles à poids ouverts n’ont pas ces limitations, mais ils ont quelques mois de retard sur l’état de l’art des modèles d’OpenAI et d’Anthropic, et ils coûtent plus cher en pratique. En effet, les plus gros modèles à poids ouverts, comme Kimi K3 par exemple, requièrent un datacenter. Il faut donc payer un fournisseur, avec un coût à l’inférence plus élevé comparé aux abonnements subventionnés que proposent OpenAI et Anthropic. (Pour 200$ par mois, vous avez plus de 5 000$ d’inférence au prix de l’API.)
Aussi, les modèles à poids ouverts sont accessibles aux attaquants. Pour pouvoir se défendre, il faut donc trouver et patcher les vulnérabilités avant que les modèles à poids ouverts soient capables de les trouver. C’est pour toutes ces raisons que je me suis inscrit au programme de cyberdéfense d’OpenAI en tant que développeur indépendant.
Je vous invite à le faire aussi si vous êtes en capacité de payer un abonnement chez OpenAI. Même un abonnement à 25 € par mois y donne accès, avec un nombre de tokens assez limité, cela dit. Les conditions sont simples : vous devez remplir un KYC (fournir une pièce d’identité et scanner votre visage en 3D) et sécuriser l’accès à votre compte via une YubiKey. Après quelques vérifications de leur côté, vous aurez alors accès au modèle « Daybreak Blue ».
Attention : l’usage de ce modèle est monitoré à des fins de vérification. Ne l’utilisez pas pour des projets dont le code n’est pas public et ne lui communiquez pas d’informations personnelles.
Les autres labos d’IA ont des programmes similaires, mais réservés aux entreprises qui doivent en faire la demande pour leurs red teams internes, avec des restrictions beaucoup plus fortes.
OpenAI est le seul labo, à ce jour, qui donne aux développeurs indépendants l’accès à des capacités de cyberdéfense pour leurs projets. C’est donc le seul que vous pourrez utiliser pour les logiciels de la Ğ1, à moins de travailler pour une entreprise qui a de tels accès et vous autorise à les utiliser pour vos projets perso (bon courage…).
Vu les capacités de cyberattaque que possèdent désormais les modèles à poids ouverts, il devient indispensable de pouvoir utiliser les modèles frontier pour trouver et corriger les vulnérabilités critiques avant que les modèles à poids ouverts ne soient en capacité de les exploiter. Tous les principaux labos d’IA devraient fournir ces capacités aux mainteneurs de logiciels libres. Je suis choqué que seul OpenAI propose un programme adapté pour cela !
Dans les prochaines semaines, je veux bien essayer de consacrer une partie de mon quota d’usage à trouver et patcher des vulnérabilités dans d’autres logiciels de la Ğ1. Mais cela demande beaucoup de tokens, et j’ai aussi besoin d’en garder pour mes propres usages. Tout ne peut donc pas reposer sur moi.
C’est pourquoi il me semble important que d’autres développeurs de la Ğ1 demandent l’accès au programme Daybreak d’OpenAI afin d’aider à renforcer l’écosystème Ğ1 avant que les capacités de cyberattaque des modèles à poids ouverts ne fassent encore de nouveaux progrès.