Pular para o conteúdo principal

CipherVault 4.5 — Guardian, PQC, Plugin SDK e 17 PRs em 10 dias

· 5 min para ler
Rafael Martinez
CEO & Co-founder, CipherVault

5 dias após a v4.4, fechamos a maior release de feature parity da plataforma: 17 PRs alinhando o CipherVault com competidores (HashiCorp Vault, Doppler) e introduzindo o CipherVault Guardian — integração K8s v2 que consolida Webhook + ESO + Sensor sob um Helm chart único.

✨ CipherVault Guardian — K8s integration v2

Consolida 3 caminhos K8s separados (Mutating Webhook, External Secrets Operator, Sensor de cluster) sob um Helm chart único + 3 capabilities novas.

Phases entregues em 4 PRs:

  1. Foundation + Discovery + Drift — Go agent (cv-guardian/, 8 packages) descobre workloads, classifica criticidade, reporta drift
  2. Validating Admission Webhook — 4 rules built-in (hardcoded-secret-env, privileged-critical-secret, cross-namespace-no-binding, stale-rotation). Audit-mode default, promote → block via dual-control
  3. SPIFFE/SPIRE opcional + multi-cluster federation — workload identities + cross-cluster paths

Helm chart charts/ciphervault-guardian/:

  • 9 kinds renderizados em config completa
  • 2 modos RBAC (namespace default + cluster opt-in para Attack Path)
  • Imagem distroless UID 65532

Documentação completa →

✨ Post-quantum crypto (#142)

Kyber KEM + Dilithium signatures (FIPS 203/204) via @noble/post-quantum. Endpoints:

  • POST /pqc/kem/encapsulate / decapsulate — Kyber
  • POST /pqc/sig/sign / verify — Dilithium
  • POST /pqc/hybrid/* — modo híbrido (clássico ⊕ PQC), recomendado para 2026+

Documentação →

✨ Plugin SDK para secret engines (#137)

Community-extensible. File-based discovery em CV_PLUGINS_DIR. Reference plugin em backend/plugins-example/dummy-engine/.

Permite implementar engines customizados (DBs proprietários, sistemas internos) sem fork do backend.

Documentação →

✨ Drift/anomaly detection (#146)

Vault Radar-equivalente. Endpoints /anomalies + scheduler 24h. Detecta:

  • Secrets sem rotação a > N dias
  • AppConnections com IPs de regiões anômalas
  • Picos de acesso fora do baseline
  • Drift entre dynamic_backends reconcile e estado real do DB

Documentação →

✨ Replication CDC (#148)

Phase 1+2 entregues:

  • CDC polling Postgres → MongoDB/MySQL sinks
  • 4 tabelas whitelistadas (secrets redacted, vaults, audit_logs, risk_scores)
  • Failover state machine mirror ↔ promoted ↔ demoted + split-brain auto-detect
  • 5 admin endpoints, promote gated por dual-control

Phase 3 — storage abstraction PoC. Foundation only; refactor completo de 200 call sites requer 6-10 sprints.

Documentação →

✨ KMIP 1.4 server (#141)

Create / Get / GetAttributes / Activate / Revoke / Destroy via codec TTLV na porta 5696 TLS. Permite clientes legados (Java KMS, IBM Spectrum Scale, etc.) usar CipherVault sem código próprio.

Documentação →

✨ IDE plugins (#153)

Finalmente. VS Code extension (TypeScript) + JetBrains plugin (Kotlin) com:

  • Tree view dos vaults / secrets acessíveis
  • CodeLens em {{cv:vault/path}} mostrando preview + clique para inserir
  • Auto-detect de project root via .ciphervault.yml

Documentação →

✨ Argo CD Config Management Plugin (#152)

CLI cv-argocd-cmp resolve placeholders {{cv:vault/path}} em manifests antes de aplicar no cluster. Sem secret estático no Argo CD, GitOps puro.

Documentação →

✨ Config inheritance + branch configs (#162)

Vault herda secrets do parent via parent_vault_id. listResolvedSecrets com leaf-wins override. Caso de uso clássico: producao herda de base-config, mas pode sobrescrever entries específicas.

✨ PaaS push (#168)

Push de secrets do CV para Heroku / Vercel / Netlify via API nativa. Workaround para apps deployadas em PaaS que não suportam OIDC pull.

Documentação →

✨ Secret Health Analytics (#169)

Dashboard /analytics/health com:

  • Distribuição de idade por secret
  • Risk score average por vault
  • Top 10 secrets nunca rotacionados
  • CSV export

Documentação →

✨ Web Console admin (#154)

Terminal admin em WebSocket /console/ws + REST /console/exec. 8 comandos whitelisted, sem shell spawn (mitigação RCE).

Documentação →

✨ Auth methods

  • AppRole (#134) — Vault-style "secret zero" (role_id + secret_id)
  • HSM auto-unseal real (#147) — Vault-style. KEK encrypted-at-rest, auto-unseal via HSM provider no boot
  • SCIM 2.0 (#161) — RFC 7644. Endpoints /scim/v2/Users + /scim/v2/Groups para Okta/Azure AD provisioning
  • External Secrets Operator compat layer (#167) — /eso/secrets/by-id|by-name + /eso/vault/<name> para ESO webhook provider

SCIM → | ESO compat →

✨ Dynamic Secrets — 7 engines novas

EnginePRMecanismo
Active Directory#138ldap_modify user/password
LDAP#139OpenLDAP / 389DS / FreeIPA
Consul#144acl_token_create
Nomad#144acl_token_create
RabbitMQ#145PUT /api/users + permissions
AliCloud STS#149AssumeRole Aliyun
MongoDB Atlas#150Programmatic API key
HCP Terraform#151Workspace variables

Total agora: 17 engines (postgres, mysql, aws_sts, gcp_iam, azure_sp, mongodb, mssql, cassandra, redis, rabbitmq, hcp_terraform, mongodb_atlas, alicloud_sts, ldap, ad, consul, nomad).

Dynamic Secrets →

✨ HSM PKCS#11 hardening (#140)

Pkcs11Provider agora real via pkcs11js:

  • CKM_AES_KEY_WRAP — wrapping de DEK no HSM
  • sign / verify operations no HSM (não só encrypt/decrypt)
  • Rotation de KEK in-place
  • CI matrix com SoftHSM v2 sempre + CloudHSM/YubiHSM opt-in

HSM →

✨ Doppler migration (#170)

CLI cv-migrate-doppler importa projects / configs / secrets do Doppler. Mapping project + config → vault.

Migração →

✨ Framework integration guides (#166)

8 guides published no repo do produto:

  • Vite, Next.js, Laravel, Django, FastAPI, Rails, Spring Boot, Express

Índice →

⚠️ Breaking changes

  • kube_guardian_policy_change action adicionada — promote de policy auditblock agora exige aprovação. Operadores que automatizam promote precisam ajustar.
  • PKCS#11 Pkcs11Provider mudou de stub para real — quem usava em dev com mock implícito precisa configurar SoftHSM v2 ou similar.
  • charts/ciphervault-guardian/ novo Helm chart; quem instalava webhook + ESO + sensor separadamente deve migrar pra single chart (Helm hooks fazem migration automática).

Atualizando

# Self-hosted Helm
helm upgrade ciphervault ciphervault/ciphervault --version 4.5.0 \
--reuse-values

# Guardian (novo Helm chart, substitui webhook+ESO+sensor)
helm install ciphervault-guardian ciphervault/guardian \
--namespace ciphervault-system

# Migrar do Doppler (uma vez)
cv-migrate-doppler --doppler-token $DOPPLER_TOKEN --cv-url https://cv.acme.com.br

Testes

+~250 testes novos. Total agora > 1900 testes.

— Rafael Martinez, CEO