feat(episode): TRAZA_la-tarea-del-escner-terminada_S20260927.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD
Skill: NONE | Type: troubleshooting Summary: EPISODIO 1 — ember-mcp: La tarea del escáner, terminada
This commit is contained in:
parent
2d0fa1ccf3
commit
c661d5d41a
1 changed files with 50 additions and 0 deletions
|
|
@ -0,0 +1,50 @@
|
||||||
|
---
|
||||||
|
episode_id: "09860d09-9257-4cca-89e9-265af1e255d8"
|
||||||
|
puente_flat: "TRAZA_la-tarea-del-escner-terminada_S20260927.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD"
|
||||||
|
session_code: "S20260927.SIDF32B27DEFD6D"
|
||||||
|
acto_dialogico: "informar"
|
||||||
|
actor_flujo: "multi_actor"
|
||||||
|
criticidad_aegis: "low"
|
||||||
|
skill_dominante: "NONE"
|
||||||
|
fase_proyecto: "operations"
|
||||||
|
tipo_semantico: "troubleshooting"
|
||||||
|
summary_one_line: "EPISODIO 1 — ember-mcp: La tarea del escáner, terminada"
|
||||||
|
source_type: "claude_code"
|
||||||
|
trust_boundary: "internal"
|
||||||
|
created_at: "2026-10-03T14:56:12.149832+00:00"
|
||||||
|
relectura_tagged: false
|
||||||
|
forgejo_commit_sha: "pending"
|
||||||
|
---
|
||||||
|
|
||||||
|
Corrección guardada y subida: `af4aeefe` está en los tres remotos. El JSON y el Markdown del estado vivo vuelven a coincidir y el guardián da 0 desajustes.
|
||||||
|
|
||||||
|
## La tarea del escáner, terminada
|
||||||
|
|
||||||
|
**Qué hace ahora `scripts/secret_scan_precommit.py`** (commit `3e03cbd8`):
|
||||||
|
|
||||||
|
- **Ve `Bearer <valor>`** en todas las formas que el ataque encontró: comillas de cualquier tipo, `Bearer:`, `bearer:` de YAML, `+`, `%20`, `%2520`, colores de terminal, `HTTP_Bearer`, `id|valor`, desde 24 caracteres. Descarta las plantillas de documentación (`YOUR_…`, ceros, secuencias `1234567890…`, cabeceras JWT de ejemplo).
|
||||||
|
- **Ve `NOMBRE_TOKEN=<40 hex>`.** Esa forma tenía dos tokens vivos de Forgejo que nadie veía.
|
||||||
|
- **Lee ficheros que no son UTF-8.** Los que escribe PowerShell 5.1 se saltaban enteros.
|
||||||
|
- **Mira todas las coincidencias de cada línea**, no solo la primera.
|
||||||
|
- **Deja de ser cuadrático.** Una línea de 24.000 caracteres pasa de 4,6 s a instantáneo.
|
||||||
|
|
||||||
|
**Cómo se comprobó:**
|
||||||
|
|
||||||
|
| Comprobación | Resultado |
|
||||||
|
|---|---|
|
||||||
|
| Pruebas | 99 en verde, más 6 límites declarados que fallan a propósito |
|
||||||
|
| Errores sembrados | 27 de 27 cazados |
|
||||||
|
| Barrido de 10.234 ficheros (seguidos, no seguidos y memorias) | 19 líneas nuevas, **0 perdidas, 0 falsos positivos**, 0 memorias retenidas de más |
|
||||||
|
| Consumidores vivos (publicador, sincronización, espejo, instalador) | Todos en verde |
|
||||||
|
|
||||||
|
## Lo que destapó: credenciales vivas dentro de git
|
||||||
|
|
||||||
|
| Credencial | Estado | Desde | Pendiente tuyo |
|
||||||
|
|---|---|---|---|
|
||||||
|
| Token de `lumbre` (memoria `ember-mcp`) | **Vivo**, en 3 ficheros seguidos por git | 2026-04-24 / 2026-08-14 | `SEC-LUMBRE-BEARER`, dijiste «todavía no» (2026-10-07) |
|
||||||
|
| **Dos tokens de Forgejo** | **Vivos**: mismas huellas que el servidor MEMORIA | 2026-08-14 | `SEC-FORGEJO-TOKENS-GIT` (2026-10-10) |
|
||||||
|
| Paperless, Qdrant antigua y una sin identificar | No coinciden con nada vivo | varios | Confirmar que están muertas |
|
||||||
|
|
||||||
|
El estado vivo afirmaba que el token de Forgejo «nunca viajó a los remotos». Era falso, y ya lleva su AVISO. Todo se midió comparando huellas, sin imprimir nunca un valor.
|
||||||
|
|
||||||
|
> 🎯 **En una frase:** el escáner ya caza la forma exacta con que se coló la contraseña de `lumbre`, y al estrenarlo encontró otras dos credenciales vivas en git, las de Forgejo.
|
||||||
Loading…
Reference in a new issue