CipherVault 4.6 — Gap analysis closures vs Pulumi/Bitwarden/Keeper
A v4.6 fecha 6 gaps competitivos mapeados em análise vs Pulumi ESC,
Bitwarden e Keeper. Ganhos diretos pra paridade: HIBP Breach Watch
(Keeper/Bitwarden parity), One-Time Share self-destructing (Send
parity), OIDC Issuer com AssumeRoleWithWebIdentity (Pulumi ESC
parity) e Environment composition com chain root→leaf.
Mais 4 SDKs novos (Rust, PHP, Ruby, C++) elevando o portfólio para 9 linguagens — paridade total com Bitwarden.
✨ HIBP Breach Watch (#262)
Integração nativa com a API pwnedpasswords.com/range/:
- k-anonymity SHA-1 prefix lookup — apenas os 5 primeiros chars do hash saem do CV. Plaintext nunca leak.
- Per-prefix cache 7 dias (reduz outbound network)
- Opt-in via
CV_BREACH_WATCH_ENABLED=true(default off por privacy conservatism + air-gap friendly) - Scheduler diário; resultado materializa em
secrets.breach_count
Widget UI BreachWatchWidget reaproveitado em Dashboard +
Profile + SecretCard.
✨ One-Time Share (#263)
Bitwarden Send / Keeper One-Time Share parity. Self-destructing links:
- Token 256-bit URL-safe gerado server-side
- TTL configurável até 30 dias
- View count (1-3 default) ou tempo (lockout primeiro a fechar)
- Revoke manual antes de TTL expirar
- Counter+timer decay visível no preview público
POST /share { secret_id, ttl_minutes, max_views }
→ { token, share_url }
GET /share/:token público (sem auth) — exibe valor + decrementa view
DELETE /share/id/:id revoga
✨ OIDC Issuer + AWS AssumeRoleWithWebIdentity (#261)
CipherVault como OIDC IdP (não mais só consumer). Pulumi ESC parity real:
- Discovery em
/.well-known/openid-configuration - JWKS em
/.well-known/jwks.json— EC P-256 ES256, rotate viaPOST /oidc/rotate POST /oidc/tokenmint de JWT pra workload identity- AWS pode usar como
OIDCProviderem IAM. App federa AWS viaAssumeRoleWithWebIdentitysem static keys
# AWS-side: cria OIDC provider apontando pra CV
aws iam create-open-id-connect-provider \
--url https://cv.acme.com.br \
--client-id-list "sts.amazonaws.com" \
--thumbprint-list <(curl -s https://cv.acme.com.br/.well-known/openid-configuration | jq -r .jwks_uri)
# App-side: troca JWT do CV por AWS credentials temporárias
JWT=$(curl -X POST https://cv.acme.com.br/oidc/token -H "Authorization: Bearer $CV_TOKEN" | jq -r .token)
aws sts assume-role-with-web-identity \
--role-arn arn:aws:iam::123:role/ciphervault-fed \
--role-session-name app1 \
--web-identity-token "$JWT"
✨ Environment composition (Phase 1) (#260)
Pulumi ESC flagship. Hierarchy + chain visualization:
environmentstable — nós em árvore (parent_id)environment_secrets— bindings por environmentGET /environments/:id/composefaz walk root → leaf- Leaf-wins override sobre conflitos (com
sourcechain pra debug)
UI em /Environments mostra tree visual + effective secrets com source
highlighting (visualiza de onde veio cada secret).
production
↳ inherits → base-config
↳ DATABASE_HOST=prod.db
↳ LOG_LEVEL=warn
↳ overrides → LOG_LEVEL=info
effective:
DATABASE_HOST=prod.db [from base-config]
LOG_LEVEL=info [from production override]
✨ Endpoint Discovery scaffold (#265)
CipherVault Guardian Phase 1 expande pra endpoints Linux:
- Agent lê
/etc/passwd+/root/.ssh/authorized_keys - Reporta accounts encontradas via
POST /kube-guardian/endpoint-accounts - Backend ingest deduplica e correlaciona com vault membership
- UI em
/EndpointDiscoverylista accounts + filtros
Cobertura ampliada pra Windows / hosts não-K8s em fases futuras (closes #265 partial).
✨ Tier 2 SDKs codegen (#266)
OpenAPI codegen scaffolds para 4 linguagens novas, atingindo paridade total com Bitwarden (9 SDKs):
| Linguagem | Path | Generator | Status |
|---|---|---|---|
| Rust | sdks/rust/ | openapi-generator rust | scaffold + CI |
| PHP | sdks/php/ | openapi-generator php | scaffold + CI |
| Ruby | sdks/ruby/ | openapi-generator ruby | scaffold + CI |
| C++ | sdks/cpp/ | openapi-generator cpp-restsdk | scaffold + CI |
Portfólio total: Python, Go, Node/TS, Java, C#, Rust, PHP, Ruby, C++.
✨ COMPETITIVE_MATRIX expandido (#256, #257)
Pulumi ESC + Bitwarden + Keeper adicionados (agora 10 vendors). Nova seção "Features que CipherVault NÃO tem" (transparência) abriu 11 issues mapeando o roadmap.
Out-of-scope assumido e documentado: PAM session recording + PRA (privileged remote access) — produto separado.
Atualizando
# Self-hosted Helm
helm upgrade ciphervault ciphervault/ciphervault --version 4.6.0 \
--reuse-values
# Habilitar Breach Watch (opt-in)
export CV_BREACH_WATCH_ENABLED=true
— Rafael Martinez, CEO
