~/VibeHandbook
PDF gratis

Capítulo 18 · 09

Resumen y práctica

Ideas clave

  • El código generado por IA es inseguro por defecto; asume que existe una vulnerabilidad y ponte a buscarla en lugar de confiar en una primera impresión limpia.
  • Las grandes categorías se repiten: inyección, secretos expuestos, autorización ausente, subidas de archivos inseguras y dependencias inventadas.
  • La autorización es por petición, no por iniciada — cada debe verificar que este usuario puede hacer esta acción, no solo que ha iniciado sesión.
  • Ejecuta un escáner de secretos como gitleaks antes de cada push, y rota cualquier clave que alguna vez se haya filtrado; integra el escaneo en la para que no puedas saltártelo.
  • El día noventa es más peligroso que el día uno — haz que el filtro de seguridad sea lo bastante barato como para no saltártelo y lo bastante automático como para que no puedas.

Pruébalo

Toma cualquier función tuya que toque autenticación, datos de usuario o subidas y ejecútale el de revisión adversarial de abajo. Por cada vulnerabilidad que la IA reporte, pide la petición exacta que la explota y la solución mínima, luego aplica la solución y vuelve a ejecutar el prompt. Termina ejecutando gitleaks (o el escaneo de secretos de tu plataforma) sobre el repositorio y su historial.

Prompt del capítulo

Here is the code for a feature that handles [auth / user data / uploads]:
[paste the code].
Act as an attacker reviewing this for security holes. Specifically check:
  - broken authorization (can a user act on another user's data?)
  - injection via input (SQL injection, XSS, command injection)
  - exposed secrets or keys in code or responses
  - unsafe file handling (type, size, path, generated names)
  - missing validation or rate limits
For EACH issue, show the exact request that exploits it, then the fix.
Do NOT reassure me — assume there IS a vulnerability and find it.

¿Lo quieres sin conexión?

Descarga el libro entero en PDF o EPUB — gratis.