Pular para o conteúdo principal

CipherVault 4.6 — Gap analysis closures vs Pulumi/Bitwarden/Keeper

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

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.

Documentação →

✨ 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

Documentação →

✨ 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.jsonEC P-256 ES256, rotate via POST /oidc/rotate
  • POST /oidc/token mint de JWT pra workload identity
  • AWS pode usar como OIDCProvider em IAM. App federa AWS via AssumeRoleWithWebIdentity sem 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"

Documentação →

✨ Environment composition (Phase 1) (#260)

Pulumi ESC flagship. Hierarchy + chain visualization:

  • environments table — nós em árvore (parent_id)
  • environment_secrets — bindings por environment
  • GET /environments/:id/compose faz walk root → leaf
  • Leaf-wins override sobre conflitos (com source chain 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]

Documentação →

✨ 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 /EndpointDiscovery lista accounts + filtros

Cobertura ampliada pra Windows / hosts não-K8s em fases futuras (closes #265 partial).

Documentação →

✨ Tier 2 SDKs codegen (#266)

OpenAPI codegen scaffolds para 4 linguagens novas, atingindo paridade total com Bitwarden (9 SDKs):

LinguagemPathGeneratorStatus
Rustsdks/rust/openapi-generator rustscaffold + CI
PHPsdks/php/openapi-generator phpscaffold + CI
Rubysdks/ruby/openapi-generator rubyscaffold + CI
C++sdks/cpp/openapi-generator cpp-restsdkscaffold + 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