Inicio Documentación Referencia de reglas de Sentinel Esta es la lista canónica de cada regla de Sentinel que viene con Korva v1.0. Las primeras diez están implementadas en Go dentro del binario; las restantes son plantillas documentadas que puedes dejar en .korva/rules/<rule-id>.yaml para activarlas.
ID Severidad Detecta HEX-001 Error Capa de dominio importando de infrastructure o application HEX-002 Error Capa de application importando de infrastructure HEX-003 Error console.* en src/ (excluyendo tests)HEX-004 Error new XAdapter(...) fuera de *.module.tsHEX-005 Warning : any sin un // korva-ignore: <razón>
ID Severidad Detecta NAM-001 Error Sufijo Dto en lugar de DTO NAM-002 Error Token de puerto DI no en SCREAMING_SNAKE_CASE NAM-003 Warning Archivos en /adapters/ que no siguen *.adapter[.variant].ts
ID Severidad Detecta SEC-001 Error Secretos hardcodeados — literales password, api_key, secret, token
ID Severidad Detecta TEST-001 Warning Tests en __tests__/ o test/ en lugar de co-located
Deja un archivo <rule-id>.yaml en .korva/rules/ y Sentinel lo cargará. La referencia canónica completa vive en sentinel/rules/AGENTS.md en el repo público.
ID Detecta ARC-001 Imports de frameworks (express, nestjs, prisma…) dentro de domain/core ARC-002 Funciones de más de 25 LOC o llamadas a DB dentro de handlers HTTP ARC-003 db.query, prisma.*, mongoose.* fuera de repository/store
ID Detecta SEC-002 logger.info(password), console.log(token) con nombres de variable sensiblesSEC-003 Igualdad directa (==/===) sobre token / secret / HMAC / firma (timing attack) SEC-004 CORS con origin: "*" o Access-Control-Allow-Origin: * SEC-005 SQL en template literals con interpolación SEC-006 Rutas /admin, /internal, /users/:id sin middleware de autenticación
ID Detecta QC-001 console.log, debugger;, breakpoint() en src/QC-002 : any / as any sin justificación
ID Detecta DEPS-001 Imports de paquetes vulnerables (lodash<4.17.21, moment, node-serialize, eval())
Comentario inline en la misma línea que la violación:
const publicData : any = response.data // korva-ignore: API externa, sin tipo estático disponible
Un // korva-ignore pelado (sin razón) es a su vez una violación.
Perfil Reglas activas Caso de uso minimalSEC-001 Recién empezando standard (default)HEX-001/002/003 + SEC-001 La mayoría de equipos strictTodas las built-in Equipos maduros
Selecciona el perfil con --profile <name> o define KORVA_SENTINEL_PROFILE.
Deja my-rule.yaml en .korva/rules/.
Especifica patrón regex, glob de archivos, severidad (error / warning) y un mensaje de una línea.
Ejecuta korva sentinel check para verificar que dispara donde esperas.
Commitealo — tu equipo la recoge automáticamente al hacer pull.
korva-sentinel --format json
Forma del JSON:
"file" : "src/auth/AuthService.ts" ,
"message" : "Hardcoded secret detected" ,
"snippet" : "const secret = \" sk_live_4xK9mP... \" "