⛓️ Blockchain Learning Path GitHub

Operación y respuesta ante incidentes

⬅️ Volver al programa · 📚 Currículo · 🛡️ Mejores prácticas

Runbook profesional de respuesta a incidentes para protocolos on-chain. En este dominio los incidentes se miden en minutos y los fondos son programáticamente extraíbles: la diferencia entre una pérdida parcial y una total suele ser la preparación previa.

Clasificación de severidad

Severidad Definición Ejemplos Primera acción
SEV-1 Exploit activo con fondos en riesgo inmediato Drenado en curso, clave de administrador comprometida en uso Contener ya: pausar, sin esperar consenso completo
SEV-2 Vulnerabilidad crítica confirmada, aún sin explotar Reporte de whitehat o auditor sobre contrato con fondos War room privado; preparar mitigación antes de cualquier divulgación
SEV-3 Anomalía operativa con impacto acotado Oráculo con precio desviado u obsoleto, liquidaciones anómalas Verificar con segunda fuente; activar protecciones (pausar mercado afectado)
SEV-4 Degradación de infraestructura sin riesgo de fondos RPC caído, indexador atrasado, frontend con errores Canal operativo normal; comunicar si afecta usuarios

Ante la duda entre dos niveles, clasifica en el más alto: bajar la severidad después es barato, subirla tarde es carísimo.

Preparación previa (antes del despliegue)

La respuesta se decide antes del incidente. Checklist mínima:

Roles del incidente

Rol Responsabilidad Regla clave
Comandante del incidente (incident commander) Coordina, decide, mantiene la línea de tiempo No teclea: dirige. Una sola voz de mando
Responsable técnico Diagnóstico, contención y remediación en código Todo cambio se prueba en fork antes de mainnet
Comunicación Comunicados, redes, respuesta a usuarios y prensa Solo publica hechos confirmados por el comandante
Legal / cumplimiento Obligaciones regulatorias, contacto con autoridades Involucrado desde SEV-2 hacia arriba, no al final

En equipos pequeños una persona cubre varios roles, pero los roles se nombran explícitamente al abrir el incidente.

Runbook por fases

Tiempos objetivo para SEV-1; en severidades menores se relajan, no se eliminan.

1. Detectar (objetivo: minutos)

2. Confirmar y clasificar (≤ 15 min)

3. Contener (≤ 30-60 min)

4. Comunicar (primer comunicado ≤ 2 h)

5. Remediar

6. Post-mortem (≤ 2 semanas)

flowchart TD
    A["Alerta o reporte"] --> B["Confirmar y clasificar severidad"]
    B --> C{"¿Fondos en riesgo?"}
    C -->|"Sí: SEV-1/2"| D["Contener: pausar, frontend off, custodios"]
    C -->|"No: SEV-3/4"| E["Mitigar por canal operativo"]
    D --> F["Comunicado inicial honesto"]
    E --> F
    F --> G["Remediar y probar en fork"]
    G --> H["Ejecutar via multisig o timelock"]
    H --> I["Verificar estado y reanudar"]
    I --> J["Post-mortem publico sin culpas"]

Ejemplos reales de buena gestión

Citados como referencia de proceso, no como garantía de resultado:

Ejercicio

Simula un oráculo obsoleto y luego una clave de operador comprometida. Para cada caso define alertas, autoridad de pausa, efectos secundarios, comunicación y condición de reanudación. Ejecuta el ejercicio con reloj y registra la línea de tiempo como lo harías en un incidente real; la bitácora cuenta como evidencia de evaluación.

Referencias