跳到正文
DEV Community· luijhy michael guerra flores·· 3 小時前AI 評分65

Claude Code 的 /revisar 技能在測試中找出授權繞過、SQL 注入及日誌中的 JWT 秘密(附完整 SKILL.md)

Una skill /revisar para Claude Code que encontró un bypass de auth, una inyección SQL y un secreto en logs (SKILL.md completo)

AI 導讀

作者分享一份供 Claude Code 使用的 /revisar 程式碼審查技能,並以英文版在 Claude Code 2.1.293 測試,找出授權繞過、SQL 注入及日誌中的 JWT 秘密。技能要求先閲讀變更檔案的完整內容,再依次檢查正確性、安全、資料與 API、效能及可維護性,並以嚴重程度表格列出有具體情境佐證的問題。測試中,技能將三項問題列為高嚴重程度,提出修正建議,且沒有自行修改程式碼。

正文

luijhy michael guerra flores

Las skills de Claude Code son archivos Markdown que le enseñan a Claude un procedimiento repetible. Se guardan en .claude/skills/<nombre>/SKILL.md y se llaman con /<nombre>, o Claude las usa sola cuando tu pedido coincide con su description.

Esta es la skill de revisión de código que uso a diario, completa y gratis para copiar.

La skill

Guárdala como .claude/skills/revisar/SKILL.md en tu repo (o en ~/.claude/skills/revisar/SKILL.md para tenerla en todos):

---
name: revisar
description: "Revisa el diff actual (o una rama) buscando bugs, problemas de seguridad y deuda, y entrega hallazgos priorizados. Úsala cuando el usuario pida \"revisa\", \"code review\" o \"qué opinas de estos cambios\"."
---

# Revisión de código

1. Obtén el diff: `git diff` + `git diff --staged`, o `git diff <base>...HEAD` si el usuario nombra una rama.
2. Lee el contexto necesario de cada archivo tocado (no solo las líneas del diff).
3. Busca, en este orden:
   1. **Correctitud**: casos borde, null/undefined, async sin `await`, condiciones de carrera, off-by-one, manejo de errores que traga excepciones.
   2. **Seguridad**: inyección (SQL, comandos, XSS), secretos en código, validación de entrada, autorización faltante en resolvers/endpoints, datos sensibles en logs.
   3. **Datos y API**: migraciones irreversibles, cambios incompatibles de contrato (REST/GraphQL), N+1 en resolvers.
   4. **Rendimiento**: renders innecesarios en React, efectos sin dependencias correctas, consultas en bucles.
   5. **Mantenibilidad**: duplicación, nombres confusos, código muerto, tests faltantes para la lógica nueva.
4. Entrega una tabla ordenada por severidad:

   | Sev. | Archivo:línea | Problema | Sugerencia |
   |------|---------------|----------|------------|
   | 🔴 alta / 🟡 media / ⚪ menor | ... | ... | ... |

5. Solo reporta lo que puedas justificar con un escenario concreto. Si no encuentras nada serio, dilo. No apliques cambios salvo que el usuario lo pida.

Tres detalles la hacen mejor que escribir "revisa mi código":

  1. Lee el archivo completo, no solo el diff. La mayoría de bugs reales están en cómo las líneas nuevas interactúan con las que no cambiaron.
  2. Un orden fijo. Correctitud y seguridad van antes que estilo, así lo importante no queda enterrado bajo comentarios de nombres.
  3. "Solo reporta lo que puedas justificar con un escenario concreto." Esa línea elimina casi todos los consejos genéricos que suelen dar las revisiones con IA.

Una prueba real

Armé un repo de prueba con un refactor de autenticación que mete tres fallos a propósito: un bypass de auth, el secreto JWT impreso en los logs y una inyección SQL. Lo pasé por la versión en inglés de esta misma skill (mismo contenido, traducido) en Claude Code 2.1.293.

Resultado: encontró los tres fallos, los puso primero como 🔴 alta, explicó para cada uno cómo se explota (por ejemplo, que Authorization: Bearer basura pasaba el middleware porque req.user = null seguía llamando a next()) y propuso el arreglo concreto (return res.status(401) antes de next(), consulta parametrizada con $1, borrar el console.log del secreto). No tocó el código, porque la skill dice que no lo haga salvo que se lo pidas.

Adáptala

  • Agrega a la lista del paso 3 los errores típicos de tu stack (por ejemplo, "falta key en listas de React", "consultas GraphQL sin límite").
  • Si quieres que se active sin escribir /revisar, pon en la description las frases que usas de verdad ("mira mis cambios", "¿algo mal aquí?").
  • Mantén la tabla de severidad: se lee rápido y se pega tal cual en un PR.

Si te sirve, el Kit de Claude Code en español (US$9, no oficial) trae 5 skills más en el mismo estilo (/commit, /pr, /tests, /plan, /depurar), hooks de seguridad que bloquean rm -rf, force-push y secretos filtrados (con 27 tests), plantillas de CLAUDE.md para React, Node y GraphQL, y presets de permisos: https://luijhy.gumroad.com/l/kit-claude-code-es

Los hooks de seguridad solos están gratis aquí: https://github.com/kailucho/claude-code-hooks-seguridad

來源:DEV Community · dev.to