feat(episode): TRAZA_las-ips-el-dominio-el-puerto-ssh-y_S20260726.R3_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD

Skill: NONE | Type: chronicle
Summary: EPISODIO 3 — MNEMO_PRE_DIGEST: Las IPs, el dominio, el puerto SSH y...
This commit is contained in:
Ember 2026-07-27 04:15:53 +00:00
parent 4e59d3437a
commit 46854d483f

View file

@ -0,0 +1,41 @@
---
episode_id: "6c430a68-e1d9-46dd-9a63-92a9fc96464a"
puente_flat: "TRAZA_las-ips-el-dominio-el-puerto-ssh-y_S20260726.R3_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD"
session_code: "S20260726.ARCO_CICLO4_AUTOMEJORA"
acto_dialogico: "informar"
actor_flujo: "multi_actor"
criticidad_aegis: "low"
skill_dominante: "NONE"
fase_proyecto: "operations"
tipo_semantico: "chronicle"
summary_one_line: "EPISODIO 3 — MNEMO_PRE_DIGEST: Las IPs, el dominio, el puerto SSH y..."
source_type: "claude_code"
trust_boundary: "internal"
created_at: "2026-07-27T04:15:38.343903+00:00"
relectura_tagged: false
forgejo_commit_sha: "pending"
---
Las IPs, el dominio, el puerto SSH y los nombres de llaves viajan como marcadores tipo `<SERVER_IP>`; el mapa para revertirlos se quedó en local. Fable planea la topología, no necesita tus literales. **Para usarlo:** pega desde `# BRIEFING PARA FABLE` hasta la línea `✂️ CORTA AQUÍ`. Lo que hay debajo es el manifiesto de salida, escrito para ti: la lista auditable de qué viaja antes de que cruce el perímetro. ---
🔴 **CRITICAL** · `G-001` Esquive del origen probado (F-13): Cloudflare no protege mientras el origen acepte tráfico de todo internet. *[origen R1, medición TLS+Host]*
🔴 **CRITICAL** · `G-002` Sin cortafuegos de host, política ACEPTAR en ambas familias (F-05/F-06). *[origen R1, SSH]*
🟠 **HIGH** · `G-003` `warden-mcp:3005` no declarado, bloqueo solo IPv4, socket dual-stack (F-07). *[origen R1, SSH]*
🟠 **HIGH** · `D-001` `INFRA_MANIFEST.yaml:1607` declara un cortafuegos que no existe — drift documental. *[origen R1]*
🟡 **MEDIUM** · `G-004` DNS colgante: `memoria.<dominio>` apunta 3 meses a un túnel inexistente. *[origen R1, agente documental]*
🟡 **MEDIUM** · `D-002` Sin hecho-de-estado registrado para la iniciativa Zero Trust — causa mecánica del olvido (F-32). ⚪ **LOW** · `T-001` Telemetría SHERPA registró `channel: SUBAGENT_FABLE` en vez de `CLAUDE_AI_200K` (omití `--channel` al emitir). No la corregí para no duplicar entradas en un log append-only. ❓ **PREGUNTAS-JOHN** · Las 5 decisiones de junio (D1–D5) siguen abiertas; el paquete las convierte en material de `DECISIONES_PENDIENTES_JOHN` para que Fable te las devuelva agrupadas y con recomendación.
### 📁 BITÁCORA S20260726.ARCO_CICLO4_AUTOMEJORA.R1
📖 READ `skills/sherpa/CLAUDE.md` → contrato + 6 fases S-H-E-R-P-A
🔍 SEARCH grep cloudflare/zero-trust → 60 archivos, 5 decisionales
⚡ BASH `nslookup` ×8 → naranja/gris por subdominio
⚡ BASH sonda TLS+Host al origen → **esquive confirmado 200 OK**
⚡ BASH escaneo puertos + control negativo → **instrumento invalidado, descartado**
⚡ BASH sonda IPv6 + control positivo → sin conectividad, no medido
🌐 WEB documentación Cloudflare ×2 + búsqueda ×2 → túnel solo-salida (fuente primaria)
🆕 WRITE `.claude/hooks/data/sherpa_redactions.json` → mapa de re-hidratación
🆕 WRITE `BRIEFING_S20260726_superficie_ataque_zero_trust.md` → paquete, 32 hechos
✏️ EDIT ×10 → corrección §3.5 tras cosecha documental + nota de interacción
⚡ BASH `sherpa_preflight.py` ×5 → **PASS** 17.354 tokens, 0 violaciones
⚡ BASH grep anti-fuga independiente → 0 identificadores reales