
Sirius v1.1.0
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 Scan

O Sirius é um scanner de vulnerabilidades de código aberto com descoberta automatizada, detecção baseada em CVE e uma interface web moderna. Clone, execute quatro comandos e comece a escanear.
Início Rápido
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) |
É isso. Todos os seis serviços são iniciados automaticamente. O instalador gera segredos seguros na primeira execução e é seguro reexecutá-lo.
Por padrão, o instalador deixa IMAGE_TAG vazio, então o Compose baixa latest do GHCR. Para fixar uma versão (por exemplo, v1.0.0 no .env), faça isso somente após essa tag existir para todas as seis imagens de contêiner; verifique com bash scripts/verify-ghcr-public-access.sh v1.0.0 em um shell que não esteja logado no ghcr.io.
Requisitos: Docker Engine 20.10+ com Compose V2, 4 GB de RAM, 10 GB de disco. Funciona no Linux, macOS e Windows (WSL2).
O que o Sirius Faz
- Descoberta de Rede – enumeração automatizada de hosts e serviços via Nmap
- Detecção de Vulnerabilidades – varredura baseada em CVE com pontuação CVSS
- Painéis de Risco – progresso da varredura em tempo real, tendências de gravidade e orientação de remediação
- Agentes Remotos – varredura distribuída em vários ambientes via gRPC
- Terminal Interativo – console PowerShell para scripts avançados e automação
- API REST – integração com fluxos de trabalho de segurança existentes (autenticação
X-API-Keyna porta 9001)
Opções de Implantação
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 | Maioria dos usuários – baixa a stack completa de release do GHCR |
| Desenvolvimento | docker compose -f docker-compose.yaml -f docker-compose.dev.yaml up -d | Recarga automática para trabalho local com código |
| Build a partir do código | docker compose -f docker-compose.yaml -f docker-compose.build.yaml up -d --build | Builds explícitos locais de toda a stack |
| Produção | docker compose -f docker-compose.yaml -f docker-compose.prod.yaml up -d | Configurações reforçadas, pull_policy: always |
Configuração não interativa (CI / Terraform / automação)
docker compose -f docker-compose.installer.yaml run --rm sirius-installer --non-interactive --no-print-secrets
docker compose up -d
Rotacionar segredos
docker compose -f docker-compose.installer.yaml run --rm sirius-installer --force
docker compose up -d --force-recreate
Verificar Instalação
docker compose ps # todos os 6 serviços devem mostrar "healthy" ou "running"
curl http://localhost:3000 # UI responde
curl http://localhost:9001/health # API responde
Serviços esperados: sirius-ui (3000), sirius-api (9001), sirius-engine (5174, 50051), sirius-postgres (5432), sirius-rabbitmq (5672, 15672), sirius-valkey (6379).
Arquitetura
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 | Propósito |
|---|---|---|---|
| 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 | Serviços de scanner, terminal e 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 |
Interface
| Painel | Scanner | Navegador de Vulnerabilidades |
|---|---|---|
![]() | ![]() | ![]() |
| Ambiente | Detalhes do Host | Terminal |
|---|---|---|
![]() | ![]() | ![]() |
API
O Sirius expõe endpoints REST na porta 9001, protegidos pela chave de API interna do serviço. Prefira o arquivo de segredo do Docker (SIRIUS_API_KEY_FILE, padrão /run/secrets/sirius_api_key); SIRIUS_API_KEY continua sendo suportado como fallback de variável de ambiente. O instalador escreve ./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
Recomendações de Segurança
Para implantações em produção:
- Rotacione segredos – execute o instalador com
--forcepara regenerar todas as credenciais - Restrinja portas – exponha apenas a porta 3000 (UI); mantenha 5432, 6379, 5672 internas
- Use um proxy reverso – coloque nginx ou Traefik na frente com TLS
- Mantenha as imagens atualizadas –
docker compose pull && docker compose up -d
Solução de Problemas
Correções rápidas para problemas comuns:




