O UBNT SecPilot é uma solução enterprise-grade para:
- Análise de segurança de rede em tempo real
- Agentes inteligentes usando Orleans actors
- Monitoramento e observabilidade completos
- Conformidade com padrões de segurança
- Escalabilidade horizontal com containers
┌─────────────────────────────────────────────────────────────┐
│ .NET Aspire Dashboard │
│ (Orquestração Visual) │
│ http://localhost:18888 │
└─────────────────────┬───────────────────────────────────────┘
│
┌─────────────────▼─────────────────┐
│ AppHost (Aspire) │
│ Orquestração de Serviços │
└─────────────────┬─────────────────┘
│
┌─────────────────▼─────────────────┐
│ Aplicações .NET 8 │
│ ┌─────────────┬─────────────┐ │
│ │ Blazor │ ASP.NET │ │
│ │ UI │ Core API │ │
│ └─────────────┴─────────────┘ │
└─────────────────┬─────────────────┘
│
┌─────────────────▼─────────────────┐
│ Orleans Agents │
│ ┌─────────────┬─────────────┐ │
│ │ ThreatAgent │ NetworkAgent│ │
│ │ Enrichment │ Event │ │
│ └─────────────┴─────────────┘ │
└─────────────────┬─────────────────┘
│
┌─────────────────▼──────────────────┐
│ Infraestrutura Compartilhad │
│ ┌─────────────┬─────────────┐ │
│ │ MongoDB │ Redis │ │
│ │ (EventStore)│ (Cache) │ │
│ └─────────────┴─────────────┘ │
└────────────────────────────────────┘
- Docker e Docker Compose
- .NET 8 SDK (opcional, para desenvolvimento)
- Git
git clone <repository-url>
cd ubnt-secpilot
### 2. Execute com .NET Aspire (Recomendado)
#### Desenvolvimento com Aspire
```bash
# Execute the environment complete with Aspire
./build.sh debug aspire
Isso iniciará:
- Dashboard Aspire: http://localhost:18888 (orquestração visual)
- API: http://localhost:8000/api {{ ... }}
- Blazor UI: http://localhost:8501
- MongoDB: http://localhost:27017
- Redis: http://localhost:6379
- Mongo Express: http://localhost:8081 (interface web MongoDB)
- Redis Commander: http://localhost:8082 (interface web Redis)
- Orquestração automática de serviços
- Dashboard visual para monitoramento
- OTLP tracing integrado
- Logs centralizados e estruturados
- Configuração simplificada de ambientes
# Iniciar todos os serviços
docker compose up -d
# Ou usar a versão simplificada (sem conflitos)
docker compose -f docker-compose.simple.yml up -d
# Verificar status
docker compose ps
Serviço | URL | Descrição |
---|---|---|
Dashboard Aspire | http://localhost:18888 | Orquestração e monitoramento visual |
Mongo Express | http://localhost:8081 | Interface web MongoDB |
Redis Commander | http://localhost:8082 | Interface web Redis |
Dashboard | http://localhost:8501 | Interface Blazor principal |
API | http://localhost:8000 | API REST ASP.NET Core |
API Docs | http://localhost:8000/swagger | Documentação OpenAPI |
SonarQube | http://localhost:9000 | Análise de qualidade |
Grafana | http://localhost:3000 | Dashboards de métricas |
Prometheus | http://localhost:9090 | Métricas do sistema |
ubnt-secpilot/
├── src/ # Código fonte principal
│ ├── UbntSecPilot.Domain/ # Camada de domínio (DDD)
│ ├── UbntSecPilot.Application/ # Casos de uso e lógica de aplicação
│ ├── UbntSecPilot.Infrastructure/ # Adaptadores externos e persistência
│ ├── UbntSecPilot.Agents/ # Interfaces Orleans
│ ├── UbntSecPilot.Agents.Orleans/ # Implementações distribuídas
│ ├── UbntSecPilot.WebApi/ # API ASP.NET Core
│ ├── UbntSecPilot.BlazorUI/ # Interface Blazor Server
│ └── UbntSecPilot.AppHost/ # Orquestração .NET Aspire
├── tests/ # Projetos de teste organizados
├── build/ # Scripts de build e desenvolvimento
├── docs/ # Documentação técnica
├── infrastructure/ # Configurações Docker/K8s
└── .github/ # CI/CD e workflows
# Build e testes
./build.sh build Debug
./build.sh test
# Análise de qualidade
./scripts/sonar-local.sh
# Configuração SonarQube
./infrastructure/observability/sonarqube/quality-gates-setup.sh
# Limpeza
docker compose down -v
- ThreatEnrichmentAgent: Análise e enriquecimento de ameaças
- NetworkEventAgent: Processamento de eventos de rede
- ThreadAnalysisAgent: Análise de conversas suspeitas
- EventOrchestrator: Coordenação de múltiplos agentes
- Detecção de anomalias em tempo real
- Correlação de eventos entre diferentes fontes
- Enriquecimento com bases de dados externas (VirusTotal, etc.)
- Relatórios executivos com métricas e tendências
- Métricas com Prometheus
- Dashboards interativos no Grafana
- Logs estruturados com contexto rico
- Tracing distribuído entre agentes
- Alertas inteligentes baseados em thresholds
- OWASP Top 10 compliance
- Autenticação JWT com refresh tokens
- Authorization baseada em roles (Admin/User)
- Criptografia de dados sensíveis
- Audit logging completo
- Rate limiting configurável
- SonarQube para análise estática
- CodeQL para vulnerabilidades
- Trivy para dependências
- SAST/DAST integrados no CI/CD
- GitHub Actions automatizado
- Multi-plataforma (Ubuntu, Windows, macOS)
- Docker multi-arquitetura (AMD64 + ARM64)
- Quality gates SonarQube
- Security scanning integrado
- Automated deployment staging/produção
Métrica | Threshold | Status |
---|---|---|
Cobertura | ≥80% | Configurado |
Security | Zero E-rated | Ativo |
Reliability | Zero E-rated | Ativo |
Duplicação | ≤3% | Monitorado |
Vulnerabilidades | Zero blockers | Verificado |
- Arquitetura - Detalhes técnicos da arquitetura
- Agentes - Documentação dos agentes Orleans
- CI/CD - Pipeline e automação
- SonarQube - Análise de qualidade
- Entrevista - Processo seletivo técnico
- Aspire - Documentação .NET Aspire
# Análise rápida SonarQube
./scripts/sonar-local.sh
# Configuração quality gates
./infrastructure/observability/sonarqube/quality-gates-setup.sh
# Build completo
./build.sh build Release
# Testes com cobertura
./build.sh test
# Iniciar análise local
docker compose -f docker-compose.simple.yml up -d
# Configurar quality gates
./infrastructure/observability/sonarqube/quality-gates-setup.sh
# Executar análise
./scripts/sonar-local.sh
# Deploy via Helm (recomendado)
helm install ubnt-secpilot ./charts/secpilot
# Ou kubectl direto
kubectl apply -f k8s/production/
- Aplicação: Eventos processados, latências, erros
- Segurança: Tentativas de acesso, vulnerabilidades
- Performance: CPU, memória, throughput por agente
- Qualidade: Cobertura, code smells, dívida técnica
- Erros críticos (>5% error rate)
- Performance (latência >1s)
- Segurança (tentativas de ataque)
- Recursos (uso de CPU/memória alto)
- Fork o projeto
- Crie uma branch para sua feature (
git checkout -b feature/amazing-feature
) - Commit suas mudanças (
git commit -m 'Add amazing feature'
) - Push para a branch (
git push origin feature/amazing-feature
) - Abra um Pull Request
- C# Coding Standards (Microsoft Guidelines)
- Clean Architecture com separação clara
- TDD com cobertura mínima de 80%
- Security-first approach
- Documentation obrigatória para APIs públicas
Este projeto está sob licença Proprietária - veja o arquivo LICENSE
para detalhes.
1. SonarQube não inicia:
docker compose -f docker-compose.simple.yml up -d
# Aguarde 60 segundos e tente novamente
2. Build falha no CI/CD:
# Verificar logs no GitHub Actions
# Verificar cobertura de testes
./build.sh test
3. Agentes não processam eventos:
# Verificar logs dos containers
docker compose logs redpanda
docker compose logs api
Componente | Status | Versão | Saúde |
---|---|---|---|
API Core | Ativo | v1.0.0 | Saudável |
Blazor UI | Ativo | v1.0.0 | Saudável |
Orleans Agents | Ativo | v1.0.0 | Saudável |
MongoDB | Ativo | 6.0 | Saudável |
Redpanda | Ativo | 24.1.1 | Saudável |
SonarQube | Ativo | 10.6 | Saudável |
CI/CD | Ativo | Latest | Saudável |
.NET Aspire | Ativo | 8.2 | Saudável |