Extensión para VS Code · Código abierto
Corrige vulnerabilidades npm sin actualizar a ciegas.
Las aplicaciones dependen de paquetes creados por terceros. Cuando uno tiene una vulnerabilidad, la solución rápida puede introducir cambios incompatibles. Keel analiza el proyecto dentro de VS Code, calcula una alternativa más prudente y muestra qué cambiará antes de tocar los archivos.
- Problema
- npm audit fix --force puede saltar a una versión principal incompatible, mientras npm audit señala la vulnerabilidad pero no indica la versión mínima necesaria para salir de ella.
- Solución
- Keel calcula una candidata mínima sin la vulnerabilidad y reúne señales de riesgo, referencias del paquete, cambios y comandos para revisarlos antes de aplicar nada.
- Resultado
- La actualización deja de ser un salto automático: se convierte en una decisión explícita, informada y trazable dentro del editor.
Flujo de uso
De la alerta a una decisión revisada
El recorrido sigue los pasos documentados por Keel y deja la validación final en manos del equipo.
Abre un proyecto npm que tenga package-lock.json.
Ejecuta «Keel: Scan» desde la paleta de comandos de VS Code.
Revisa las candidatas, el nivel de riesgo y el detalle de cada paquete.
Elige los cambios, comprueba el diff y los comandos, y aprueba de forma explícita el método de aplicación.
Ejecuta después la compilación y las pruebas propias del proyecto. Keel no las ejecuta.
Dentro de VS Code
Tres momentos para entender antes de cambiar
El análisis separa el panorama general, la evidencia de cada dependencia y la aprobación final.

Qué comprueba antes de recomendar una versión
Keel combina la información de npm con controles de procedencia, publicación y aplicación para reducir decisiones apresuradas.
Versión mínima sin la vulnerabilidad
Lee npm audit, el lockfile y el registro para buscar la primera versión publicada que queda fuera de los rangos vulnerables.
Cuarentena de versiones nuevas
Evita recomendar publicaciones demasiado recientes durante el periodo configurable; una vulnerabilidad crítica puede omitir esa espera y queda señalada.
Contraste con OSV o Snyk
Usa OSV por defecto. Si hay un token y una organización de Snyk configurados, consulta también su API para comprobar la candidata.
Rechazo de avisos de malware
Descarta versiones afectadas por avisos MAL- de OSV y, al usar Snyk, por señales de paquete malicioso como CWE-506.
Scripts de instalación nuevos
Compara los manifiestos y advierte si la versión candidata añade preinstall, install o postinstall.
Firmas del registro tras instalar
Después de npm install o npm audit fix ejecuta npm audit signatures; si falla, detiene el flujo.
Aprobación explícita, nunca --force
Muestra el diff y los comandos antes de aplicar. Solo acepta comandos npm permitidos y rechaza cualquier argumento --force.
Privacidad y límites claros
Keel no recopila telemetría. El panel funciona con una política de seguridad sin acceso de red y la extensión restringe sus solicitudes a destinos conocidos.
Contacta únicamente registry.npmjs.org, api.osv.dev, api.snyk.io y api.github.com. El token opcional de Snyk se guarda en SecretStorage de VS Code.
Los resúmenes de notas de versión con IA son opcionales. Usan el modelo de lenguaje de VS Code proporcionado por Copilot y envían a ese modelo las notas de versión pertinentes.
Lo que no pretende hacer
- Solo admite proyectos npm con package-lock.json.
- No admite monorepos que declaran workspaces.
- Un override puede forzar una versión fuera del rango solicitado por un paquete padre.
- La información de cambios depende de que el repositorio publique GitHub Releases.
- La detección de imports busca texto; no realiza un análisis completo del árbol sintáctico.
- No ejecuta la compilación ni las pruebas del proyecto; deben correrse después de actualizar.
Tecnologías y servicios
- TypeScript
- VS Code API
- Vue 3
- Vite
- Node.js
- npm
- OSV
- Snyk API
- GitHub API