2. Alucinaciones, Vulnerabilidades y el Principio de Verificación Humana
Aprende a detectar alucinaciones en código, librerías inexistentes y fallas de seguridad, aplicando la regla de oro: Confía pero Verifica.
¿Qué es una Alucinación en Código de Software?
Una alucinación ocurre cuando el modelo de Inteligencia Artificial genera con absoluta confianza y convicción un resultado que es falso, inexistente o peligroso.
En el desarrollo de software, las alucinaciones adoptan formas muy específicas y engañosas:
- Métodos o Parámetros Fantasma: La IA inventa un método conveniente como
$db->fetchAssocSafe()ojwt.verifyStrict()que parece lógico y elegante, pero que no existe en la biblioteca real. - Paquetes Inexistentes (Supply Chain Poisoning): La IA recomienda instalar un paquete como
npm install react-secure-jwt-parser. Atacantes informáticos rastrean estas alucinaciones comunes, registran el paquete con código malicioso en npm o Packagist, y los programadores descuidados lo instalan en sus servidores. - Vulnerabilidades Sutiles: Código que compila y pasa pruebas visuales básicas, pero que contiene omisiones graves de seguridad (ej: concatenar variables directamente en una cláusula SQL o reflejar entradas sin sanitizar en el DOM).
El Principio de Verificación Humana: "Trust, but Verify"
Todo código generado por una IA debe pasar por el mismo filtro riguroso por el que pasaría el código de un pasante que acaba de llegar a la empresa:
- Comprobación Canónica: Si la IA utiliza una función o parámetro que no conoces, consulta la documentación oficial (php.net, MDN Web Docs, docs de la librería).
- Ejecución en Sandbox o Entorno Aislado: Nunca pruebes código desconocido directamente en tu base de datos de producción ni con credenciales reales.
- Auditoría de Casos Límite: Pregúntate: "¿Qué pasa si esta variable llega como null, cadena vacía o con un carácter malicioso?".
⚡ Protocolo y Checklist de Auditoría de Código Generado por IA
Guía paso a paso para inspeccionar cualquier snippet de código propuesto por una IA antes de incluirlo en tu repositorio.
# Checklist de Verificación de Código Asistido por IA (Kilopolis)
Antes de hacer `git commit` o ejecutar código sugerido por la IA, valida:
## 1. Verificación de Dependencias (Suministro de Paquetes)
- [ ] ¿Sugirió un paquete de `npm`, `composer` o `pip`?
- Si es SÍ: ¿Verifiqué que el paquete tenga más de 50k descargas, repositorio oficial activo en GitHub y documentación legítima?
- Si tiene 0 descargas o fue publicado hace 3 días: 🚨 **ALTO: Posible paquete alucinado o malicioso.**
## 2. Seguridad en Datos de Entrada y Base de Datos
- [ ] ¿Hay consultas SQL?
- ¿Usa sentencias preparadas con marcadores de posición (`?` o `:param`)?
- ¿Hay alguna concatenación directa (`"SELECT * FROM users WHERE id = " . $id`)? -> ❌ Rechazar inmediatamente.
- [ ] ¿Hay salidas al navegador (HTML / DOM)?
- En PHP: ¿Usa `htmlspecialchars()` o helper `e()`?
- En JavaScript: ¿Usa `textContent` en vez de `innerHTML` para datos no confiables?
## 3. Lógica y Casos Límite (Edge Cases)
- [ ] ¿Qué pasa si el array viene vacío `[]`?
- [ ] ¿Qué pasa si el servidor de base de datos no responde (timeout / try-catch)?
- [ ] ¿El tipado es estricto (`strict_types=1`, TypeScript strict mode)?
## 4. Pruebas Locales
- [ ] ¿Ejecuté las pruebas unitarias del proyecto (`npm test` o `php vendor/bin/phpunit`)?
- [ ] ¿El linter (`php -l`, `eslint`) valida la sintaxis sin advertencias?
Mini-Quiz de Retención
Comprueba tu comprensión antes de pasar a la siguiente lección¿Qué riesgo crítico de ciberseguridad representa instalar a ciegas un paquete de npm o composer sugerido por una IA sin verificar su existencia en el registro oficial?
¿Tienes dudas con este tema?
Sócrates AI puede darte analogías y explicarte este código paso a paso.🚀 ¿Quieres dominar IA como Copiloto: Aprendizaje & Desarrollo Web y crear proyectos reales?
Aprende arquitectura limpia, desarrollo web moderno, buenas prácticas y despliegue en producción con nuestro Bootcamp Fullstack Developer con mentorías en vivo.
🏛️ Autoría y Propiedad Intelectual: Obra educativa original de David Amador para Kilopolis Academia (Solucionáticos), estructurada sobre las especificaciones y estándares abiertos del W3C, el estándar vivo de WHATWG y la documentación oficial de código abierto. © Todos los derechos reservados.