
Scanner di vulnerabilità open-source con rilevamento automatico della rete, rilevamento basato su CVE, punteggio CVSS, dashboard di rischio, agenti remoti tramite gRPC e una moderna interfaccia web per team di sicurezza aziendale.

Sirius è uno scanner di vulnerabilità open-source con rilevamento automatico, individuazione basata su CVE e una moderna interfaccia web. Clona, esegui quattro comandi, inizia la scansione.
git clone https://github.com/SiriusScan/Sirius.git
cd Sirius
docker compose -f docker-compose.installer.yaml run --rm sirius-installer
docker compose up -d
Apri http://localhost:3000 e accedi:
[email protected] | |
| Password | stampato dall'installer (cerca INITIAL_ADMIN_PASSWORD nell'output) |
Questo è tutto. Tutti e sei i servizi si avviano automaticamente. L'installer genera segreti sicuri al primo avvio ed è sicuro da rieseguire.
Per impostazione predefinita, l'installer lascia IMAGE_TAG non impostato, quindi Compose scarica latest da GHCR. Per fissare una release (ad esempio v1.0.0 in .env), fallo solo dopo che quel tag esiste per tutte e sei le immagini dei container; verifica con bash scripts/verify-ghcr-public-access.sh v1.0.0 da una shell che non sia autenticata su ghcr.io.
Requisiti: Docker Engine 20.10+ con Compose V2, 4 GB di RAM, 10 GB di disco. Funziona su Linux, macOS e Windows (WSL2).
X-API-Key sulla porta 9001)Il passo dell'installer è sempre lo stesso. Cambia solo il comando docker compose up.
| Modalità | Comando | Caso d'uso |
|---|---|---|
| Standard | docker compose up -d | Maggior parte degli utenti -- scarica l'intero stack di release da GHCR |
| Sviluppo | docker compose -f docker-compose.yaml -f docker-compose.dev.yaml up -d | Ricarica live per lavoro su codice locale |
| Build da Sorgente | docker compose -f docker-compose.yaml -f docker-compose.build.yaml up -d --build | Build esplicite complete locali |
| Produzione | docker compose -f docker-compose.yaml -f docker-compose.prod.yaml up -d | Impostazioni rafforzate, pull_policy: always |
docker compose -f docker-compose.installer.yaml run --rm sirius-installer --non-interactive --no-print-secrets
docker compose up -d
docker compose -f docker-compose.installer.yaml run --rm sirius-installer --force
docker compose up -d --force-recreate
docker compose ps # tutti e 6 i servizi dovrebbero mostrare "healthy" o "running"
curl http://localhost:3000 # L'interfaccia risponde
curl http://localhost:9001/health # L'API risponde
Servizi previsti: sirius-ui (3000), sirius-api (9001), sirius-engine (5174, 50051), sirius-postgres (5432), sirius-rabbitmq (5672, 15672), sirius-valkey (6379).
graph TD
subgraph clients [Clienti]
UI["Sirius UI (Next.js)"]
CLI["Runtime Terminale e Agente"]
end
subgraph core [Servizi Core]
API["Sirius API (Go/Gin)"]
Engine["Sirius Engine"]
end
subgraph infra [Infrastruttura]
MQ["RabbitMQ"]
DB["PostgreSQL"]
Cache["Valkey"]
end
UI -->|"HTTP/WebSocket"| API
CLI -->|"gRPC"| Engine
API -->|"Pubblicazione AMQP"| MQ
MQ -->|"Consumo coda"| Engine
API -->|"Lettura/scrittura SQL"| DB
Engine -->|"Lettura/scrittura SQL"| DB
API -->|"Operazioni sessione/cache"| Cache
Engine -->|"Operazioni cache stato scansione"| Cache| Servizio | Tecnologia | Porte | Scopo |
|---|---|---|---|
| sirius-ui | Next.js 14, React, Tailwind | 3000 | Interfaccia web |
| sirius-api | Go, Gin | 9001 | API REST e logica di business |
| sirius-engine | Go + agente gRPC incorporato | 5174, 50051 | Scanner, terminale, servizi agente |
| sirius-postgres | PostgreSQL 15 | 5432 | Dati di vulnerabilità e scansione |
| sirius-rabbitmq | RabbitMQ | 5672, 15672 | Messaggistica tra servizi |
| sirius-valkey | Valkey (compatibile Redis) | 6379 | Cache e dati di sessione |
| Dashboard | Scanner | Navigatore di Vulnerabilità |
|---|---|---|
![]() | ![]() | ![]() |
| Ambiente | Dettagli Host | Terminale |
|---|---|---|
![]() | ![]() | ![]() |
Sirius espone endpoint REST sulla porta 9001, protetti dalla chiave API del servizio interno. Preferisci il file segreto di Docker (SIRIUS_API_KEY_FILE, predefinito /run/secrets/sirius_api_key); SIRIUS_API_KEY rimane un fallback di ambiente supportato. L'installer scrive ./secrets/sirius_api_key.txt (modalità 0644 in modo che gli UID delle app non-root possano leggere il segreto montato) e configura entrambi.
curl http://localhost:9001/health -H "X-API-Key: $SIRIUS_API_KEY"
curl http://localhost:9001/api/v1/scan/get/all -H "X-API-Key: $SIRIUS_API_KEY"
Documentazione API completa: Riferimento API REST
Per deployment in produzione:
--force per rigenerare tutte le credenzialidocker compose pull && docker compose up -dSoluzioni rapide per problemi comuni:
| Problema | Soluzione |
|---|---|
| I servizi non partono | docker compose logs <servizio> per trovare l'errore |
| Overlay sviluppo manca infrastruttura | Usa entrambi i file: -f docker-compose.yaml -f docker-compose.dev.yaml |
| Conflitto di porta | lsof -i :3000 per trovare il processo in conflitto |
| Errore di connessione al database | docker exec sirius-postgres pg_isready |
| Segreti obsoleti dopo reset | Riesegui l'installer, poi docker compose up -d --force-recreate |
Per manuali operativi dettagliati, procedure di verifica e ripristino di emergenza, vedi Operazioni e Risoluzione dei Problemi.
Vedi CONTRIBUTING.md per la configurazione dello sviluppo, gli standard di codifica e le linee guida per le PR.
Collegamenti rapidi: Issues | Discussioni | Discord