
Scanner de vulnerabilidades de código aberto com descoberta automatizada de rede, detecção baseada em CVE, pontuação CVSS, painéis de risco, agentes remotos via gRPC e uma interface web moderna para equipes de segurança empresarial.

Sirius é um scanner de vulnerabilidades de código aberto com descoberta automatizada, detecção baseada em CVE e uma interface web moderna. Clone o repositório, configure o certificado TLS do agente e comece a escanear.
Antes de iniciar a stack, provisione o certificado e a chave do servidor do agente conforme descrito em Agent gRPC TLS configuration. O instalador não os cria.
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
Abra http://localhost:3000 e faça login:
[email protected] | |
| Senha | impressa pelo instalador (procure por INITIAL_ADMIN_PASSWORD na saída) |
Todos os seis serviços iniciam automaticamente assim que a configuração necessária estiver presente. O instalador gera os segredos da aplicação na primeira execução e pode ser executado novamente com segurança.
Por padrão, o instalador deixa IMAGE_TAG sem definir, então o Compose baixa a tag latest do GHCR. Para fixar uma versão (por exemplo, v1.0.0 no .env), faça isso somente depois que essa tag existir para todas as seis imagens de contêiner; verifique com bash scripts/verify-ghcr-public-access.sh v1.0.0 a partir de um shell que não esteja autenticado no ghcr.io.
Requisitos: Docker Engine 20.10+ com Compose V2, 4 GB de RAM, 10 GB de disco. Funciona em Linux, macOS e Windows (WSL2).
X-API-Key na porta 9001)A etapa do instalador é sempre a mesma. Apenas o comando docker compose up muda.
| Modo | Comando | Caso de uso |
|---|---|---|
| Padrão | docker compose up -d | A maioria dos usuários -- baixa a pilha completa de release do GHCR |
| Desenvolvimento | docker compose -f docker-compose.yaml -f docker-compose.dev.yaml up -d | Recarregamento ao vivo para trabalho local no código |
| Compilação a partir do Código-Fonte | docker compose -f docker-compose.yaml -f docker-compose.build.yaml up -d --build | Compilações locais explícitas de toda a pilha |
| Produção | docker compose -f docker-compose.yaml -f docker-compose.prod.yaml up -d | Configurações reforçadas, 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 # all 6 services should show "healthy" or "running"
curl http://localhost:3000 # UI responds
curl http://localhost:9001/health # API responds
Serviços esperados: sirius-ui (3000), sirius-api (9001), sirius-engine (5174, 50051), sirius-postgres (5432), sirius-rabbitmq (5672, 15672), sirius-valkey (6379).
graph TD
subgraph clients [Clients]
UI["Sirius UI (Next.js)"]
CLI["Terminal and Agent Runtime"]
end
subgraph core [Core Services]
API["Sirius API (Go/Gin)"]
Engine["Sirius Engine"]
end
subgraph infra [Infrastructure]
MQ["RabbitMQ"]
DB["PostgreSQL"]
Cache["Valkey"]
end
UI -->|"HTTP/WebSocket"| API
CLI -->|"gRPC"| Engine
API -->|"AMQP publish"| MQ
MQ -->|"Queue consume"| Engine
API -->|"SQL read/write"| DB
Engine -->|"SQL read/write"| DB
API -->|"Session/cache ops"| Cache
Engine -->|"Scan state cache ops"| Cache
| Serviço | Tecnologia | Portas | Finalidade |
|---|---|---|---|
| sirius-ui | Next.js 14, React, Tailwind | 3000 | Interface web |
| sirius-api | Go, Gin | 9001 | API REST e lógica de negócios |
| sirius-engine | Go + agente gRPC embutido | 5174, 50051 | Scanner, terminal, serviços de agente |
| sirius-postgres | PostgreSQL 15 | 5432 | Dados de vulnerabilidades e varreduras |
| sirius-rabbitmq | RabbitMQ | 5672, 15672 | Mensageria entre serviços |
| sirius-valkey | Valkey (compatível com Redis) | 6379 | Dados de cache e sessão |
| Painel | Scanner | Navegador de Vulnerabilidades |
|---|---|---|
![]() | ![]() | ![]() |
| Ambiente | Detalhes do Host | Terminal |
|---|---|---|
![]() | ![]() | ![]() |
O Sirius expõe endpoints REST na porta 9001, protegidos pela chave de API do serviço interno. Prefira o arquivo de segredo do Docker (SIRIUS_API_KEY_FILE, padrão /run/secrets/sirius_api_key); SIRIUS_API_KEY continua sendo um fallback de variável de ambiente suportado. O instalador grava ./secrets/sirius_api_key.txt (modo 0644 para que UIDs de aplicativos não-root possam ler o segredo montado via bind) e configura ambos.
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"
Documentação completa da API: Referência da API REST
Para implantações em produção:
--force para regenerar todas as credenciaisdocker compose pull && docker compose up -dCorreções rápidas para problemas comuns: