- Joshua Rogers a trouvé une vaste liste de problèmes potentiels dans la base de code de curl à l’aide de son propre ensemble d’outils basé sur l’IA
- Cette liste comprend non seulement de légers défauts de style de code, mais aussi de petits bugs et des failles de sécurité potentielles
- Les problèmes détectés sont pour la plupart de petits bugs, mais l’un ou deux d’entre eux pourraient être des défauts de sécurité critiques
- Comme il s’agit de problèmes qui n’avaient pas été découverts auparavant, le résultat a une réelle valeur
- Sur la base de ce qui a été signalé, 22 corrections de bugs ont déjà été effectuées
- Il reste encore plus du double d’issues non vérifiées, et les revues ainsi que les corrections se poursuivent
- Les problèmes détaillés sont indiqués comme "Reported in Joshua's sarif data", et si cela vous intéresse, vous pouvez consulter ces données directement
1 commentaires
Avis Hacker News
Au lieu d’écrire ou de corriger le code directement, je veux qu’il indique les parties suspectes du code et les endroits que je devrais examiner plus en détail
Quand je demande à Claude de trouver des bugs dans ma bibliothèque C de 20 000 lignes, il découpe les fichiers et cherche certains motifs de code avec
grep, pour au final simplement me lister mes commentairesFIXME(rires)En réalité, c’est du niveau d’un simple script bash, donc assez décevant
ChatGPT est encore moins utile : il se contente de répéter « tout a l’air bien ! formidable ! high five ~ »
Jusqu’ici, l’analyse statique traditionnelle m’a bien plus aidé à trouver de vrais bugs, mais ce n’est pas parce que l’analyse statique est propre qu’il n’y a pas de bugs logiques
C’est précisément là, à mon avis, que les LLM devraient briller
S’il faut construire un environnement extrêmement personnalisé pour obtenir d’un LLM des informations vraiment utiles sur des bugs potentiels, son utilité finit par diminuer, tout comme les outils d’analyse statique sont peu utilisés quand ils exigent une configuration trop complexe
L’idée que l’IA écrive le code et que les programmeurs ne fassent plus que de la revue me semble être une direction bancale
Bien sûr, je comprends pourquoi on essaie de vendre cela avec l’argument « le nombre de lignes de code augmente ~ »
Par exemple : « Quel prompt devrais-je utiliser pour demander à Claude Code d’ignorer les commentaires comme FIXME ou TODO et d’élaborer un plan efficace pour relire des bugs logiques ? »
Le prompt obtenu est trop long pour être mis ici, mais on peut voir un exemple publié sur gist
On peut ensuite continuer à l’améliorer à partir de ce résultat et même en faire un agent
Après l’essai gratuit, il a été suffisamment apprécié dans notre équipe de développement pour que nous l’adoptions officiellement
À part quelques faux positifs occasionnels, c’est très utile
Cela fait gagner du temps à la fois à l’auteur de la PR et au relecteur
Il m’est déjà arrivé de résoudre ainsi en quelques indices un problème qui m’aurait auparavant pris des heures
Ce genre d’usage de l’IA me rend très optimiste
J’ai été un peu surpris de voir sortir une réponse du style « tout a l’air bien »
Quand je l’utilise dans Codex CLI, il soulève souvent des doutes
Gemini 2.5 Pro est aussi correct sur ce point
Vu l’historique, ça vaut le coup de jeter un œil à ce lien de recherche HN sur curl+AI
Au fond, la bonne grille de lecture semble plutôt être la différence entre quelqu’un qui comprend vraiment ce qu’il fait et quelqu’un qui code simplement à l’ambiance
Cela contraste avec le fait que Daniel Stenberg avait auparavant été harcelé par des pseudo-problèmes de sécurité médiocres générés par l’IA
À propos de HackerOne : « Les gens qui soumettent des signalements merdiques générés par IA sont bannis immédiatement. C’est pratiquement une attaque DDoS. J’ai presque envie de leur facturer le temps perdu »
Voir aussi un billet de blog de Daniel publié en janvier cette année : The I in LLM stands for Intelligence?
printfpoursize_t) peuvent être détectés simplement avec de bons flags d’avertissement du compilateurQue l’IA conseille « il manque des flags d’avertissement importants du compilateur » serait déjà très utile
Une partie des PR semble venir de correspondances Dependabot, et on peut voir une liste plus précise des PR en recherchant « Joshua sarif data » ici
J’imagine que c’est ce qui explique le changement d’impression de Daniel Stenberg
Beaucoup plaident pour l’adoption de technologies SAST fondées sur l’IA, et des produits existent effectivement sur ce créneau, mais la grande majorité reste encore en dessous des attentes
Être simplement déçu serait déjà le meilleur scénario ; dans le pire des cas, cela peut créer un faux sentiment de sécurité, ce qui est dangereux
Une critique argumentée des scanners SAST basés sur l’IA est présentée ici
Comme plusieurs outils n’avaient pas réussi à trouver les bugs auparavant, je me demande pourquoi cette stratégie-ci a été plus efficace
J’imagine que le lien Mastodon servait à confirmer qu’il s’agissait bien d’un vrai bug, même avec un extrait de code erroné