Tema 2 · Verificación

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() o jwt.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:

  1. 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).
  2. 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.
  3. 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-auditoria-ia.md
Solo lectura
# 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
1 Pregunta
Pregunta 1
¿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.