CipherVault 4.5 — Guardian, PQC, Plugin SDK e 17 PRs em 10 dias
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:
- Foundation + Discovery + Drift — Go agent (
cv-guardian/, 8 packages) descobre workloads, classifica criticidade, reporta drift - Validating Admission Webhook — 4 rules built-in (
hardcoded-secret-env,privileged-critical-secret,cross-namespace-no-binding,stale-rotation). Audit-mode default, promote →blockvia dual-control - 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
✨ Post-quantum crypto (#142)
Kyber KEM + Dilithium signatures (FIPS 203/204) via
@noble/post-quantum. Endpoints:
POST /pqc/kem/encapsulate/decapsulate— KyberPOST /pqc/sig/sign/verify— DilithiumPOST /pqc/hybrid/*— modo híbrido (clássico ⊕ PQC), recomendado para 2026+
✨ 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.
✨ 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_backendsreconcile e estado real do DB
✨ Replication CDC (#148)
Phase 1+2 entregues:
- CDC polling Postgres → MongoDB/MySQL sinks
- 4 tabelas whitelistadas (
secretsredacted,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.
✨ 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.
✨ 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
✨ 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.
✨ 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.
✨ 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
✨ Web Console admin (#154)
Terminal admin em WebSocket /console/ws + REST /console/exec.
8 comandos whitelisted, sem shell spawn (mitigação RCE).
✨ 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/Groupspara Okta/Azure AD provisioning - External Secrets Operator compat layer (#167) —
/eso/secrets/by-id|by-name+/eso/vault/<name>para ESO webhook provider
✨ Dynamic Secrets — 7 engines novas
| Engine | PR | Mecanismo |
|---|---|---|
| Active Directory | #138 | ldap_modify user/password |
| LDAP | #139 | OpenLDAP / 389DS / FreeIPA |
| Consul | #144 | acl_token_create |
| Nomad | #144 | acl_token_create |
| RabbitMQ | #145 | PUT /api/users + permissions |
| AliCloud STS | #149 | AssumeRole Aliyun |
| MongoDB Atlas | #150 | Programmatic API key |
| HCP Terraform | #151 | Workspace 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).
✨ HSM PKCS#11 hardening (#140)
Pkcs11Provider agora real via pkcs11js:
CKM_AES_KEY_WRAP— wrapping de DEK no HSMsign/verifyoperations no HSM (não sóencrypt/decrypt)- Rotation de KEK in-place
- CI matrix com SoftHSM v2 sempre + CloudHSM/YubiHSM opt-in
✨ Doppler migration (#170)
CLI cv-migrate-doppler importa projects / configs / secrets do
Doppler. Mapping project + config → vault.
✨ Framework integration guides (#166)
8 guides published no repo do produto:
- Vite, Next.js, Laravel, Django, FastAPI, Rails, Spring Boot, Express
⚠️ Breaking changes
kube_guardian_policy_changeaction adicionada — promote de policyaudit→blockagora exige aprovação. Operadores que automatizam promote precisam ajustar.- PKCS#11
Pkcs11Providermudou 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
