feat(episode): TRAZA_openai-key-viva-y-expuesta-confirmado_S20260616.R19_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD

Skill: NONE | Type: troubleshooting
Summary: EPISODIO 19 — Vaultwarden: 🚨 OpenAI key — VIVA y expuesta (confirmado, no era fa
This commit is contained in:
Ember 2026-06-18 16:40:21 +00:00
parent fe5cce650f
commit ce12832384

View file

@ -0,0 +1,31 @@
---
episode_id: "0776bfaf-fe7c-4fc6-a0c9-001cffe0e2b7"
puente_flat: "TRAZA_openai-key-viva-y-expuesta-confirmado_S20260616.R19_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD"
session_code: "S20260616.LOOP_WRITE_BACKLOG_DISCARD"
acto_dialogico: "informar"
actor_flujo: "multi_actor"
criticidad_aegis: "low"
skill_dominante: "NONE"
fase_proyecto: "operations"
tipo_semantico: "troubleshooting"
summary_one_line: "EPISODIO 19 — Vaultwarden: 🚨 OpenAI key — VIVA y expuesta (confirmado, no era falsa ala"
source_type: "claude_code"
trust_boundary: "internal"
created_at: "2026-06-17T21:21:02.665430+00:00"
relectura_tagged: false
forgejo_commit_sha: "pending"
---
🎯 **Verificación empírica — los 2 bombazos promovidos a hard_fact, y uno es REAL y URGENTE:**
## 🚨 OpenAI key — VIVA y expuesta (confirmado, no era falsa alarma)
- Hay una key OpenAI `sk-proj` **en `/home/johnember/stacks/litellm/config.yaml`** y **autentica HTTP 200 contra `api.openai.com`** → es una **credencial de facturación VIVA**, no muerta. Cualquiera con ese valor puede facturar a tu cuenta OpenAI.
- Matiz que verifiqué: la key **viva en el config NO es exactamente la `sk-proj-aDhN...`** que marca `STATE.md` (esa no aparece en archivos vivos — probablemente ya fue reemplazada). Pero la que SÍ está en el config **está viva**, y `config.yaml` es justo el archivo donde vivía la master key de LiteLLM (y que tiene backups/historial). **Exposición real, lleva ~2 meses abierta como CRÍTICO-AEGIS sin cerrar.**
- **No puedo rotarla yo:** es tu cuenta OpenAI (rotación = `platform.openai.com` + CASBIN CA-3 exige tu OK). Yo sí puedo actualizar el config + verificar git + dejar la vieja inerte.
## ✅ Vaultwarden — corre, pero es silo personal (no urgente)
- `Up 4 weeks (healthy)`. Referenciado **solo** en `security-audit.sh` + un script de mapeo — **NO en el flujo `.env` de los servicios** (ember-mcp/mnemo/crisol no lo usan). Veredicto: **es tu password-manager personal, NO la fuente canónica de secretos de servicio hoy.** La pregunta arquitectónica "¿debería serlo?" queda para el diseño (mejora real, no urgente).
**Lo que esto demuestra:** tu método socrático → workflow multi-lente → verificación empírica destapó una **credencial viva expuesta que llevaba 2 meses escondida a plena vista**. El sistema anti-Alzheimer **funcionó** — y encontró algo que importa de verdad.