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:latestFunciona em linux/amd64 e arm64
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.
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 ou biblioteca
Entre em qualquer repositório para ver seus achados, versões de correção e histórico — ou pule para um pacote vulnerável para ver todos os projetos afetados e silenciá-lo 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.
Múltiplas fontes
Além do npm audit: comparação com o banco de dados OSV para maior cobertura de CVEs e detecção de pacotes maliciosos conhecidos.
Notificações e webhooks
Receba alertas de falhas e achados via Slack, Telegram ou um webhook simples — definidos por root ou projeto, no idioma que você escolher. Payloads em JSON ou texto simples para um agente de correção automática.
Servidor MCP
Conecte o Claude Desktop, o Cursor e outros clientes MCP para consultar achados, projetos e bibliotecas — e iniciar varreduras — sem sair do chat.
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.
Capturas
Veja em ação — o portal escaneando alguns projetos de demonstração. Clique em qualquer captura para ampliá-la.
Como se compara
O Sentinello não é um Dependency-Track mais pesado nem um Snyk mais barato. Ocupa outro nicho: a cauda longa de projetos Node que ninguém ligou a um pipeline.
| Sentinello | Dependency-Track | Snyk | Dependabot | |
|---|---|---|---|---|
| Sem configuração — aponte para uma pasta | ~ | ~ | ||
| Não exige SBOM / etapa de CI | ||||
| Escaneia lockfiles resolvidos reais | ~ | |||
| Detecção de pacotes maliciosos | ||||
| Auto-hospedado, sem SaaS | ||||
| Uma imagem + SQLite | ||||
| Nativo para IA (MCP + export) | ~ | |||
| Poliglota (Python, Go, …) | Planejado | |||
| Política corporativa / VEX | ~ | ~ |
O Dependency-Track só vê os projetos que alguém instrumentou com um pipeline de SBOM. O Sentinello encontra os que você esqueceu. Eles são mais fortes em política corporativa, e a cobertura poliglota está no roadmap do Sentinello — se você já os roda em um pipeline maduro, mantenha-os. O Sentinello é para o resto do seu portfólio que ninguém está vigiando.
Por que criamos isto
Na era da IA, você publica mais do que consegue manter.
Hoje quem desenvolve sozinho 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. Manter tudo isso seguro costumava significar dar SSH em cada cópia para rodar npm audit na mão, ou descobrir um CVE do Next.js por uma manchete dias depois de ele aparecer. Ninguém aguenta esse ritmo em uma dúzia de repositórios, então simplesmente não acontece.
Basta uma única dependência esquecida com uma falha crítica de execução remota de código. O site mais simples que você deixou de vigiar vira a porta de entrada.
“Por que não usar logo o Snyk ou o Dependabot?” Eles vivem dentro do pipeline de CI que você montou — e a cauda longa nunca ganhou um. O Sentinello é o sistema de alerta antecipado para todo o resto: aponte-o para uma pasta e ele vigia cada projeto que você esqueceu, revelando cada novo CVE em uma única fila antes que vire um incidente.
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.
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.
Notas de versão
O Sentinello é atualizado com frequência — veja o que cada versão trouxe.
Configuração de MCP mais simples, sem variáveis de ambiente
v2.3.0 · 9 de jun. de 2026- Configure o MCP inteiramente em Configurações → MCP: gere um token para ativar o endpoint /api/mcp e limpe-o para desativá-lo — as variáveis de ambiente SENTINELLO_MCP_ENABLED e SENTINELLO_MCP_API_TOKEN foram removidas (um token de ambiente existente é importado uma vez na atualização)
- Trechos de conexão prontos para colar para Claude Code, Codex, Cursor e Claude Desktop, já preenchidos com o seu token
- Quando SENTINELLO_PORTAL_BASE_URL é definida no ambiente, ela aparece como somente leitura em Configurações → Avançado, pois continua sendo autoritativa e é reaplicada a cada inicialização
Menos alarmes falsos e achados que se limpam sozinhos
v2.2.0 · 9 de jun. de 2026- Os avisos de malware agora correspondem à versão comprometida exata — uma versão limpa ou já corrigida de um pacote que esteve comprometido deixa de ser sinalizada
- Achados duplicados agora se resolvem sozinhos na próxima varredura, de modo que entradas antigas ou órfãs são removidas automaticamente
- Os rótulos de produção e desenvolvimento agora são calculados de uma única forma consistente em todas as fontes (npm e OSV)
Um cabeçalho de projeto mais limpo e filtros consistentes
v2.1.0 · 6 de jun. de 2026- Cabeçalho de projeto simplificado — renomeie ao lado do título, com silenciar e tags como ícones
- Filtre as ocorrências por fonte (npm / OSV) em um novo menu suspenso ao lado do filtro de tipo de dependência
- Menus suspensos unificados e consistentes em todo o app, com busca ao digitar em listas longas como fusos horários
Orientações de atualização mais claras
v2.0.1 · 4 de jun. de 2026- Passos de atualização ampliados para as alterações incompatíveis da 2.0
- O README indica a vinculação de porta somente em localhost
Varredura multi-fonte e uma instalação reforçada e segura por padrão
v2.0.0 · 4 de jun. de 2026- OSV como segunda fonte opcional (Configurações → Fontes, desativada por padrão) com detecção de pacotes maliciosos, comparada com o banco de dados público do OSV em um cache local
- Os achados agora são mesclados entre fontes — uma linha por vulnerabilidade, cada fonte marcada, a melhor correção disponível e a união dos caminhos de dependência, com filtro por fonte e um popover de caminho de dependência
- Reforço de segurança: o endpoint MCP está desativado por padrão e exige um token, a entrega de webhooks é protegida contra SSRF, uma porta de login opcional do portal, e o contêiner é executado como usuário sem privilégios
- Configurações agora é uma seção de nível superior com barra lateral e uma página de Perfil
Integração MCP e novidades
v1.4.0 · 29 de mai. de 2026- Servidor MCP em /api/mcp para Claude Desktop, Cursor e outros clientes
- Nova seção Configurações → MCP com URL do servidor e gerenciamento de tokens
- Etiqueta de novidades e um histórico de notas de versão
Correção da versão no rodapé
v1.3.1 · 28 de mai. de 2026- A versão em execução é exibida corretamente no rodapé
Melhorias nas notificações
v1.3.0 · 28 de mai. de 2026- Filtrar notificações por ambiente
- Formulário de edição de destinos mais simples
- Duplicar um destino de notificação existente
Páginas de Projetos e Bibliotecas
v1.2.0 · 24 de mai. de 2026- A tela inicial é dividida em páginas dedicadas de Projetos e Bibliotecas
Recarregamento da agenda em tempo real
v1.1.2 · 24 de mai. de 2026- O worker recarrega a agenda de varredura assim que você salva alterações no portal
Exclusões mais seguras e um aviso de atualização mais claro
v1.1.0 · 23 de mai. de 2026- Confirmação antes de excluir raízes e destinos de notificação
- Aviso de atualização movido para um banner superior dispensável
- O worker remove raízes obsoletas quando o ponto de montagem desaparece
Correções de precisão do scanner
v1.0.1 · 23 de mai. de 2026- Descarta achados cuja versão instalada não está realmente na faixa vulnerável
- Permite excluir um destino de notificação com histórico de envios
Primeira versão de código aberto
v1.0.0 · 23 de mai. de 2026- O primeiro lançamento público do Sentinello
Roadmap
Hoje o Sentinello vigia suas dependências Node.js. É para cá que ele vai — e o que você pode pedir.
Priorização mais inteligente
PlanejadoClassifique os achados por explorabilidade e se o código vulnerável é realmente alcançável — triagem do que importa primeiro.
Mais ecossistemas
PlanejadoEstender a varredura além do Node para Python, Go e Rust, com a mesma descoberta nativa do sistema de arquivos.
Mais integrações
PlanejadoMais canais de notificação e formas de conectar o Sentinello às ferramentas que sua equipe já usa.
Análise estática (SAST)
PlanejadoDetecte 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
PlanejadoSinalize segredos commitados e problemas de licença no mesmo portfólio, na mesma fila.
Diga o que você integraria ou escanearia em seguida — abra uma issue no GitHub e ajude a moldar o roadmap.