Un sistema di allerta precoce per le dipendenze che hai smesso di sorvegliare.
Nell'era dell'IA pubblichi più progetti Node.js di quanti tu possa mantenerne. Sentinello sorveglia ognuno e rivela i CVE noti nelle loro dipendenze npm — così un progetto dimenticato non diventa mai un incidente.
Avvialo 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:latestFunziona su linux/amd64 e arm64
Nessun account. Nessun SaaS. Nessuna telemetria. Un'immagine Docker e un file SQLite — il tuo codice e i tuoi risultati non lasciano mai la tua macchina.
Funzionalità
Tutto in un portale self-hosted — nessun servizio esterno, nessun dato che lascia la tua rete.
Coda di triage unica
Vedi e fai il triage dei CVE di tutto il tuo portafoglio in un solo posto — invece di npm audit sparso su una dozzina di copie.
Sfoglia per progetto o libreria
Entra in qualsiasi repository per vederne i risultati, le versioni di correzione e la cronologia — oppure passa a un pacchetto vulnerabile per vedere ogni progetto interessato e silenziarlo ovunque in una volta sola.
Scansione continua
Un processo in background riscansiona secondo una pianificazione, così i nuovi avvisi compaiono senza che tu debba ricordarti di controllare.
Più fonti
Oltre a npm audit: confronto con il database OSV per una copertura CVE più ampia e il rilevamento di pacchetti dannosi noti.
Notifiche e webhook
Ricevi avvisi di errori e risultati via Slack, Telegram o un semplice webhook — definiti per root o per progetto, nella lingua che scegli. Payload JSON o in testo semplice per un agente di auto-correzione.
Server MCP
Collega Claude Desktop, Cursor e altri client MCP per interrogare risultati, progetti e librerie — e avviare scansioni — senza lasciare la chat.
Esportazione avvisi
Esporta i risultati di un progetto o di una libreria come Markdown, con un prompt di remediation personalizzabile per il tuo team o un LLM.
Un'immagine, un file
Un'immagine Docker e un file SQLite. Nessun server di database, nessuna coda di messaggi, nessuna dipendenza dal cloud.
Roots auto-registrati
Tutto ciò che è montato sotto /roots viene registrato e scansionato all'avvio — il nome della directory diventa la sua etichetta.
Node per progetto
Rispetta il .nvmrc di ogni progetto, installando e mettendo in cache una sola volta la versione di Node che fissa.
10 lingue
L'interfaccia del portale, i codici motivo di scansione e gli stati sono tradotti in 10 lingue.
Screenshot
Guardalo in azione — il portale mentre scansiona alcuni progetti dimostrativi. Clicca su qualsiasi immagine per ingrandirla.
Come si confronta
Sentinello non è un Dependency-Track più pesante né uno Snyk più economico. Occupa un’altra nicchia: la coda lunga di progetti Node che nessuno ha collegato a una pipeline.
| Sentinello | Dependency-Track | Snyk | Dependabot | |
|---|---|---|---|---|
| Senza configurazione — punta a una cartella | ~ | ~ | ||
| Nessun SBOM / passaggio CI richiesto | ||||
| Analizza lockfile risolti reali | ~ | |||
| Rilevamento pacchetti dannosi | ||||
| Self-hosted, niente SaaS | ||||
| Una sola immagine + SQLite | ||||
| Nativo per l’IA (MCP + export) | ~ | |||
| Poliglotta (Python, Go, …) | Pianificato | |||
| Policy aziendale / VEX | ~ | ~ |
Dependency-Track vede solo i progetti che qualcuno ha strumentato con una pipeline SBOM. Sentinello trova quelli che hai dimenticato. Sono più forti sulla policy aziendale, e la copertura poliglotta è nella roadmap di Sentinello — se li usi già su una pipeline matura, tienili. Sentinello è per il resto del tuo portafoglio che nessuno sta osservando.
Perché l'abbiamo creato
Nell'era dell'IA, pubblichi più di quanto tu possa mantenere.
Oggi chi sviluppa da solo avvia, consegna e si lascia alle spalle una dozzina di progetti all'anno — il sito vetrina, la dashboard del cliente, il progetto personale finito in produzione in sordina. Un tempo, tenerli al sicuro significava collegarsi in SSH a ogni checkout per lanciare npm audit a mano, oppure scoprire un CVE di Next.js da un titolo di giornale giorni dopo che era uscito. Nessuno tiene quel ritmo su una dozzina di repository, quindi alla fine non lo fa proprio nessuno.
Basta una sola dipendenza dimenticata con una falla critica di esecuzione di codice remoto. Il sito più semplice che hai smesso di sorvegliare diventa la via d'accesso.
«Perché non usare semplicemente Snyk o Dependabot?» Quelli vivono dentro la pipeline CI che hai cablato — e la coda lunga non ne ha mai avuta una. Sentinello è il sistema di allerta precoce per tutto il resto: puntalo a una cartella e sorveglia ogni progetto che hai dimenticato, facendo emergere ogni nuovo CVE in un'unica coda prima che diventi un incidente.
Come funziona
Tre passi. Nessun agente da installare nei tuoi progetti, nessun account da creare.
Puntalo al tuo codice
Monta i tuoi repository sotto /roots, oppure aggiungili da Impostazioni → Roots. Ogni directory viene registrata e individuata automaticamente all'avvio.
Scansiona di continuo
Un processo in background confronta le tue dipendenze con i CVE noti secondo una pianificazione, installando la versione di Node che ogni progetto fissa quando serve.
Triage in un'unica coda
Ogni risultato di ogni progetto arriva in un'unica coda che puoi filtrare per gravità — con avvisi opzionali verso Slack, Telegram o un webhook.
A chi è rivolto
Sentinello è per tutti coloro che hanno più in produzione di quanto riescano a sorvegliare — chi sviluppa da solo, il piccolo team, l'agenzia che destreggia il lavoro dei clienti.
- Pubblichi progetti personali e siti dei clienti che devono restare sicuri a lungo dopo il lancio.
- Vuoi una vista sull'intero portafoglio senza cablare la CI in ogni repository.
- Preferisci il self-hosting piuttosto che affidare l'inventario del tuo codice a un SaaS.
Se sei una grande organizzazione con Snyk o Dependabot già integrati in una pipeline matura, tienili — Sentinello non cerca di sostituire lo SCA enterprise. È qui per il resto del tuo portafoglio che nessuno sorveglia. È open source e con licenza MIT, così puoi leggere esattamente cosa fa.
Note di rilascio
Sentinello viene aggiornato spesso: ecco cosa ha portato ogni versione.
Configurazione MCP più semplice, senza variabili d’ambiente
v2.3.0 · 9 giu 2026- Configura MCP interamente in Impostazioni → MCP: genera un token per attivare l’endpoint /api/mcp, cancellalo per disattivarlo — le variabili d’ambiente SENTINELLO_MCP_ENABLED e SENTINELLO_MCP_API_TOKEN non esistono più (un token d’ambiente esistente viene importato una volta durante l’aggiornamento)
- Frammenti di connessione pronti da incollare per Claude Code, Codex, Cursor e Claude Desktop, già compilati con il tuo token
- Quando SENTINELLO_PORTAL_BASE_URL è impostata nell’ambiente, viene mostrata in sola lettura in Impostazioni → Avanzate, poiché resta autoritativa e viene riapplicata a ogni avvio
Meno falsi allarmi e risultati che si ripuliscono da soli
v2.2.0 · 9 giu 2026- Gli avvisi di malware ora corrispondono alla versione compromessa esatta — una versione pulita o già corretta di un pacchetto un tempo compromesso non viene più segnalata
- I risultati duplicati ora si risolvono da soli alla scansione successiva, così le voci vecchie o orfane vengono eliminate automaticamente
- Le etichette di produzione e sviluppo ora vengono calcolate in un unico modo coerente su tutte le sorgenti (npm e OSV)
Un’intestazione di progetto più pulita e filtri coerenti
v2.1.0 · 6 giu 2026- Intestazione di progetto semplificata — rinomina accanto al titolo, con silenzia e tag come icone
- Filtra i risultati per fonte (npm / OSV) da un nuovo menu a discesa accanto al filtro per tipo di dipendenza
- Menu a discesa unificati e coerenti in tutta l’app, con ricerca durante la digitazione per elenchi lunghi come i fusi orari
Indicazioni di aggiornamento più chiare
v2.0.1 · 4 giu 2026- Passaggi di aggiornamento ampliati per le modifiche incompatibili della 2.0
- Il README segnala il binding della porta solo su localhost
Scansione multi-sorgente e un’installazione rafforzata e sicura per impostazione predefinita
v2.0.0 · 4 giu 2026- OSV come seconda sorgente opzionale (Impostazioni → Fonti, disattivata per impostazione predefinita) con rilevamento di pacchetti dannosi, confrontata con il database pubblico OSV in una cache locale
- I risultati ora vengono uniti tra le sorgenti — una riga per vulnerabilità, ogni sorgente etichettata, la migliore correzione disponibile e l’unione dei percorsi di dipendenza, con un filtro per sorgente e un popover del percorso di dipendenza
- Rafforzamento della sicurezza: l’endpoint MCP è disattivato per impostazione predefinita e richiede un token, la consegna dei webhook è protetta da SSRF, un gate di accesso opzionale al portale, e il contenitore viene eseguito come utente senza privilegi
- Impostazioni è ora una sezione di primo livello con barra laterale e una pagina Profilo
Integrazione MCP e novità
v1.4.0 · 29 mag 2026- Server MCP su /api/mcp per Claude Desktop, Cursor e altri client
- Nuova sezione Impostazioni → MCP con URL del server e gestione dei token
- Badge delle novità e una cronologia delle note di rilascio
Correzione della versione nel piè di pagina
v1.3.1 · 28 mag 2026- La versione in esecuzione viene mostrata correttamente nel piè di pagina
Miglioramenti alle notifiche
v1.3.0 · 28 mag 2026- Filtra le notifiche per ambiente
- Modulo di modifica delle destinazioni più semplice
- Duplica una destinazione di notifica esistente
Pagine Progetti e Librerie
v1.2.0 · 24 mag 2026- La schermata iniziale è divisa in pagine dedicate Progetti e Librerie
Ricaricamento della pianificazione in tempo reale
v1.1.2 · 24 mag 2026- Il worker ricarica la pianificazione della scansione non appena salvi le modifiche nel portale
Eliminazioni più sicure e un avviso di aggiornamento più chiaro
v1.1.0 · 23 mag 2026- Conferma prima di eliminare radici e destinazioni di notifica
- L’avviso di aggiornamento diventa un banner superiore richiudibile
- Il worker rimuove le radici obsolete quando il loro mount scompare
Correzioni di precisione dello scanner
v1.0.1 · 23 mag 2026- Scarta i risultati la cui versione installata non è realmente nell’intervallo vulnerabile
- Consente di eliminare una destinazione di notifica con cronologia di invio
Prima versione open source
v1.0.0 · 23 mag 2026- La prima versione pubblica di Sentinello
Roadmap
Oggi Sentinello sorveglia le tue dipendenze Node.js. Ecco dove sta andando — e cosa puoi richiedere.
Priorità più intelligente
PianificatoOrdina i risultati per sfruttabilità e per l’effettiva raggiungibilità del codice vulnerabile — gestisci prima ciò che conta.
Più ecosistemi
PianificatoEstendere la scansione oltre Node a Python, Go e Rust, con la stessa scoperta nativa del filesystem.
Più integrazioni
PianificatoPiù canali di notifica e modi per collegare Sentinello agli strumenti che il tuo team già usa.
Analisi statica (SAST)
PianificatoIndividua schemi di codice rischiosi nel tuo codice, non solo i CVE noti nelle dipendenze.
Scansione di segreti e licenze
PianificatoSegnala segreti committati e problemi di licenza nello stesso portafoglio, nella stessa coda.
Dicci cosa integreresti o analizzeresti dopo — apri una issue su GitHub e aiuta a definire la roadmap.