Jorge Turbica / blog · Blog ← Todos los artículos EN · Read in English
IA

Skill del día: security-audit, la auditoría de Cloudflare con verificadores que no se fían

La skill MIT de Cloudflare audita tu código en seis fases y cada hallazgo lo intenta refutar otro agente. Unas 34.400 estrellas.

Unas 34.400 estrellas en GitHub a 21 de octubre de 2026 para la skill con la que Cloudflare empezó su arnés interno de búsqueda de vulnerabilidades. Es security-audit, con licencia MIT, y convierte a tu agente de código en un auditor que no se fía de sí mismo: quien encuentra un fallo nunca es quien lo confirma.

Cloudflare explicó en junio de 2026, en "Build your own vulnerability harness", cómo ese arnés creció hasta un sistema de varias fases para toda su flota. Esta skill es el punto de partida para un solo repositorio.

Qué hace

La skill tiene dos modos, y la distinción importa:

  • Modo guía (por defecto): para preguntas de seguridad, revisiones acotadas o triaje de un hallazgo concreto. Usa solo las partes relevantes, no crea directorios ni ficheros.
  • Modo auditoría completa: solo cuando pides explícitamente auditar o hacer un pen-test del código, una revisión completa o un informe. Si la petición es ambigua, el SKILL.md obliga al agente a preguntar antes.

En auditoría completa recorre seis fases:

  1. Reconocimiento: mapa de arquitectura, fronteras de confianza y superficies de entrada en architecture.md, y un registro de cobertura en coverage-ledger.json.
  2. Caza guiada por cobertura: cazadores aislados, uno por unidad del registro, y "críticos de cobertura" que buscan huecos.
  3. Validación de candidatos: cada candidato va a un verificador nuevo que intenta refutarlo.
  4. Salida estructurada: registros confirmed, needs_validation y rejected en findings.json, validados contra report-schema.json.
  5. Verificación independiente de lo que se afirma sobre el código, con otro agente nuevo.
  6. Informe: REPORT.md, FINDINGS-DETAIL.md y NEEDS-VALIDATION.md, derivados de los registros verificados.

Un hallazgo solo es confirmed con una traza completa en el código y un resultado observado; si falta un dato, queda como needs_validation, sin severidad. Y una capa de defensa ausente no es una vulnerabilidad si otra ya bloquea el ataque: es una nota de endurecimiento.

Hay tres perfiles (quick, standard y deep) y un presupuesto opcional, medido en número de invocaciones de agentes, que reserva los críticos y los verificadores antes de lanzar cazadores. Las ejecuciones son acumulativas: la siguiente lee los registros anteriores y apunta a los huecos. Según el README, en las pruebas de Cloudflare una sola ejecución encontraba aproximadamente la mitad de las vulnerabilidades que sumaban varias.

Cómo instalarla y usarla

Se instala con la CLI de skills.sh (añade --global para todo el usuario):

bash
npx skills add https://github.com/cloudflare/security-audit-skill \
  --skill security-audit

Después basta con pedirlo en lenguaje natural dentro del repositorio: "security audit this codebase" o "do a security review, output to ~/audits/my-project". Sin directorio indicado, los artefactos van a ~/security-audit-skill/<repo>/run-<N>, fuera del repositorio auditado; solo escribe dentro si eliges un directorio que el control de versiones ignore.

Riesgos y límites

  • Scripts. Ejecuta dos validadores en Node sin dependencias, validate-findings.cjs y validate-coverage-ledger.cjs, que vienen en el repo con sus tests. Necesitas Node.js.
  • Ejecutar el código auditado. Es el punto delicado. El SKILL.md exige un sandbox impuesto por el sistema operativo para cualquier build, test o fuzzer del objetivo: sin red externa, entorno vacío con lista blanca, código en solo lectura y límites de CPU, memoria y tiempo. Si no puede garantizarlo, no ejecuta nada y deja el hallazgo como needs_validation. Es una regla escrita en un prompt, no un mecanismo: el aislamiento real depende de tu agente y de tu máquina.
  • Red y credenciales. Prohíbe probar endpoints desplegados, servicios externos o identidades de producción, y no copiar el entorno ni valores de credenciales en los informes.
  • Coste. Lanza muchos subagentes en paralelo. Necesitas un modelo con herramientas y subagentes, y en un repo grande lo razonable es fijar presupuesto o empezar por quick.
  • Instalación. npx skills add descarga el paquete y la skill desde la red; revisa la versión que instalas.

Frente a lo que ya había

Un SAST clásico aplica reglas y devuelve una lista larga con falsos positivos. Pedirle a un agente "busca vulnerabilidades" sin estructura da lo contrario: pocas respuestas, convincentes y sin verificar. Esta skill se sitúa entre los dos: el agente razona sobre fronteras de confianza, pero cada hallazgo pasa por un verificador independiente y por un esquema validado. No sustituye al SAST en CI, que es barato y determinista; sirve para la revisión profunda que antes pedías a una persona antes de una release o tras un cambio grande en la autenticación.

Fuentes

Jorge Turbica

Software Engineer y SRE. Escribo sobre los retos reales que me encuentro en producción.

Ver portfolio ↗