miércoles, 4 de noviembre de 2026

Cómo revisar el código generado por IA antes de usarlo

Que un fragmento generado por inteligencia artificial compile o produzca el resultado esperado no demuestra que sea seguro, mantenible ni adecuado para el proyecto. Estudios recientes indican que muchos desarrolladores desconfían de la seguridad del código generado, pero no siempre realizan una revisión profunda. El riesgo no está en usar IA, sino en aceptar una sugerencia sin probar sus supuestos.

una laptop sobre un escritorio limpio, con un programador frente a una pantalla de código analizando con escepticismo resultados generados por inteligencia artificial.

Funcionar no es lo mismo que estar bien hecho

Un ejemplo sencillo puede pasar una prueba básica y fallar con una entrada vacía, un permiso incorrecto, una condición de concurrencia o un volumen de datos mayor. La IA suele recibir solo una parte del contexto: el archivo abierto, el mensaje del usuario y algunos nombres de funciones. No conoce automáticamente las reglas de negocio, la arquitectura completa, los datos reales ni las restricciones de producción.

Por eso hay que separar tres preguntas. Primero, ¿el código funciona con los casos previstos? Segundo, ¿cumple el diseño y las convenciones del proyecto? Tercero, ¿resiste entradas maliciosas y evita exponer datos? Una respuesta afirmativa a la primera no responde las otras dos.

Qué dice la investigación

Un estudio publicado en ACM encuestó a 105 desarrolladores y encontró que solo alrededor de una cuarta parte expresó confianza en la seguridad del código generado por IA. Los participantes también señalaron que estas herramientas aceleran el desarrollo, pero pueden aumentar el tiempo dedicado a revisar y documentar el resultado.

Otro estudio observacional, todavía presentado como prepublicación en arXiv, trabajó con 100 participantes que debían elegir y editar sugerencias de IA para tareas en C. Los investigadores no observaron una diferencia clara entre la selección de propuestas más seguras y menos seguras. Muchos participantes se fijaron en señales superficiales, como bloques visibles para casos límite, y no hicieron una revisión completa. Eso no prueba que todos los programadores actúen así, pero sí muestra un problema concreto de evaluación.

Una revisión práctica antes de aceptar la sugerencia

  1. Define el comportamiento esperado. Escribe entradas válidas, entradas vacías, límites, errores y permisos antes de mirar solo si el código “corre”.
  2. Lee las dependencias. Comprueba qué paquetes, APIs, versiones y configuraciones introduce la respuesta. No instales una biblioteca solo porque la IA la mencione.
  3. Busca riesgos de seguridad. Revisa consultas construidas con texto del usuario, deserialización, rutas de archivos, autenticación, autorización, secretos y validación de entradas.
  4. Prueba casos negativos. Añade pruebas unitarias y de integración que intenten romper la función, no solo confirmar el caso feliz.
  5. Usa herramientas independientes. Ejecuta el compilador, las pruebas, el análisis estático, el escáner de dependencias y, cuando corresponda, un análisis dinámico.
  6. Revisa el cambio completo. Una función correcta puede alterar el manejo de errores, el rendimiento o la compatibilidad de otra parte del sistema.

Utilidad para desarrolladores de Perú y Latinoamérica

La revisión no depende de pagar una herramienta extranjera ni de trabajar para una empresa grande. Un proyecto personal puede empezar con control de versiones, pruebas automatizadas, un linter y un análisis de dependencias. En equipos con presupuesto limitado, conviene reservar tiempo de revisión para autenticación, pagos, datos personales y código que se ejecutará en servidores públicos.

Ilustración de ChatGPT mostrando instrucciones de api

También es importante no pegar en un asistente de IA claves, tokens, datos de clientes o código confidencial sin conocer la política del servicio. La velocidad de generación puede ser útil para prototipos y tareas repetitivas, pero la decisión de incorporar el cambio debe quedar respaldada por pruebas y revisión humana.

Conclusión

El código generado por IA no debe rechazarse por defecto ni aceptarse por apariencia. Trátalo como una propuesta de un colaborador que no conoce todo el contexto: prueba lo que hace, revisa lo que puede romper y conserva solo lo que puedes explicar.

Enlaces internos: CVE-2026-98432: fallo crítico del kernel Linux · Cómo acceder a otra PC con Escritorio remoto de Chrome · Cómo revisar un USB sospechoso sin poner en riesgo tu PC

Fuentes: estudio de Tufts University sobre atención a la seguridad en código generado por IA · estudio publicado en ACM sobre percepciones de desarrolladores · encuesta de Sonar sobre confianza y verificación.

No hay comentarios.:

Publicar un comentario