brechas
Skill2 starsChanged 18 days agoMITView on GitHub
Cruza las dependencias del proyecto (pnpm-lock.yaml o package-lock.json), los servidores MCP y la versión de Claude Code con avisos públicos de seguridad (OSV.dev con GitHub Advisory Database y paquetes maliciosos, CISA KEV, EPSS) y deja un reporte con links en docs/seguridad/. Úsala cuando pidan revisar brechas, CVEs, vulnerabilidades o paquetes maliciosos en las dependencias, y cuando blindar delegue la parte de dependencias.
In this repository31 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- private-template/CLAUDE.mdCLAUDE.md
- backend-quality-gateSkill
- blindarSkill
- crear-appSkill
- desarrollo-por-etapasSkill
- docker-docsSkill
- elegir-metodoSkill
- erp-saas-coreSkill
- fullstackSkill
- graphifySkill
- http-query-docsSkill
- mapa-bloqueSkill
- memory-bank-contextSkill
- mem-searchSkill
- microserviciosSkill
- minio-docsSkill
- nestjs-docsSkill
- nestjs-security-hardeningSkill
- nextjs-docsSkill
- prisma7-docsSkill
- prompt-masterSkill
- react-docsSkill
- redis-docsSkill
- skills-bundleSkill
- tailwind-docsSkill
- tanstack-query-docsSkill
- testing-actionsSkill
- typescript-docsSkill
- ui-ux-polishSkill
- zustand-docsSkill
The file
Files
Brechas
Pedido: $ARGUMENTS
Los datos salen de las fuentes, no de ti. Corres el script, lees el JSON y explicas. No inventes avisos, versiones arregladas ni puntajes que el JSON no diga.
Pasos
- Carpeta: la que te dieron, o la raíz del proyecto (donde está
pnpm-lock.yaml). En un monorepo, la raíz: el lockfile es uno solo. Corre el script:
~/.claude/skills/brechas/scripts/brechas.mjs <carpeta>Opciones:
--salida <dir>(por defectodocs/seguridad/),--excluir <nombre o @scope/*>(repetible),--sin-mcp,--sin-claude,--json.Código de salida:
0sin críticos ni altos,1hay críticos o altos,2no encontró lockfile o error de uso,3alguna fuente falló y el reporte está incompleto.- Lee
docs/seguridad/brechas-<fecha>.json, no el Markdown. - Responde corto:
- Una línea: cuántas versiones revisó y cuántos hallazgos por nivel.
- Si
fallasno está vacío, dilo primero: el reporte está incompleto y por qué. - Cada crítico y cada alto: aviso, paquete, tu versión, versión que lo arregla y por qué es grave.
- Medios y bajos como conteo, salvo que pidan el detalle.
- La ruta del Markdown.
- Propón el arreglo, no lo apliques sin OK:
- Dependencia directa:
pnpm up <paquete>@<arreglo>y correr la suite. - Transitiva:
pnpm why <paquete>para ver quién la trae; primero subir el padre. Si no hay versión del padre que la arregle,pnpm.overridesen elpackage.jsonraíz, con un comentario en el PR de por qué. - Paquete malicioso (
MAL-*): es urgente. Quitarlo, borrarnode_modulesy reinstalar desde el lockfile corregido, y tratar como expuestos los secretos de la máquina y del CI donde se instaló (rotarlos). Avísale al usuario antes de cualquier otra cosa. - Sin versión arreglada: dilo. Opciones: cambiar de paquete, aislar el uso o aceptar el riesgo en
.brechas-ignorar.
- Dependencia directa:
Niveles
| Nivel | Cuándo |
| Crítico | Paquete malicioso (MAL-*) o CVE en CISA KEV (se está explotando) |
| Alto | Severidad HIGH o CRITICAL, o EPSS ≥ 10% |
| Medio | Severidad MODERATE |
| Bajo | Severidad LOW o sin dato |
Riesgo aceptado
.brechas-ignorar en la raíz del proyecto, un aviso por línea con su motivo:
GHSA-xxxx-xxxx-xxxx # solo se usa en el seed de desarrollo, no llega a producciónLo ignorado sale aparte en el reporte, no desaparece. Un MAL-* nunca se puede ignorar.
Noticias (solo si piden noticias)
Aparte del reporte, busca con WebSearch incidentes de los últimos 30 días sobre: servidores MCP maliciosos o vulnerables, prompt injection contra agentes de código, ataques de supply chain en npm, y avisos de Claude Code.
- Cada noticia con fecha y link a la fuente. Sin link, no sale.
- Si nombra un paquete, búscalo en el JSON del reporte (o en el lockfile) y di si el proyecto lo usa.
- Ponlas en una sección "Noticias" separada y dilo claro: son noticias, no hallazgos verificados contra el proyecto.
Qué sale de la máquina
Solo nombres y versiones de paquetes públicos hacia OSV.dev, y los CVE encontrados hacia FIRST.org (EPSS). Los paquetes del propio proyecto (cualquier name de un package.json del repo) y los que pases con --excluir no se consultan. De los archivos MCP solo se leen command y args; nunca env ni headers.
Limitaciones
- Solo npm:
pnpm-lock.yaml(v5, v6 y v9) ypackage-lock.json(v2 y v3).yarn.lockybun.locktodavía no. - Revisa todo el lockfile, sin separar dependencias de desarrollo y de producción.
- Los MCP que se ven son los de
.mcp.jsondel proyecto,mcp/servers.jsondel kit ymcp.jsonde la capa privada. Los que agregaste a mano conclaude mcp addno. - Detrás de un proxy corporativo, corre con
NODE_USE_ENV_PROXY=1(Node 24.5 o más nuevo). - La cache vive en
~/.cache/ai-lordkit/brechas/(KEV por 24 horas; cada aviso hasta que OSV lo modifique). - "Sin hallazgos" significa sin avisos publicados hoy, no que el código sea seguro.
Hook opcional: supply-guard
hooks/supply-guard.sh revisa antes de que Claude corra pnpm add, npm install, yarn add, npx, pnpm dlx o bunx:
- Versión marcada como maliciosa en OSV → bloquea.
- Versión publicada hace menos de 7 días → pide confirmación (
AI_LORDKIT_SUPPLY_DAYScambia los días). - Sin red, sin
jqo sincurl→ deja pasar;minimumReleaseAgede pnpm sigue protegiendo.
Viene apagado. Se activa con "env": { "AI_LORDKIT_SUPPLY_GUARD": "1" } en settings.json (mejor en tu capa privada).
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

