Saltar al contenido
Curso Desarrollo seguro con IA en Laravel
20/22 Defensa continua Auditar la seguridad de un proyecto Laravel con un agente de IA
Tu lectura Quedan 24 min
Lección 20 de 22 · Defensa continua

Auditar la seguridad de un proyecto Laravel con un agente de IA

24 min de lectura Laravel 13

Hola, bienvenido. En esta lección vamos a pedirle a un agente de IA que audite la seguridad de invoices entero con la checklist de la lección 10. Vamos a escribir un prompt de auditoría que sirve para cualquier agente, sea Claude Code, Cursor, Copilot o Codex, y vamos a hacer el ejemplo resuelto con Claude Code, como un subagente que solo puede leer. Después vamos a corregir lo que encuentra, con el método de la lección 4.

¿Para qué una auditoría, si la checklist ya está en AGENTS.md? Porque la checklist se aplica a cada cambio, cuando el agente termina una tarea o cuando revisas su diff, y cada revisión mira solo ese cambio. Un fallo que está en la relación entre varios archivos, o en código que se aceptó hace semanas, no aparece en ningún diff. En la sección 4 hemos escrito el asistente entero en 5 lecciones, con 3 tools, un controlador con 3 acciones y una vista, y es un buen momento para que alguien lo mire todo de una vez.

Qué le pedimos al agente

En una auditoría, el agente revisa el proyecto completo. Lee la checklist, recorre las rutas, los controladores, las policies, las tools y las vistas, y devuelve un informe con cada hallazgo: el archivo y la línea, la regla de la lista que no se cumple, el riesgo y la solución que propone. Y no toca el código.

¿Por qué no dejamos que corrija lo que encuentra? Por 3 motivos. El primero es el método del curso: cada fallo se corrige con un test que falla antes de la solución y pasa después. Si el agente corrige directamente, te llega un diff en lugar de un hallazgo. Y el test, si lo escribe, llega con la solución ya puesta, así que nunca lo has visto fallar. El segundo es que un informe se revisa mejor que un diff. Cada hallazgo es una afirmación concreta sobre un archivo y una línea, que compruebas leyendo el código, y la decisión de qué se corrige y cómo la tomas tú.

El tercero tiene que ver con lo que lee el agente. Para auditar, recorre todo el proyecto, y entre lo que lee hay texto que no ha escrito nadie de tu equipo, como la documentación de un paquete en vendor/. En la lección 17 vimos que un modelo no distingue las instrucciones de los datos. Un agente que solo puede leer y escribir un informe no puede cambiar nada, aunque algo de lo que lee le pida otra cosa.

Lo que queda de esta lección
  1. 02El prompt de auditoría
  2. 03El ejemplo resuelto con Claude Code
  3. 04Qué encuentra la auditoría en invoices
  4. 05El test: la conversación de otro usuario devuelve 403
  5. 06La solución: conversationBelongsTo()
Sigue leyendo con tu suscripción El curso completo, con el certificado y el foro con los planes trimestral y anual, está incluido en la suscripción. Ver los planes