SentinelloSentinello

Um sistema de alerta antecipado para as dependências que você parou de vigiar.

Na era da IA você publica mais projetos Node.js do que consegue manter. O Sentinello vigia cada um e revela os CVEs conhecidos em suas dependências npm — para que um projeto esquecido nunca vire um incidente.

Execute com um único 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

Sem conta. Sem SaaS. Sem telemetria. Uma imagem Docker e um arquivo SQLite — seu código e seus achados nunca saem da sua máquina.

Como funciona

Três passos. Sem agentes para instalar nos seus projetos, sem contas para criar.

Aponte-o para o seu código

Monte seus repositórios em /roots ou adicione-os em Configurações → Roots. Cada diretório é registrado e descoberto automaticamente na inicialização.

Ele escaneia continuamente

Um processo em segundo plano compara suas dependências com os CVEs conhecidos conforme um agendamento, instalando a versão do Node que cada projeto fixa quando necessário.

Triagem em uma única fila

Cada achado de cada projeto chega a uma única fila que você pode filtrar por severidade — com alertas opcionais para Slack, Telegram ou um webhook.

Recursos

Tudo em um portal auto-hospedado — sem serviços externos, sem dados saindo da sua rede.

Fila de triagem única

Veja e faça a triagem de CVEs de todo o seu portfólio em um só lugar — em vez de npm audit espalhado por uma dúzia de cópias.

Navegue por projeto

Entre em qualquer repositório para ver seus achados atuais, versões de correção, histórico de escaneamentos e silenciamentos.

Navegue por biblioteca

Vá para um pacote vulnerável e veja todos os projetos afetados — e silencie-o em todos de uma vez.

Escaneamento contínuo

Um processo em segundo plano reescaneia conforme um agendamento, então novos avisos aparecem sem você precisar lembrar de verificar.

Filtro por severidade

Ordene e filtre os achados por severidade para tratar primeiro os críticos e o ruído depois.

Notificações

Receba alertas de falhas e achados via Slack, Telegram ou um webhook simples — no idioma que você escolher.

Exportação de avisos

Exporte os achados de um projeto ou biblioteca como Markdown, com um prompt de remediação personalizável para a sua equipe ou um LLM.

Uma imagem, um arquivo

Uma imagem Docker e um arquivo SQLite. Sem servidor de banco de dados, sem fila de mensagens, sem dependência de nuvem.

Roots autorregistrados

Tudo o que for montado em /roots é registrado e escaneado na inicialização — o nome do diretório vira o seu rótulo.

Node por projeto

Respeita o .nvmrc de cada projeto, instalando e armazenando em cache uma única vez a versão do Node que ele fixa.

10 idiomas

A interface do portal, os códigos de motivo de escaneamento e os status estão traduzidos para 10 idiomas.

Notificações e Webhooks

Saiba no instante em que um projeto detecta uma vulnerabilidade — e dispare sua própria automação para corrigi-la.

Slack

Publique achados em qualquer canal via webhook de entrada, com negrito e marcadores nativos.

Telegram

Envie alertas a um chat ou grupo por um bot — com formatação adequada, não marcação crua.

Webhook

Faça POST para qualquer endpoint e direcione os alertas para onde seu time já trabalha.

Dois formatos de webhook

Escolha o payload que combina com o que você está construindo.

JSON estruturado

Raiz, projeto e uma lista de vulnerabilidades — cada uma com biblioteca, versão, versão recomendada e aviso. Pronto para um agente de correção automática.

Aviso em texto simples

A mesma exportação de avisos do portal, como texto — entregue direto a um LLM para triar e corrigir.

Por raiz ou por projeto

Envie tudo para um só lugar, ou ligue uma raiz específica — ou um único projeto — ao seu próprio canal ou webhook.

Capturas

Veja em ação — o portal escaneando alguns projetos de demonstração. Clique em qualquer captura para ampliá-la.

Auto-hospedar

Auto-hospede em minutos. Copie, cole, abra o localhost. Fixe uma tag de versão para produção.

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

Tudo o que for montado em /roots é registrado automaticamente na inicialização — o nome do diretório vira o seu rótulo — então a descoberta e o escaneamento começam sozinhos. Montar é opcional; você também pode adicionar roots pelo portal.

Funciona em linux/amd64 e arm64Leia o guia rápidoVer no GitHub

Por que criamos isto

Na era da IA, você publica mais do que consegue manter.

Hoje uma única pessoa desenvolvedora cria, entrega e segue em frente em uma dúzia de projetos por ano. O site de marketing, o painel do cliente, o projeto paralelo que foi para produção sem alarde — continuam rodando muito depois de alguém olhá-los pela última vez.

Basta uma única dependência esquecida com uma falha crítica de execução remota de código. O site mais simples pode se tornar a porta de entrada.

O Sentinello é o sistema de alerta antecipado para essa cauda longa. Ele vigia cada projeto para o qual você o apontar, de modo que um novo CVE em algo publicado meses atrás apareça em um só lugar — antes de virar um desastre.

Roadmap

Hoje o Sentinello vigia suas dependências Node.js. É para cá que ele vai — e o que você pode pedir.

Mais fontes de vulnerabilidades

Planejado

Além do banco de avisos do npm — fontes adicionais como o OSV, para achados mais amplos e antecipados.

Mais integrações

Planejado

Mais canais de notificação e formas de conectar o Sentinello às ferramentas que sua equipe já usa.

Análise estática (SAST)

Planejado

Detecte padrões de código arriscados no seu próprio código, não só CVEs conhecidos nas dependências.

Varredura de segredos e licenças

Planejado

Sinalize segredos commitados e problemas de licença no mesmo portfólio, na mesma fila.

Solicitar uma integração ou fonte

Diga o que você integraria ou escanearia em seguida — abra uma issue no GitHub e ajude a moldar o roadmap.

Para quem é

O Sentinello é para todos que têm mais em produção do que conseguem vigiar — a pessoa que desenvolve sozinha, a equipe pequena, a agência que faz malabarismo com trabalho de clientes.

  • Você publica projetos paralelos e sites de clientes que precisam continuar seguros muito depois do lançamento.
  • Você quer uma visão de todo o portfólio sem cabear CI em cada repositório.
  • Você prefere auto-hospedar a entregar o inventário do seu código a um SaaS.

Se você é uma organização grande com Snyk ou Dependabot já integrados em um pipeline maduro, mantenha-os — o Sentinello não tenta substituir o SCA corporativo. Ele está aqui para o resto do seu portfólio que ninguém vigia. É de código aberto e licenciado sob MIT, então você pode ler exatamente o que ele faz.