CipherVault 1.3.0 — SAML2, SIEM em 6 destinos, Attack Path templates e 5 SDKs oficiais
Release grande de UX, autenticação federada e observabilidade. 25 commits desde v1.2.1 com novidades em SSO, encaminhamento SIEM, simulação de ataques e SDKs oficiais em 5 linguagens.
✨ Novidades
SSO via SAML 2.0
- SP-initiated, IdP-initiated, Single Logout (SLO)
- AuthnRequest assinado, JIT role mapping via attributes
- Keypair SP auto-gerado no primeiro login (via
node-forge)
SIEM Forwarding — 6 connectors
Cada evento gravado em audit_logs é encaminhado automaticamente
(fire-and-forget) para todas as integrações SIEM com status='connected'.
Cache TTL 60s no lib/siemDispatcher.js.
| Provider | Endpoint | Auth | Formato |
|---|---|---|---|
| Splunk Enterprise | HEC /services/collector/event | Authorization: Splunk <token> | JSON |
| Elastic Security | /_bulk | API key OR Basic | NDJSON |
| Microsoft Sentinel | Log Analytics Data Collector API | HMAC-SHA256 | JSON |
| IBM QRadar | HTTP Receiver Log Source (Universal DSM) | Bearer ou SEC token | LEEF 2.0 ou JSON |
| Google SecOps (Chronicle) | /v2/udmevents:batchCreate | Service Account JWT | UDM events |
| SentinelOne Singularity | Mgmt URL customizável | Authorization: ApiToken | JSON |
Attack Path templates + What-if simulation
/attack-paths ganha 5 colunas novas e 3 templates pré-modelados:
| Template | TTC | Risco | Cenário |
|---|---|---|---|
aws_privesc | minutos | critical | IAM iam:AttachUserPolicy → AdministratorAccess |
k8s_secret_exposure | minutos | high | Pod RCE → ServiceAccount token → cloud creds |
ci_cd_token_leak | imediato | critical | GITHUB_TOKEN em log → action maliciosa → exfil |
What-if simulation (POST /attack-paths/:id/simulate) calcula
blast_radius (vaults/connections/paths/secrets afetados),
time_to_compromise por credential_type e gera remediation_hints
contextualizados.
Auditoria com cobertura automática
Via makeCrud audit option em secrets, sensors, tenants, attack-paths,
leak-findings, cloud-integrations + auth flow completo (login success/failure,
password change, MFA, settings, personal tokens, SAML2 logout) + ciclo de vida
completo de secret (push/remove cloud, rotate manual/automatic).
SDKs oficiais — 5 linguagens
Lançados em paralelo: Python, Node.js, Java, Go, C# + cURL cookbook.
Helper from_federated_token() / FromFederatedToken() em todos pra OIDC
Federation.
🔄 Mudanças
OIDC Federation refator (modelo v1.3)
Provider config (issuer/jwks/audience) movido pra cloud_integrations
(categoria CI/CD Federation). AppConnection guarda apenas oidc_enabled +
oidc_subject_patterns[] + oidc_provider_ids[] (whitelist).
/federated-token agora resolve provider via JWT iss claim filtrado pela
whitelist. UI FederationManager (428 linhas) substituído por
OidcFederationToggle simplificado. CRUD legacy /federation-configs/*
retorna 410 Gone.
Settings consolidado
- Aba "Conta" removida; campos migrados pra Perfil (logo+nome+timezone) e Notificações (security_email)
- 3 abas (Notificações + Auditoria & Logs + Alertas) → 1 aba "Eventos & Destinos" com matriz 8×3 (events × Log/Email/Webhook)
- Backwards-compat: save espelha pros blobs legacy
UX
- SecretForm vira wizard 2-step (destino → dados)
- IntegrationForm: dropdown gigante substituído por pills de categoria + grid de cards
- 22 emojis de provider → componente único
ProviderLogo(cor brand + monograma; SVG oficial opcional via/public/logos/) - Secrets create: 11 destinos (6 cloud + 1 on-prem + 4 PAM); destinos sem integração ficam transparentes/disabled
🐛 Correções
- Keycloak health probe: usa management port 9000 (Keycloak 22+) em vez de 8080
- migrate.js: backticks no comentário SQL fechavam template literal JS
- OIDC save:
GET /by-clientagora devolve campos OIDC; estado local sincroniza com response do PUT - Attack Path
/from-template:tenant_id="default"placeholder vira NULL
🧪 Testes
Backend ganha Jest 29 + 10 arquivos de teste, 104 cases passando. Cobertura focada em libs tocadas: federation, attackPathTemplates, siemDispatcher, saml, crud sanitize, conectores SIEM (Sentinel HMAC, QRadar LEEF, OIDC JWKS).
📚 Documentação
docs/FEATURES.md,docs/ARCHITECTURE.md,docs/API.md,docs/TESTING.mdatualizadospublic/logos/README.mddocumenta como adicionar logos oficiais
Versões dos SDKs
Todos bumped pra 1.3.0: backend, sdks/python, sdks/nodejs, sdks/java, sdks/csharp.