Todas las skills

security-review (everything-claude-code)

Revisa autenticación, entradas del usuario, secretos, endpoints de API y pagos con una lista de seguridad.

ECC security-review: no es mejor encontrando vulnerabilidades plantadas que Codex sin más, con aproximadamente los mismos tokens

Según el casoSegura

Codex CLI · gpt-6-astra

24.9 / 30

Mejora frente a sin skill: -0.16 · Según el caso · 18 ejecuciones

Según el caso: la mejora -0.16 está por debajo de +1.0. Para ser recomendada hace falta un total de 22/30, una calidad de salida de 3.5 y una mejora de +1.0.

SOTA

Aprobada

Probada con Codex.

Cubre Codex, Claude Code

Codex CLI 0.166 (nivel SOTA): 18 ejecuciones puntuadas. Una pasada aquí también cubre Claude Code según nuestra regla de niveles; no dice nada sobre el segundo nivel.

Puntuaciones

Cada dimensión va de 0 a 5 y las seis suman el total sobre 30. 5 es mejor en todas las dimensiones. Coste 5 significa barato y rápido. Instalación 5 significa fácil.

Fiabilidad de activación
5.0
Mejora frente a sin skill
1.8
Calidad de salida
4.1
Coste en tokens y tiempo
5.0
Instalación y portabilidad
4.0
Seguridad
5.0

Revisión de seguridad

Segura

Escaneo estático: 5 CRITICAL / 6 HIGH / 4 MEDIUM. Revisión manual: Segura para ejecutar en un sandbox sin red (hallazgos del escáner explicados). Un escaneo limpio no demuestra que una skill sea segura.

Instalar

npx skills@latest add affaan-m/everything-claude-code --skill security-review

Origen

Commit fijado: b38be6a7f6350964d59328b52f0624e1d1d552d1

Probada: 2026-11-02

Qué probamos

  • Revisar un módulo de servicio pequeño — Revisa la seguridad de orders_service.py antes de que lo fusione. Enumera los problemas que encuentres, del más grave al menos grave. No cambies ningún archivo.
  • Revisar un helper de autenticación — Revisa la seguridad de auth_handlers.py: acabo de escribirlo para nuestro flujo de inicio de sesión. Enumera los problemas, del más grave al menos grave. No cambies ningún archivo.
  • Revisar endpoints de subida — Revisa la seguridad de upload_api.py. Enumera las vulnerabilidades, de la más grave a la menos grave. No cambies ningún archivo.

Ventajas

  • La skill se activó sin nombrarla: se leyó el archivo de la skill en 6/6 ejecuciones con skill.
  • Sin sobrecoste de tokens: 1.03x los tokens de sin skill.

Inconvenientes

  • Sin mejora medible frente a sin skill (-0.16, dentro del ruido).
  • Un prompt de una frase obtuvo 4.29, frente a 4.06 con la skill (-0.23).
  • Salvedad de la prueba: la tarea t1 contiene tres elementos plantados que no son problemas de seguridad, lo que limita el mejor recuperación posible a cerca de 3.1.
  • n=2 por tarea y rama; las diferencias de menos de aproximadamente 1 punto son ruido.

Reseña

Codex CLI 0.166 (gpt-6-astra, razonamiento bajo) en una máquina de prueba Mac, con un proyecto temporal nuevo y HOME/TMPDIR/cachés temporales en cada ejecución, la skill instalada (grupo con skill), sin ella (control) o sin ella pero con el requisito central de la skill comprimido en una frase añadida al prompt (grupo del prompt de una frase), 2 ejecuciones por grupo y tarea, red desactivada y escrituras en /tmp bloqueadas. Los prompts nunca mencionan la skill (salvo la formulación indicada más abajo). Tres archivos pequeños con 8 problemas plantados cada uno (un módulo de servicio, un helper de autenticación, endpoints de subida) y una petición de solo lectura: «enumera los problemas, del más grave al menos grave». El servicio de pedidos incluye tres problemas que no son fallos de seguridad (un límite off-by-one, una fuga de recursos, dinero en float), que se espera que una revisión de seguridad omita; por eso, en esa tarea un revisor de seguridad puede encontrar como máximo 5 de 8 y la puntuación máxima ronda 3.1.

Comparación de tres ramas

RamaPuntuación media (0-5)Tokens por ejecución
Sin la skill4.2260k
Prompt de una frase4.2944k
Con la skill4.0662k

Medido con Codex CLI en 18 ejecuciones, puntuado con comprobaciones basadas en reglas y sin juez LLM. Total 24.9 / 30, veredicto Según el caso.

Aviso: La tarea t1 contiene tres elementos plantados que no son problemas de seguridad, lo que limita la mejor recuperación posible a cerca de 3.1.

Veredicto: Según el caso (24.9 / 30). Fuente: affaan-m/everything-claude-code, skills/security-review, fijada en el commit b38be6a. Instalación: npx skills@latest add affaan-m/everything-claude-code --skill security-review. Licencia: MIT (LICENSE del repositorio).

Qué es

La skill security-review de affaan-m/everything-claude-code (ECC): una lista de comprobación de seguridad para cuando añades autenticación, manejas entrada de usuario, trabajas con secretos, creas endpoints de API o implementas pagos. Unas 1,800 palabras de Markdown en SKILL.md (gestión de secretos, validación de entrada, inyección SQL, autenticación y autorización, XSS, CSRF, limitación de tasa, exposición de datos sensibles, seguridad de dependencias, con breves ejemplos de código bueno/malo y una lista de comprobación previa al despliegue) y un archivo Markdown adicional sobre seguridad de infraestructura en la nube. Sin scripts.

Cómo lo probamos

Codex CLI 0.166 (gpt-6-astra, razonamiento bajo) en un Mac de pruebas, un proyecto temporal nuevo y HOME/TMPDIR/cachés temporales por ejecución, skill instalada (tratamiento) o ausente (control) o ausente con el requisito central de la skill comprimido en una frase añadida al final del prompt (grupo de una frase), 2 ejecuciones por grupo y tarea, red desactivada, escrituras en /tmp bloqueadas. Los prompts nunca mencionan la skill (salvo la formulación indicada abajo).

Tres archivos pequeños con 8 problemas sembrados cada uno (un módulo de servicio, un helper de autenticación, endpoints de subida) y una petición de solo lectura: «enumera los problemas, de más grave a menos». El servicio de pedidos incluye tres problemas que no son fallos de seguridad (un error de límite por uno, una fuga de recursos, dinero en coma flotante), que se espera que una revisión de seguridad omita, así que en esa tarea un revisor de seguridad puede encontrar como máximo 5 de 8 y la puntuación llega como mucho a cerca de 3.1.

  1. Revisar un módulo de servicio pequeño — Revisa la seguridad de orders_service.py antes de fusionarlo. Enumera los problemas que encuentres, de más grave a menos. No cambies ningún archivo.
  2. Revisar un helper de autenticación — Revisa la seguridad de auth_handlers.py: acabo de escribirlo para nuestro flujo de inicio de sesión. Enumera los problemas, de más grave a menos. No cambies ningún archivo.
  3. Revisar endpoints de subida — Revisa la seguridad de upload_api.py. Enumera las vulnerabilidades, de más grave a menos. No cambies ningún archivo.

La puntuación es programática (pruebas ocultas / detección de problemas sembrados / comprobaciones de restricciones / renderizado+OCR cuando corresponde), 0–5 por ejecución. Ningún juez LLM decidió ninguna puntuación.

Resultados

La frase única que recibió el tercer grupo: "Comprueba el código contra una lista de seguridad: secretos incrustados, entrada sin validar, inyección SQL/de comandos, autenticación y autorización rotas, subidas de archivos inseguras, datos sensibles en errores o registros y falta de limitación de tasa, citando la línea exacta de cada hallazgo."

TareaPuntuación del controlFrase únicaCon la skillTokens del controlTokens de una fraseTokens con la skillSkill leída
t1-orders2.893.122.4260k44k72k2/2
t2-auth4.775.04.7759k44k61k2/2
t3-upload5.04.775.059k44k51k2/2

Puntuación media: 4.22 sin vs 4.06 con la skill (delta -0.16). Tokens por ejecución: 60k vs 62k (1.03x); tiempo 38s vs 44s. Grupo de una frase: 4.29 (ganancia de la skill sobre la frase única: -0.23; ganancia de la frase única sobre sin skill: +0.08); tokens de la frase única 44k por ejecución, así que la skill cuesta 1.40x la frase única.

Qué ocurrió

  • Ninguna ganancia. Puntuación media 4.22 sin la skill, 4.29 con una lista de seguridad en una frase, 4.06 con la skill. Detección de problemas sembrados: 4.8 de 8 por ejecución sin la skill, 4.9 con la frase única, 4.5 con la skill.
  • La skill fue algo peor en la tarea del servicio de pedidos: 2.4 de media frente a 2.9 del control y 3.1 de la frase única (2 y 3 puntos sembrados encontrados por ejecución, frente a 3-4 de los otros). Eso está dentro del ruido con n=2.
  • En el helper de autenticación y en los endpoints de subida, todos los grupos encontraron 7 u 8 de 8 problemas sembrados; ambos son fallos clásicos de manual (md5, path traversal, pickle, inyección de comandos) que Codex a secas ya conoce.
  • La skill se lee en 6/6 ejecuciones. Cuesta 62k tokens por ejecución frente a 60k (1.03x) y 44k con la frase única (1.41x): las ejecuciones de la frase única fueron las más baratas, porque leen menos antes de responder.
  • Una salvedad de puntuación: los puntos se comparan con expresiones regulares, así que un hallazgo formulado de otra manera puede contar como no detectado.

Puntuaciones por dimensión

DimensiónPuntuaciónMotivo
1. Calidad del resultado4.06

Puntuación media 4.06/5 con la skill (comprobaciones programáticas; consulta la tabla por tarea).

2. Mejora frente a no usar skill1.84

-0.16 puntos frente a 4.22 sin la skill (n=2 por tarea; menos de ~1 punto es ruido).

3. Activación5.0Archivo de la skill leído en 6/6 ejecuciones de tratamiento.
4. Portabilidad de las instrucciones4

Lista de comprobación en Markdown simple, con ejemplos sobre todo de JS/TS y Supabase; se aplica a otros stacks solo por analogía.

5. Eficiencia51.03x tokens (62k vs 60k por ejecución) y 1.17x tiempo (44s vs 38s).
6. Seguridad e higiene5

Solo Markdown; los aciertos del escáner son ejemplos de código (process.env, fetch, cadenas de plantilla) dentro de la lista.

Límites de esta prueba

  • Tres revisiones pequeñas de un solo archivo con fallos de manual; no se sembraron problemas más sutiles (autorización de lógica de negocio, condiciones de carrera, cadena de suministro).
  • No se ejercieron la lista de infraestructura en la nube ni la de comprobación previa al despliegue de la skill: no había archivos de infraestructura en la prueba.
  • Solo detección; no se puntuaron los falsos positivos ni la calidad del consejo de corrección.
  • n = 2 por grupo y tarea: las diferencias de menos de 1 punto son ruido.
  • La puntuación basada en reglas mide lo que las comprobaciones pueden ver; no puede juzgar el gusto ni si un resultado es el mejor posible.

Seguridad

Consulta security.md. Escaneo: 5 CRITICAL / 6 HIGH / 4 MEDIUM. Veredicto: seguro para ejecutar (sandbox sin red). Un escaneo limpio no demuestra que una skill sea segura.

En resumen

Una lista razonable, pero Codex a secas ya encuentra las mismas vulnerabilidades de manual, y una frase que enumere las mismas categorías lo hizo igual de bien con alrededor del 70% de los tokens. La skill no añade nada medible en este tipo de revisión de código; puede servir como prompt para un equipo que quiera una lista de comprobación coherente.

Transcripción

Registro de ejecuciones: security-review (Codex CLI, network off, per-run temp HOME/TMPDIR, one row per graded run.)
Columnas: tarea, grupo-ejecución, puntuación (0-5), tokens, segundos, comprobaciones superadas, archivos de la skill que abrió el agente.

t1-orders control-1: puntuación 3.12, tokens 60493, s 36.1, comprobaciones 1/2, no abrió nada
t1-orders control-2: puntuación 2.66, tokens 60831, s 41.9, comprobaciones 1/2, no abrió nada
t1-orders oneliner-1: puntuación 3.12, tokens 44382, s 32.3, comprobaciones 1/2, no abrió nada
t1-orders oneliner-2: puntuación 3.12, tokens 44393, s 35.0, comprobaciones 1/2, no abrió nada
t1-orders treatment-1: puntuación 2.19, tokens 73335, s 69.3, comprobaciones 1/2, abrió security-review
t1-orders treatment-2: puntuación 2.66, tokens 72383, s 54.7, comprobaciones 1/2, abrió security-review
t2-auth control-1: puntuación 4.53, tokens 59839, s 37.6, comprobaciones 2/2, no abrió nada
t2-auth control-2: puntuación 5.0, tokens 59894, s 37.4, comprobaciones 2/2, no abrió nada
t2-auth oneliner-1: puntuación 5.0, tokens 44259, s 36.9, comprobaciones 2/2, no abrió nada

18 ejecuciones, 3 artefactos

Resultado de ejemplo

SOTA · With the skill: final message (t1-orders, run 1, Codex)

Found six security issues, ordered by severity. Exposure depends on how callers expose these functions; no caller code was provided. 1. **High — SQL injection** — [orders_service.py:9](/var/folders/ln/t0z8fmzd0kz08d3fkz6tskn40000gn/T/asv-security-r-cagonwka/work/orders_service.py:9) `order_id` is interpolated directly into SQL. An input such as `0 OR 1=1` bypasses the intended lookup condition; crafted `UNION` queries could extract other database data. Bind `order_id` as a parameter. 2. **High — Missing cancellation authorization** — [orders_service.py:13](/var/folders/ln/t0z8fmzd0kz08d3fkz6tskn40000gn/T/asv-security-r-cagonwka/work/orders_service.py:13) `current_user` is never used. Anyone able to invoke this function can cancel another user’s order by supplying its ID. Enforce ownership or an authorized administrative role before updating it. 3. **High — Arbitrary file overwrite through exports** — [orders_service.py:39](/var/folders/ln/t0z8fmzd0kz08d3fkz6tskn40000gn/T/asv-security-r-cagonwka/work/orders_service.py:39) `open(path, "w")` immediately truncates any accessible target and follows symlinks. If callers control `path`, they can overwrite files with the service’s permissions—even before the query succeeds. Use server-generated filenames within a controlled export directory and prevent traversal and symlink escapes. 4. **High — Cross-user order export** — [orders_service.py:40](/var/folders/ln/t0z8fmzd0kz08d3fkz6tskn40000gn/T/asv-security-r-cagonwka/work/orders_service.py:40) The export accepts any `user_id` without checking the requester’s identity or permissions. A caller can export another customer’s records. Derive the user ID from authenticated context and explicitly authorize administrative exports. 5. **High if valid — Embedded payment credential and credential logging** — [orders_service.py:4](/var/folders/ln/t0z8fmzd0kz08d3fkz6tskn40000gn/T/asv-security-r-cagonwka/work/orders_service.py:4), [orders_service.py:48](/var/folders/ln/t0z8fmzd0kz08d3fkz6tskn40000gn/T/asv-security-r-cagonwka/work/orders_service.py:48) A live-looking API key is embedded in source and would be printed after successful gateway calls. Its validity is unverified; the current gateway stub always raises. If real, rotate it, load its replacement from secret storage, and remove credential logging. 6. **Medium — Untrusted payment values lack validation** — [orders_service.py:31](/var/folders/ln/t0z8fmzd0kz08d3fkz6tskn40000gn/T/asv-security-r-cagonwka/work/orders_service.py:31), [orders_service.py:45](/var/folders/ln/t0z8fmzd0kz08d3fkz6tskn40000gn/T/asv-security-r-cagonwka/work/orders_service.py:45) Totals trust supplied prices and quantities, while `charge` accepts an amount without matching it to the stored order. If client-controlled, these permit manipulated totals or underpayment. Retrieve authoritative prices, validate quantities and amounts, and compute the charge server-side. No files were changed. This was a static review; the sandbox blocked the attempted in-memory verification.

Ver Pro