Skill: NONE | Type: troubleshooting
Summary: EPISODIO 94 — brasaluz.com: 📍 PARA JOHN — R43
2.7 KiB
| episode_id | puente_flat | session_code | acto_dialogico | actor_flujo | criticidad_aegis | skill_dominante | fase_proyecto | tipo_semantico | summary_one_line | source_type | trust_boundary | created_at | relectura_tagged | forgejo_commit_sha |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 9b88602a-b3d6-42d2-9980-6b890975e51f | DEPURA_para-john-r43_S20260702.R94_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD | S20260702.MADUREZ_ECOSISTEMA_CONCILIO | informar | multi_actor | low | NONE | operations | troubleshooting | EPISODIO 94 — brasaluz.com: 📍 PARA JOHN — R43 | claude_code | internal | 2026-07-12T16:16:36.980759+00:00 | false | 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):
-
Elige una frase nueva fuerte. Calcula su hash SHA-256:
-
Ponlo en el
.env(reemplaza el valor deEMBER_PASSPHRASE_HASH=): -
Recrear (NO
restart— esenv_file): -
Verificar: desde Claude Code,
ember_authenticatecon 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:
- Account Settings → Security → Master password → cambiar.
- Account Settings → Security → Keys → Rotate API Key (nuevo
client_secret). chmod 600 .mcp.jsonen 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
S20260623para retomar.