Cómo revisar código y seguridad con un asistente de IA
| Para quién | Para quien desarrolla o mantiene software, en solitario o en equipo, y quiere detectar problemas antes de integrar código propio, ajeno o generado por una IA. |
|---|---|
| Tiempo estimado | 30 a 120 minutos por cambio o módulo, según su tamaño y criticidad |
| Categoría | Programación y datos |
Paso a paso
- Delimita qué vas a revisar
Revisa cambios acotados: una función, un módulo o una petición de integración de tamaño razonable. Indica la finalidad del cambio y qué debería hacer. Los cambios enormes se revisan mal, con o sin IA. Si el código lo generó un asistente, anótalo para tratarlo con especial atención. Define también qué te preocupa más: corrección, rendimiento, legibilidad o seguridad, porque una revisión sin foco tiende a quedarse en comentarios superficiales. - Prepara el código sin información sensible
Antes de compartir cualquier fragmento, busca y sustituye claves de acceso, tokens, contraseñas, cadenas de conexión, direcciones internas y datos personales por marcadores. Comprueba la política de tu organización sobre compartir código con herramientas externas. Si el código es muy sensible, plantéate no compartirlo y apoyarte en herramientas de análisis que se ejecuten en tu propio entorno. Un secreto pegado en una conversación debe considerarse comprometido y rotarse. - Pide una revisión por categorías
Solicita al asistente que revise por separado: errores lógicos y casos límite, manejo de errores, validación de entradas, gestión de secretos y permisos, uso de datos de usuario en consultas o rutas de archivos, y claridad del código. Pide que cite la línea afectada, explique el riesgo y proponga una corrección. Una revisión estructurada produce hallazgos comprobables, mientras que un general «mejora este código» devuelve consejos vagos. - Examina las dependencias
Haz una lista de las librerías que usa el código y comprueba que existen realmente, en su sitio oficial y con una versión mantenida. Los asistentes pueden proponer paquetes inexistentes o con nombres parecidos a otros legítimos. Revisa su licencia, su actividad reciente y los avisos de vulnerabilidades conocidos en las fuentes oficiales o con herramientas de auditoría de tu ecosistema. Añade solo las dependencias que necesites y fija las versiones. - Combina con pruebas y herramientas
Contrasta los hallazgos del asistente con análisis estático, comprobadores de estilo, escáneres de dependencias y pruebas automáticas. Cada sistema detecta cosas distintas y se compensan. Escribe pruebas para los casos de riesgo señalados, como entradas malformadas o permisos insuficientes. Descarta los falsos positivos razonando por qué lo son, y no dejes de investigar un aviso solo porque la IA lo considere improbable. - Decide, registra y revisa entre personas
Valora cada hallazgo con tu criterio, aplica solo las correcciones que entiendes y vuelve a probar. Para código que gestione autenticación, pagos, datos personales o permisos, solicita revisión de otra persona con experiencia en seguridad. Deja constancia de qué se revisó, qué se cambió y qué riesgos se aceptan conscientemente. La responsabilidad de integrar el cambio es humana, no del asistente.
Prompt de ejemplo
Cambia lo que está entre corchetes por tu situación:
Actúa como revisor de código con experiencia en seguridad de aplicaciones. Revisa el siguiente fragmento de [LENGUAJE Y FRAMEWORK], cuya finalidad es [PROPÓSITO DEL CÓDIGO]. Los secretos y datos reales han sido sustituidos por marcadores. Código: [PEGA AQUÍ EL FRAGMENTO] Revisa por separado y por este orden: 1. Errores lógicos y casos límite no cubiertos. 2. Validación de entradas y manejo de errores. 3. Riesgos de seguridad habituales: inyección, rutas de archivos, autenticación, permisos, exposición de información y gestión de secretos. 4. Dependencias usadas: dime cuáles deberían verificarse en su fuente oficial. 5. Legibilidad y mantenimiento. Para cada hallazgo indica la línea, el riesgo en una frase, la gravedad estimada (alta, media o baja) y una corrección propuesta. Si no estás seguro de algo, dilo en lugar de afirmarlo, y no inventes problemas para llenar la lista. Termina con las tres pruebas que escribirías primero.
Qué esperar
Puede detectar problemas comunes y ofrecer una lectura adicional útil, sobre todo en errores frecuentes y malas prácticas conocidas. También puede pasar por alto vulnerabilidades reales, señalar falsos positivos o proponer correcciones que introducen otros fallos, por lo que sus hallazgos son orientativos.
Cómo verificar el resultado
- Reproducir cada hallazgo con una prueba o una entrada concreta antes de aceptar que es un problema real.
- Ejecutar análisis estático y un escáner de dependencias de tu ecosistema y comparar sus resultados con los del asistente.
- Confirmar en el registro oficial del ecosistema que cada paquete propuesto existe, es el legítimo y tiene licencia compatible.
- Pedir revisión humana adicional para el código que gestione autenticación, pagos o datos personales.
Errores comunes
- Dar por seguro un código porque el asistente no ha encontrado ningún problema.
- Pegar claves o contraseñas reales en la conversación y no rotarlas después.
- Instalar un paquete sugerido sin comprobar que existe, quién lo mantiene y qué licencia tiene.
- Aplicar las correcciones propuestas sin entenderlas ni volver a ejecutar las pruebas.
Riesgos y límites
Un asistente puede no ver vulnerabilidades reales, inventar problemas inexistentes o proponer correcciones incompletas, sobre todo con lógica de negocio compleja. El código generado puede reproducir patrones inseguros, usar funciones obsoletas o parecerse a código bajo licencia concreta. Nunca compartas secretos, datos personales ni código confidencial sin autorización de tu organización; si un secreto se expone, rótalo. Usa esta técnica solo para proteger tu propio software o aquel que tengas permiso para revisar, y no para otros fines. Para sistemas críticos, recurre a profesionales de seguridad.
Preguntas frecuentes
¿Puede la IA garantizar que mi código es seguro?
No. Puede ayudar a localizar problemas frecuentes, pero no ofrece garantías. La seguridad requiere pruebas, análisis automáticos, revisión humana y buenas prácticas continuas. Que no encuentre fallos no significa que no existan.
¿Qué hago si he pegado una clave en la conversación?
Considérala comprometida: revócala y genera una nueva cuanto antes en el servicio correspondiente, y revisa los registros de uso por si hubiera actividad extraña. En adelante, sustituye los secretos por marcadores y usa gestores de secretos o variables de entorno.
¿Debo revisar igual el código que genera la IA que el mío?
Sí, con la misma exigencia o más. Puede incluir dependencias inexistentes, funciones obsoletas o patrones inseguros presentados con mucha seguridad. Aplícale las mismas pruebas, revisiones y análisis que a cualquier otra contribución antes de integrarlo.