Un sistema de alerta temprana para las dependencias que dejaste de vigilar.
En la era de la IA publicas más proyectos Node.js de los que puedes mantener. Sentinello vigila cada uno y revela los CVE conocidos en sus dependencias npm, para que un proyecto olvidado nunca se convierta en un incidente.
Ejecútalo con un solo comando:
docker run -d \
--name sentinello \
-p 3870:3000 \
-v sentinello-data:/app/data \
-v sentinello-nvm:/root/.nvm \
-v ~/Developer:/roots/personal:ro \
ghcr.io/walkofcode/sentinello:latestFunciona en linux/amd64 y arm64
Sin cuenta. Sin SaaS. Sin telemetría. Una imagen de Docker y un archivo SQLite: tu código y tus hallazgos nunca salen de tu máquina.
Características
Todo en un portal autoalojado — sin servicios externos, sin que los datos salgan de tu red.
Cola de triaje única
Ve y tría los CVE de todo tu portafolio en un solo lugar, en vez de npm audit disperso en una docena de copias.
Explora por proyecto o por librería
Entra en cualquier repositorio para ver sus hallazgos, versiones de corrección e historial — o cambia a un paquete vulnerable para ver todos los proyectos a los que afecta y silenciarlo en todos a la vez.
Escaneo continuo
Un proceso en segundo plano vuelve a escanear según una programación, así los nuevos avisos aparecen sin que tengas que acordarte de revisar.
Múltiples fuentes
Más allá de npm audit: compara con la base de datos OSV para mayor cobertura de CVEs y detección de paquetes maliciosos conocidos.
Notificaciones y webhooks
Recibe alertas de fallos y hallazgos por Slack, Telegram o un webhook simple — acotadas por root o por proyecto, en el idioma que elijas. Payloads en JSON o texto plano para un agente de auto-reparación.
Servidor MCP
Conecta Claude Desktop, Cursor y otros clientes MCP para consultar hallazgos, proyectos y librerías, y lanzar escaneos, sin salir del chat.
Exportación de avisos
Exporta los hallazgos de un proyecto o una librería como Markdown, con un prompt de remediación personalizable para tu equipo o un LLM.
Una imagen, un archivo
Una imagen de Docker y un archivo SQLite. Sin servidor de base de datos, sin cola de mensajes, sin dependencia de la nube.
Roots autorregistrados
Todo lo que montes bajo /roots se registra y se escanea al arrancar; el nombre del directorio se vuelve su etiqueta.
Node por proyecto
Respeta el .nvmrc de cada proyecto, instalando y cacheando una sola vez la versión de Node que fija.
10 idiomas
La interfaz del portal, los códigos de motivo de escaneo y los estados están traducidos a 10 idiomas.
Capturas
Míralo en acción — el portal escaneando un puñado de proyectos de demostración. Haz clic en cualquier captura para ampliarla.
Cómo se compara
Sentinello no es un Dependency-Track más pesado ni un Snyk más barato. Ocupa otro nicho: la larga cola de proyectos Node que nadie conectó a un pipeline.
| Sentinello | Dependency-Track | Snyk | Dependabot | |
|---|---|---|---|---|
| Sin configuración — apuntá a una carpeta | ~ | ~ | ||
| No requiere SBOM ni paso de CI | ||||
| Escanea lockfiles resueltos reales | ~ | |||
| Detección de paquetes maliciosos | ||||
| Autoalojado, sin SaaS | ||||
| Una imagen + SQLite | ||||
| Nativo para IA (MCP + export) | ~ | |||
| Polilingüe (Python, Go, …) | Planeado | |||
| Política empresarial / VEX | ~ | ~ |
Dependency-Track solo ve los proyectos que alguien instrumentó con un pipeline de SBOM. Sentinello encuentra los que olvidaste. Son más sólidas en políticas empresariales, y la cobertura polilingüe está en la hoja de ruta de Sentinello — si ya los corres en un pipeline maduro, consérvalos. Sentinello es para el resto de tu portafolio que nadie está mirando.
Por qué lo creamos
En la era de la IA, publicas más de lo que puedes mantener.
Hoy una sola persona desarrolladora levanta, entrega y deja atrás una docena de proyectos al año: el sitio de marketing, el panel del cliente, el proyecto personal que llegó a producción sin hacer ruido. Mantenerlos seguros solía significar entrar por SSH a cada copia para correr npm audit a mano, o enterarte de un CVE de Next.js por un titular días después de que salió. Nadie sostiene eso en una docena de repos, así que directamente no pasa.
Basta con una sola dependencia olvidada con una falla crítica de ejecución remota de código. El sitio más simple que dejaste de vigilar se vuelve la puerta de entrada.
«¿Por qué no usar Snyk o Dependabot y ya?» Esos viven dentro del pipeline de CI que armaste — y la larga cola nunca tuvo uno. Sentinello es el sistema de alerta temprana para todo lo demás: apúntalo a una carpeta y vigilará cada proyecto que olvidaste, revelando cada nuevo CVE en una sola cola antes de que se convierta en un incidente.
Cómo funciona
Tres pasos. Sin agentes que instalar en tus proyectos, sin cuentas que crear.
Apúntalo a tu código
Monta tus repositorios bajo /roots, o agrégalos desde Configuración → Roots. Cada directorio se registra y se descubre automáticamente al iniciar.
Escanea de forma continua
Un proceso en segundo plano compara tus dependencias con los CVE conocidos según una programación, instalando la versión de Node que cada proyecto fija cuando hace falta.
Triaje en una sola cola
Cada hallazgo de cada proyecto llega a una sola cola que puedes filtrar por severidad, con alertas opcionales a Slack, Telegram o un webhook.
Para quién es
Sentinello es para todos los que tienen más en producción de lo que pueden vigilar: la persona que desarrolla en solitario, el equipo pequeño, la agencia que hace malabares con trabajo de clientes.
- Publicas proyectos personales y sitios de clientes que deben seguir seguros mucho después del lanzamiento.
- Quieres una vista de todo el portafolio sin cablear CI en cada repositorio.
- Prefieres autoalojar antes que entregar el inventario de tu código a un SaaS.
Si eres una organización grande con Snyk o Dependabot ya integrados en un pipeline maduro, consérvalos: Sentinello no intenta reemplazar el SCA empresarial. Está aquí para el resto de tu portafolio que nadie vigila. Es de código abierto y con licencia MIT, así que puedes leer exactamente qué hace.
Notas de la versión
Sentinello se actualiza con frecuencia: esto es lo que aportó cada versión.
Configuración de MCP más simple, sin variables de entorno
v2.3.0 · 9 jun 2026- Configura MCP por completo en Configuración → MCP: genera un token para activar el endpoint /api/mcp y bórralo para desactivarlo — las variables de entorno SENTINELLO_MCP_ENABLED y SENTINELLO_MCP_API_TOKEN ya no existen (un token de entorno existente se importa una vez al actualizar)
- Fragmentos de conexión listos para pegar para Claude Code, Codex, Cursor y Claude Desktop, con tu token ya incluido
- Cuando SENTINELLO_PORTAL_BASE_URL se define en el entorno, se muestra de solo lectura en Configuración → Avanzado, ya que sigue siendo autoritativa y se reaplica en cada arranque
Menos falsas alarmas y hallazgos que se limpian solos
v2.2.0 · 9 jun 2026- Los avisos de malware ahora coinciden con la versión comprometida exacta: una versión limpia o ya corregida de un paquete que estuvo comprometido deja de marcarse
- Los hallazgos duplicados ahora se resuelven solos en el siguiente análisis, de modo que las entradas antiguas o huérfanas se eliminan automáticamente
- Las etiquetas de producción y desarrollo ahora se calculan de una sola forma coherente en todas las fuentes (npm y OSV)
Un encabezado de proyecto más limpio y filtros coherentes
v2.1.0 · 6 jun 2026- Encabezado de proyecto simplificado: renombra junto al título, con silenciar y etiquetas como iconos
- Filtra los hallazgos por fuente (npm / OSV) desde un nuevo desplegable junto al filtro de tipo de dependencia
- Desplegables unificados y coherentes en toda la app, con búsqueda al escribir en listas largas como las zonas horarias
Guía de actualización más clara
v2.0.1 · 4 jun 2026- Pasos de actualización ampliados para los cambios incompatibles de 2.0
- El README indica el enlace de puerto solo en localhost
Análisis multi-fuente y una instalación reforzada y segura por defecto
v2.0.0 · 4 jun 2026- OSV como segunda fuente opcional (Configuración → Fuentes, desactivada por defecto) con detección de paquetes maliciosos, cotejada con la base de datos pública de OSV en una caché local
- Los hallazgos ahora se combinan entre fuentes: una fila por vulnerabilidad, con cada fuente etiquetada, la mejor corrección disponible y la unión de las rutas de dependencia, con filtro por fuente y un popover de ruta de dependencia
- Refuerzo de seguridad: el endpoint MCP está desactivado por defecto y requiere un token, la entrega de webhooks está protegida contra SSRF, una puerta de inicio de sesión opcional del portal, y el contenedor se ejecuta como usuario sin privilegios
- Configuración ahora es una sección de nivel superior con barra lateral y una página de Perfil
Integración MCP y novedades
v1.4.0 · 29 may 2026- Servidor MCP en /api/mcp para Claude Desktop, Cursor y otros clientes
- Nueva sección Configuración → MCP con URL del servidor y gestión de tokens
- Píldora de novedades e historial de notas de versión
Corrección de la versión en el pie
v1.3.1 · 28 may 2026- La versión en ejecución se muestra correctamente en el pie de página
Mejoras en las notificaciones
v1.3.0 · 28 may 2026- Filtrar notificaciones por entorno
- Formulario de edición de destinos más simple
- Duplicar un destino de notificación existente
Páginas de Proyectos y Bibliotecas
v1.2.0 · 24 may 2026- La vista de inicio se divide en páginas dedicadas de Proyectos y Bibliotecas
Recarga de la programación en vivo
v1.1.2 · 24 may 2026- El worker recarga la programación de escaneo en cuanto guardas cambios en el portal
Borrados más seguros y un aviso de actualización más claro
v1.1.0 · 23 may 2026- Confirmación antes de eliminar raíces y destinos de notificación
- El aviso de actualización pasa a un banner superior descartable
- El worker elimina raíces obsoletas cuando desaparece su montaje
Correcciones de precisión del escáner
v1.0.1 · 23 may 2026- Descarta hallazgos cuya versión instalada no está realmente en el rango vulnerable
- Permite eliminar un destino de notificación con historial de envíos
Primera versión de código abierto
v1.0.0 · 23 may 2026- El primer lanzamiento público de Sentinello
Hoja de ruta
Hoy Sentinello vigila tus dependencias de Node.js. Esto es hacia dónde va — y lo que puedes pedir.
Priorización más inteligente
PlaneadoOrdená los hallazgos por explotabilidad y por si el código vulnerable es realmente alcanzable — triá primero lo que importa.
Más ecosistemas
PlaneadoExtender el escaneo más allá de Node a Python, Go y Rust, con el mismo descubrimiento nativo del sistema de archivos.
Más integraciones
PlaneadoMás canales de notificación y formas de conectar Sentinello con las herramientas que tu equipo ya usa.
Análisis estático (SAST)
PlaneadoDetecta patrones de código riesgosos en tu propio código, no solo CVE conocidos en tus dependencias.
Escaneo de secretos y licencias
PlaneadoSeñala secretos filtrados y problemas de licencias en el mismo portafolio, en la misma cola.
Dinos qué integrarías o escanearías a continuación — abre una incidencia en GitHub y ayuda a definir la hoja de ruta.