- Joshua Rogers encontró una gran lista de posibles problemas en la base de código de curl usando su propio conjunto de herramientas basado en IA
- La lista incluye no solo defectos menores de estilo de código, sino también pequeños bugs y posibles vulnerabilidades de seguridad
- La mayoría de los problemas encontrados son bugs pequeños, aunque 1 o 2 podrían ser fallas de seguridad críticas
- Como son problemas que no se habían descubierto antes, el resultado tiene un valor real muy alto
- Con base en lo reportado, ya se completaron 22 correcciones de bugs
- Aún quedan más del doble de issues sin confirmar, por lo que la revisión y corrección continúan
- Los problemas detallados fueron marcados como "Reported in Joshua's sarif data" y, si te interesa, puedes revisar esos datos directamente
1 comentarios
Comentarios de Hacker News
En vez de escribir o corregir código directamente, quiero que señale las partes sospechosas del código y dónde debería revisar con más detalle
Si le pido a Claude que encuentre bugs en mi librería de C de 20 mil líneas, termina dividiendo los archivos y haciendo
grepde patrones específicos de código, y al final solo me enumera mis comentariosFIXME(jaja)La verdad, eso es algo que un simple script de bash podría hacer y resulta bastante decepcionante
ChatGPT es todavía menos útil: solo repite "¡todo se ve bien! ¡increíble! ¡chócala!"
Hasta ahora, el análisis estático tradicional me ha ayudado mucho más a encontrar bugs reales, aunque que el análisis estático salga limpio no significa que no haya bugs lógicos
Justo ahí es donde creo que un LLM debería brillar
Si para obtener información útil sobre bugs potenciales de un LLM hay que construir un entorno tremendamente personalizado, entonces al final su utilidad baja, igual que pasa con las herramientas de análisis estático cuando requieren configuraciones complejas y la gente termina sin usarlas
La idea de que la IA escriba el código y que el programador solo revise parece ir en una dirección equivocada
Claro, entiendo por qué lo venden con el enfoque de "aumenta la cantidad de líneas de código~"
Por ejemplo: "¿Qué prompt debería usar para que Claude Code arme un plan para revisar bugs lógicos de forma efectiva, ignorando comentarios como FIXME o TODO?"
El prompt resultante es demasiado largo para ponerlo aquí, pero se puede ver en este ejemplo publicado como gist
A partir de ese resultado, incluso se puede seguir refinando hasta convertirlo en un agente
Después de la prueba gratis gustó mucho dentro de nuestro equipo de desarrollo, así que lo adoptamos formalmente
Salvo algunos falsos positivos ocasionales, es muy útil
Ahorra bastante tiempo tanto a quien abre el PR como a quien lo revisa
Hubo casos en que resolví un problema que antes me habría tomado horas gracias a esas pistas
Me entusiasma mucho ese tipo de uso posible de la IA
Me sorprende un poco que haya salido una respuesta tipo "todo se ve bien"
Cuando lo uso en Codex CLI, a menudo sí plantea dudas
Gemini 2.5 Pro también va bastante bien en eso
Conviene revisar el historial: enlace de búsqueda en HN sobre curl+AI
Al final, parece más acertado verlo como la diferencia entre quienes lo usan entendiendo bien lo que hacen y quienes simplemente programan siguiendo el ambiente o la moda
Contrasta con lo mucho que Daniel Stenberg sufrió en el pasado por temas de supuesta seguridad mal hechos generados por IA
Sobre HackerOne: "A los que reportan basura generada por IA los baneo de inmediato. Es prácticamente un ataque DDoS. Hasta dan ganas de cobrarles por el tiempo perdido"
También vale la pena revisar una entrada del blog de Daniel de enero de este año: The I in LLM stands for Intelligence?
printfincorrecto parasize_t, pueden detectarse solo con configurar bien los flags de warnings del compiladorSería bastante útil que la IA te dijera: "te faltan flags importantes de warnings del compilador"
Algunos PR probablemente se deban a coincidencias de dependabot, y si buscas "Joshua sarif data" puedes ver una lista más específica de PR aquí
Supongo que esa es la razón por la que cambió la impresión de Daniel Stenberg
Se insiste mucho en adoptar tecnología SAST basada en IA y de hecho ya han salido productos relacionados, pero la gran mayoría sigue quedando por debajo de lo esperado
Con suerte solo decepcionan; en el peor caso, generan una falsa confianza en una seguridad incorrecta, y eso es peligroso
Aquí se presenta una mirada crítica a los escáneres SAST basados en IA y sus fundamentos: aquí
Me da curiosidad por qué esta estrategia resultó más efectiva en una situación donde varias herramientas ya existentes no habían podido encontrar los bugs
Supongo que el enlace a Mastodon sirve para confirmar que sí era un bug real aunque hubiera fragmentos de código incorrectos