ember-memory-test/episodes/DEPURA_para-john-r40_S20260702.R67_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD.md
Ember aa0e43c2de feat(episode): DEPURA_para-john-r40_S20260702.R67_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD
Skill: NONE | Type: troubleshooting
Summary: EPISODIO 67 — Prompt Injection: 📍 PARA JOHN — R40
2026-07-12 16:18:14 +00:00

3.2 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
120d080e-5e44-4158-ae38-ded2dc9136fe DEPURA_para-john-r40_S20260702.R67_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 67 — Prompt Injection: 📍 PARA JOHN — R40 claude_code internal 2026-07-12T16:16:36.853658+00:00 false pending

Hecho. La tarea que pediste está cumplida —y el hallazgo resultó ser bastante más grande de lo reportado.

Hice — Verifiqué tu reporte con mis propios ojos y extendí M0-01 en el plan (línea 132, bloque "EXTENSIÓN S20260703"). Confirmé que M0-01 no cubría .mcp.json (su objetivo decía "archivos tracked", y .mcp.json es gitignored). Corregí el objetivo + añadí el inventario completo.

El hallazgo es mayor que 3 secretos — son ~9. .mcp.json (raíz, gitignored, NOT tracked) contiene:

  • 2 que ya conocíamos (duplican el plan): KARAKEEP_API_KEY y el par Langfuse pk/sk. → Al rotarlos en M0-01, hay que actualizar también .mcp.json o el MCP queda con la key muerta.
  • 7 NUEVOS que ningún inventario capturó (ni el CONSEJO, ni M0-01, ni la auditoría de seguridad de hoy):
    • 🔴 Hostinger API_TOKEN — control de VPS/DNS/dominios (blast radius de infraestructura).
    • 🔴 Warden/Bitwarden BW_CLIENTSECRET + BW_PASSWORD — las credenciales del gestor de secretos mismo; si caen, cae todo.
    • 🟠 Google OAuth GOOGLE_CLIENT_SECRET, ember-memory Bearer (servidor MEMORIA), InsForge API_KEY.

El matiz que cambia la urgencia (verificado): .mcp.json no está en git ni en los 3 remotos — el riesgo es local (disco), no de exfil remota. Por eso no necesita la purga de historia git que sí requiere settings.json; solo reemplazo local del valor. Pero siguen siendo secretos vivos en claro, y varios de altísimo valor.

Falta / la decisión que te elevo (PRÓLOGO) — Los 7 secretos nuevos son una ampliación de alcance real. No los inventó nadie porque .mcp.json estaba fuera del radar (gitignored). Todos requieren tu GO para rotar (CASBIN CA-3 secrets:rotate). La pregunta esencial que solo tú puedes responder: ¿quieres que fabrique un ítem M0-01b dedicado a rotar los 7 secretos nuevos de .mcp.json, y con qué prioridad respecto a la rotación de settings.json? Mi inclinación: Hostinger y Bitwarden primero (mayor blast radius), en el mismo Sprint 1 que M0-01.

Para avanzar, elige:

  • 🟢 A (recomendado) — Fabrico M0-01b (runbook de rotación de los 7 secretos nuevos de .mcp.json), priorizando Hostinger + Bitwarden, para el mismo Sprint 1. Luego tú das el GO de ejecución.
  • 🟡 B — Dejo el hallazgo documentado en M0-01 (ya está) y lo tratamos cuando ejecutemos la Ola 0 completa, sin ítem aparte.
  • C — Solo querías cubrir el gap de .mcp.json en M0-01 (hecho); paramos aquí.