feat(episode): DEPURA_episodio-9-episodio-94-brasaluzcom-pa_S20260824.R1_XX.non.2.hot_inf.in.ex.es.000.MGQ_J.PDDFK_E.SGLFD

Skill: NONE | Type: troubleshooting
Summary: EPISODIO 9 — EPISODIO 94 — brasaluz.com: 📍 PARA JOHN — R43
This commit is contained in:
Ember 2026-08-24 16:43:08 +00:00
parent 822a57aed0
commit a215a6f1f9

View file

@ -0,0 +1,52 @@
---
episode_id: "c49c0366-fd14-468d-9823-f5f863755510"
puente_flat: "DEPURA_episodio-9-episodio-94-brasaluzcom-pa_S20260824.R1_XX.non.2.hot_inf.in.ex.es.000.MGQ_J.PDDFK_E.SGLFD"
session_code: "S20260702.MADUREZ_ECOSISTEMA_CONCILIO"
acto_dialogico: "informar"
actor_flujo: "multi_actor"
criticidad_aegis: "low"
skill_dominante: "NONE"
fase_proyecto: "none"
tipo_semantico: "troubleshooting"
summary_one_line: "EPISODIO 9 — EPISODIO 94 — brasaluz.com: 📍 PARA JOHN — R43"
source_type: "chat_ember"
trust_boundary: "internal"
created_at: "2026-08-24T16:42:02.494153+00:00"
relectura_tagged: false
forgejo_commit_sha: "pending"
---
El servidor respondió — reconocimiento §A completo y **preciso** (no adivinado):
El gate valida en `auth_guard.py:171`: `_hash(passphrase) == EMBER_PASSPHRASE_HASH`, donde `_hash` (línea 139) es **SHA-256 simple** (`hashlib.sha256(...).hexdigest()`, sin salt). La variable vive en `~/ember-mcp-server-v3/.env`.
**Parte A — HECHO ✅** — Commit `b66bb11` (4 docs, 5.289 líneas) **pusheado a los 3 remotos** (origin + forgejo + sriyantra). BLINDADA-29 cumplida; el trabajo de la sesión está anclado y redundante.
**Parte B — tu turno de rotar (yo te guío). Empieza por lo más grave:**
### 🔴 §A — Passphrase del gate MCP (RCE) — la #1
Tú ejecutas en el servidor (`ssh cx43`):
1. Elige una frase nueva fuerte. Calcula su hash SHA-256:
2. Ponlo en el `.env` (reemplaza el valor de `EMBER_PASSPHRASE_HASH=`):
3. Recrear (NO `restart` — es `env_file`):
4. Verificar: desde Claude Code, `ember_authenticate` con la frase **vieja** debe **fallar**; con la nueva, pasar. **Avísame la frase nueva por canal seguro (no la pegues en el chat).**
### 🔴 §B — Vaultwarden (vault total) — la #2
En la web `vault.brasaluz.com`:
1. *Account Settings → Security → Master password***cambiar**.
2. *Account Settings → Security → Keys***Rotate API Key** (nuevo `client_secret`).
3. `chmod 600 .mcp.json` en local.
**Mi parte (la hago cuando me confirmes que rotaste):** quitar la passphrase vieja de `TOOLBOX.md` + actualizarla solo en `memory/reference_ember_auth.md` (local); **scrubear el `BW_CLIENTSECRET` de `docs/AUDIT_SEARCH_TOOLS_SERVIDOR_MEMORIA_S20260408.md`** (el que escapó a git tracked) + recablear los consumidores. Todo eso es mi lado, post-rotación.
**Para avanzar, elige:**
- 🟢 **A (recomendado)** — Rotas §A ahora (tienes el comando exacto arriba); me avisas y sigo con §B y mi parte de scrub/recableado.
- 🟡 **B** — Prefieres que primero prepare mi parte reversible (verificar dónde vive hoy la passphrase en TOOLBOX + dejar listo el scrub del doc tracked), y rotas después.
- ⚪ **C** — Pausar; la guía queda aquí y en el runbook `S20260623` para retomar.
---