# Cybersecurity Intelligence

De informações de vulnerabilidade a prioridades explicáveis.

[HTML](https://leohteixeira.com/pt/projects/cybersecurity-intelligence) · Leonardo Teixeira

## O produto

Cybersecurity Intelligence correlaciona advisories públicos com perfis de tecnologia registrados. O modelo separa evidências das fontes, advisories canônicos, correspondência de versões afetadas e findings priorizados para que um engenheiro inspecione por que uma tecnologia foi sinalizada.

Stack: C#, .NET, ASP.NET Core, React, TypeScript, PostgreSQL, OpenTelemetry

## O fluxo principal

1. **Registrar um perfil de tecnologia** — Tecnologia e versão definem o escopo da correlação. A aplicação usa sessão protegida; a tela de acesso é a entrada pública.

2. **Normalizar evidências dos advisories** — Adaptadores convertem registros de provedores em advisories canônicos, mantendo formatos externos fora do domínio.

3. **Inspecionar findings explicáveis** — Correspondência de versões e pontuação de risco seguem regras determinísticas. Evidências e motivos sustentam a investigação; um LLM pode explicar o resultado, sem determinar a correspondência.

## Arquitetura

```text
Fontes públicas → adaptadores → advisories canônicos → PostgreSQL
Perfil de tecnologia → versões + scoring determinísticos → findings explicáveis
React ↔ API ASP.NET Core → Application → Domain · Worker → ingestão
```

### Monólito modular .NET

API ASP.NET Core e Worker Service dependem de Application e Domain. Infrastructure implementa adaptadores de PostgreSQL, fontes e provedores. Domain e Application não referenciam Infrastructure.

### Fronteira de aplicação versionada

O React se comunica por contratos HTTP/JSON. O produto separa correlação determinística de explicações opcionais por modelos e instrumenta o processamento com OpenTelemetry.

## Disponibilidade e limites

Projeto de portfólio em desenvolvimento ativo. A apresentação descreve o modelo e a arquitetura, sem certificar cobertura das fontes, atualização das coletas ou prontidão completa para produção. A aplicação exige sessão. Links públicos de demo e código só aparecem quando configurados.

Demo pública não configurada.

Código público não configurado.
