~/codigoagente
Agentes de IA

Skill OWASP para Claude Code: revisa la seguridad de tu código con OWASP Top 10:2025 (prueba real)

claude-code-owasp es una skill para Claude Code que le enseña a revisar código con los estándares de seguridad de OWASP en sus versiones actuales: el Top 10:2025, ASVS 5.0, el Top 10 para aplicaciones con LLM (2026) y el Top 10 de aplicaciones agénticas (2026). Se instala como plugin en dos comandos y se activa sola cuando pides una revisión de seguridad. Tiene licencia MIT.

En este artículo verás qué trae, cómo instalarla y qué cambia de verdad en una revisión. La hemos probado en Claude Code 2.1.314 con Sonnet 5.5 sobre dos archivos con fallos plantados (una API de facturas en Flask y un agente de soporte que ejecuta comandos) y hemos repetido la misma revisión sin la skill para comparar.

Si las skills son nuevas para ti, lee antes la guía de skills de Claude Code.

Qué es claude-code-owasp

Es un repositorio de Agam More (agamm/claude-code-owasp) que contiene una sola skill, owasp-security, empaquetada también como plugin de Claude Code. Lo revisamos en el commit 8ac7965 del 24 de septiembre de 2026.

Su argumento principal es la exactitud de las referencias. OWASP cambió mucho entre 2021 y 2026 y buena parte del material que circula (y del que aprendieron los modelos) cita nombres e identificadores viejos:

  • El Top 10:2025 renombró tres categorías y añadió dos nuevas: A03 *Software Supply Chain Failures* y A10 *Mishandling of Exceptional Conditions*. SSRF ya no tiene categoría propia: entra en A01 *Broken Access Control*.
  • ASVS 5.0 (mayo de 2025) renumeró todos los capítulos. Un V2.1.1 de la 4.0 no significa lo mismo en la 5.0.
  • El Top 10 para LLM 2026 reordenó ocho de sus diez riesgos. Por ejemplo, *Excessive Agency* pasó de LLM06 a LLM03 y *Improper Output Handling* de LLM05 a LLM10. La skill incluye una tabla de traducción y obliga a escribir siempre el ID con su nombre ("LLM03 Excessive Agency") para que no haya ambigüedad.

El autor dice que verificó nombres e IDs contra las fuentes oficiales (owasp.org, el repositorio de ASVS y el PDF del LLM Top 10 2026) en lugar de parafrasearlos.

Qué incluye la skill

La skill sigue la estructura que recomienda Anthropic: un SKILL.md corto con lo que el modelo haría mal sin ayuda y archivos de referencia que solo se leen cuando hacen falta.

ArchivoQué contieneCuándo se lee
`SKILL.md`Flujo de revisión en 5 pasos, rúbrica de triaje, formato del informe, tablas del Top 10:2025, LLM 2026, agéntico 2026 y requisitos clave de ASVS 5.0Siempre que se activa
`reference/review-checklist.md`Lista de comprobación por categoría: entrada, sesiones, control de acceso, SSRF, archivos, configuración, dependencias, LLM y agentesEn el paso 3 de la revisión
`reference/languages.md`Fallos típicos con ejemplo inseguro y seguro para 20 lenguajes (JS/TS, Python, Java, C#, PHP, Go, Rust, Swift, Kotlin, Shell, SQL…)La sección del lenguaje revisado
`reference/config-and-supply-chain.md`Dockerfile, Kubernetes, Terraform, cabeceras, lockfiles e integración continuaSi el cambio toca configuración o dependencias
`reference/owasp-report.md`Vectores de ataque y mitigaciones de cada riesgo (unas 1.100 líneas)Solo la sección necesaria

Lo más útil está en SKILL.md, en dos piezas:

La rúbrica "antes de reportar un hallazgo". Antes de dar algo por vulnerabilidad, Claude tiene que confirmar cuatro cosas: que la entrada la controla un atacante, que llega al punto peligroso (el *sink*) sin un control por medio, cuál es el alcance del daño y que el atacante puede dar cada paso del ataque. Si no puede confirmarlo, el hallazgo baja a "Needs verification". Es la defensa contra el mayor problema de las revisiones automáticas: listas largas de falsos positivos que esconden lo importante.

Un formato de informe fijo. Cada hallazgo sale con severidad, título, CWE e IDs de OWASP, ubicación con línea, camino de la entrada al sink, impacto, arreglo y nivel de confianza. La severidad se mide por explotabilidad, no por patrón, y la skill pide no rellenar el informe con avisos "Info" para parecer exhaustivo.

Cómo instalarla

Como plugin (recomendado)

Dentro de Claude Code:

snippettext
/plugin marketplace add agamm/claude-code-owasp
/plugin install owasp-security@agamm

Los marketplaces de terceros no se actualizan solos. Para actualizar a mano:

terminalsh
claude plugin marketplace update agamm
claude plugin update owasp-security@agamm

O activa la actualización automática una vez: /plugin, pestaña Marketplaces, selecciona agamm y elige Enable auto-update.

Como skill suelta

La skill es una carpeta, no un archivo, así que hay que copiarla entera. Con degit, solo para el proyecto actual:

terminalsh
npx degit agamm/claude-code-owasp/.claude/skills/owasp-security .claude/skills/owasp-security

O para todos tus proyectos:

terminalsh
npx degit agamm/claude-code-owasp/.claude/skills/owasp-security ~/.claude/skills/owasp-security

Probarla sin instalar nada

Para nuestra prueba clonamos el repositorio y lo cargamos solo en esa sesión con --plugin-dir, que no toca tu configuración:

terminalsh
git clone --depth 1 https://github.com/agamm/claude-code-owasp
cd mi-proyecto
claude --plugin-dir ../claude-code-owasp

Antes de instalar cualquier skill de terceros, conviene leerla o pasarla por un escáner. Este repositorio es solo Markdown (más un script de pruebas en Node que no se ejecuta al usarla), pero el hábito importa: te lo contamos en el artículo de SkillSpector.

Cómo se usa

No hay comando que recordar. Claude Code carga la skill cuando la petición encaja con su descripción: "revisa la seguridad de este código", "¿esto es seguro?", "audita este endpoint", "threat model", "prompt injection", "seguridad de un servidor MCP", "secretos en el código" o "endurece este Dockerfile". También se activa al implementar autenticación, sesiones, criptografía o funciones con LLM.

Algunas peticiones que funcionan bien:

snippettext
Haz una revisión de seguridad de este diff antes de fusionarlo.
¿Es segura esta implementación de login y sesiones?
Revisa este agente contra los riesgos agénticos de OWASP.
Endurece este Dockerfile y el workflow de GitHub Actions.

Cuando hace una revisión, copia en su respuesta una lista de cinco pasos y la va marcando: mapear entradas y fronteras de confianza, cargar las referencias necesarias, buscar candidatos, hacer triaje de cada uno y redactar el informe.

Prueba real: la misma revisión con y sin la skill

Preparamos un repositorio con dos archivos en Python:

  • facturas.py: una API Flask con dos rutas protegidas con @login_required. El listado ordena con un f-string en el ORDER BY, pero la columna sale de una lista blanca (un señuelo: parece inyección SQL y no lo es). El detalle /api/facturas/<id> busca la factura solo por id, sin comprobar el propietario (un IDOR real).
  • agente_soporte.py: un agente que lee el correo de un cliente, se lo pasa a Claude y ejecuta con subprocess.run(..., shell=True) el comando que el modelo pida.

Los dos casos están adaptados de las pruebas (*evals*) del propio repositorio. Lanzamos el mismo prompt en modo no interactivo, solo con permisos de lectura:

terminalsh
claude -p "Haz una revisión de seguridad de facturas.py y agente_soporte.py antes de que lo fusione." \
  --plugin-dir ../claude-code-owasp \
  --allowedTools "Read,Glob,Grep,Skill"

Claude cargó la skill como primer paso, leyó los dos archivos y la lista de comprobación, y devolvió esto:

Salida de Claude Code con la skill owasp-security: hallazgo crítico de ejecución de comandos por inyección de prompt y hallazgo alto de IDOR, con CWE, IDs OWASP, camino y confianza
Revisión real con la skill: cada hallazgo trae CWE, IDs de OWASP 2025, LLM 2026 y agénticos, camino de la entrada al sink y nivel de confianza · codigoagente

Después repetimos exactamente lo mismo sin --plugin-dir. El resultado:

Tabla comparativa de la revisión de seguridad con y sin la skill owasp-security en Claude Code: mismos hallazgos, distinto formato, IDs y coste
Mismos hallazgos, distinto informe · codigoagente

Qué aprendimos

  • Sonnet 5.5 ya encuentra los fallos sin la skill. Las dos revisiones detectaron la ejecución remota de comandos (crítica), el IDOR (alto) y el bucle sin límite, y ninguna cayó en el señuelo del ORDER BY. Si esperas que la skill descubra vulnerabilidades que el modelo no ve, en código así no es el caso.
  • Lo que aporta es el informe. Con la skill, cada hallazgo trae CWE, categoría OWASP 2025 e IDs de LLM 2026 y agénticos con su nombre, el camino exacto de la entrada al sink, la línea y un nivel de confianza explícito. Sin ella, la explicación es buena pero en prosa y sin referencias que puedas pegar en un ticket, una auditoría o un informe para un cliente.
  • Menos relleno. Sin la skill, el informe añadió dos hallazgos "bajos" y uno de robustez que no es de seguridad. Con ella, se quedó en tres hallazgos reales, como pide su rúbrica.
  • Cuesta algo más. La skill añade contexto: la revisión costó 0,134 USD frente a 0,085 USD, con el mismo tiempo (32 s). En una revisión de un PR grande la diferencia sube, porque lee más referencias.

El propio autor mide lo mismo: el repositorio trae cinco evals para claude plugin eval que puntúan cada caso con y sin la skill, incluidos uno que exige no reportar falsos positivos en código seguro y otro que comprueba que la skill no se activa en peticiones que no son de seguridad. Si la modificas, puedes medir si mejora o empeora:

terminalsh
claude plugin eval .
claude plugin eval . --model opus

Cada ejecución hace llamadas reales al modelo y se cobra en tu cuenta (el autor calcula unos 2-3 USD por modelo para la suite completa).

Cuándo merece la pena

  • Revisas código que va a producción y lo documentas. Si entregas informes a clientes o necesitas trazabilidad (CWE, OWASP, ASVS), el formato fijo te ahorra reescribir cada hallazgo.
  • Construyes agentes o funciones con LLM. Las tablas del LLM Top 10 2026 y del Top 10 agéntico son lo que más se ha movido y lo que peor conocen los modelos. Nombrar bien "LLM03 Excessive Agency" o "ASI05 Unexpected Code Execution" evita confusiones con la edición 2025.
  • Quieres un nivel de ASVS concreto. La skill resume los requisitos de nivel 1 y 2 con sus IDs reales de la 5.0 (por ejemplo, contraseñas de al menos 8 caracteres en 6.2.1, o que todo el registro de seguridad empieza en L2).

No sustituye a una auditoría completa. Para recorrer un repositorio entero con varios agentes que buscan y refutan fallos, mira security-audit de Cloudflare; para revisar cada PR de forma automática en CI, la guía de Open Code Review. claude-code-owasp encaja como capa de conocimiento: se activa sola cuando escribes o revisas código sensible y hace que lo que diga Claude sea preciso y citable.

Errores frecuentes

La skill no se activa. Comprueba que el plugin está instalado con /plugin y pide la revisión con palabras de su descripción ("revisión de seguridad", "¿es seguro?", "OWASP"). Si instalaste la skill suelta, la carpeta tiene que quedar en .claude/skills/owasp-security/SKILL.md, no un nivel más abajo.

Copiaste solo SKILL.md. Funciona a medias: el paso 3 pide leer reference/review-checklist.md y los archivos de lenguaje. Copia la carpeta entera con degit o cp -r.

No recibes actualizaciones. Los marketplaces de terceros no se actualizan solos. Ejecuta claude plugin marketplace update agamm y claude plugin update owasp-security@agamm, o activa *Enable auto-update*, y luego /reload-plugins.

El informe cita LLM06 para "Excessive Agency". Esa es la numeración de 2025. La skill obliga a usar la de 2026 (LLM03) con el nombre al lado; si ves IDs viejos, probablemente la skill no se cargó en esa sesión.

Preguntas frecuentes

¿Es gratis? Sí. La skill tiene licencia MIT. Lo que pagas son los tokens del modelo que haga la revisión.

¿Funciona con Codex, Cursor u otros agentes? El formato SKILL.md es un estándar abierto, así que la carpeta se puede usar en otros agentes que lean skills. El plugin y las evals son específicos de Claude Code.

¿Ejecuta código o escanea dependencias? No. Es conocimiento e instrucciones en Markdown: Claude lee tu código y razona sobre él. No ejecuta herramientas de análisis ni consulta bases de vulnerabilidades.

¿Sirve para código en español? Sí. En nuestra prueba el código tenía nombres en español y el informe salió en español, con los nombres de las categorías de OWASP en inglés, que es como se citan.

¿Qué modelo conviene? El autor diseña y mide la skill para Sonnet y Opus. No la evalúa en modelos pequeños.

Conclusión

claude-code-owasp no convierte a Claude en mejor cazador de fallos: con un modelo actual, ya los encuentra. Lo que hace es que el resultado salga con el vocabulario correcto de OWASP 2025-2026, con el camino del ataque explicado, la confianza declarada y sin relleno. Si revisas código para producción o para clientes, se instala en dos comandos y compensa el pequeño coste extra. El siguiente paso es combinarla con un flujo seguro de instalación de skills: busca con find-skills y escanea con SkillSpector antes de añadir cualquier otra.

// código fuente

Repositorio del artículo
El código del que habla este artículo es público: revísalo, dale una estrella o clónalo desde aquí.

// kit para agencias

¿Haces webs para clientes con Claude Code?
5 skills que preparan la propuesta, crean la web, la revisan antes de entregarla y auditan la de tus prospectos, con una guía de 24 páginas probada en un caso real. Lo vende Safe Build Labs, la agencia que patrocina codigoagente.

// implementación

¿Necesitas implementar esta automatización en tu negocio?
No pierdas semanas configurando servidores, APIs y agentes. Safe Build Labs, la agencia que patrocina codigoagente, lo construye por ti, listo para producción.
Probamos mcp-builder, la skill de Anthropic para crear servidores MCP: hicimos uno para una tienda en 99 segundos por 0,25 USD y hallamos dos fallos de versión.
  • Skills para tus agentes
  • Claude Code
leer artículo
Probamos webapp-testing, la skill oficial de Anthropic que prueba tu web local con Playwright: instalación, with_server.py, dos trampas reales y cuánto cuesta.
  • Skills para tus agentes
  • Claude Code
leer artículo
video-shotcraft es una skill Apache-2.0 con 150 planos para que Claude Code haga el vídeo promo de tu web en Remotion. Cómo funciona y cuánto cuesta.
  • Skills para tus agentes
  • Claude Code
leer artículo