SentinelloSentinello

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:latest

Funciona 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.

SentinelloDependency-TrackSnykDependabot
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

Planeado

Ordená los hallazgos por explotabilidad y por si el código vulnerable es realmente alcanzable — triá primero lo que importa.

Más ecosistemas

Planeado

Extender el escaneo más allá de Node a Python, Go y Rust, con el mismo descubrimiento nativo del sistema de archivos.

Más integraciones

Planeado

Más canales de notificación y formas de conectar Sentinello con las herramientas que tu equipo ya usa.

Análisis estático (SAST)

Planeado

Detecta patrones de código riesgosos en tu propio código, no solo CVE conocidos en tus dependencias.

Escaneo de secretos y licencias

Planeado

Señala secretos filtrados y problemas de licencias en el mismo portafolio, en la misma cola.

Solicitar una integración o fuente

Dinos qué integrarías o escanearías a continuación — abre una incidencia en GitHub y ayuda a definir la hoja de ruta.