Scripts prácticos para reducir trabajo manual y acelerar la respuesta
Autor: Erick Israel Aguilar Paau
Introducción
Casi cualquier analista que haya pasado unas semanas en un SOC sabe que muchas tareas se repiten hasta el cansancio: copiar y pegar IPs para revisar reputación, descargar y formatear reportes, buscar el mismo tipo de eventos en el SIEM, armar evidencias para un incidente. En ese contexto, Python se convierte en un aliado natural: no hace magia, pero permite transformar tareas manuales de minutos u horas en scripts que corren en segundos.
Para un profesional certificado en CompTIA CySA+, entender y utilizar automatización ligera con Python es una habilidad que suma valor inmediato. No se trata de reemplazar plataformas SOAR ni de construir soluciones gigantes, sino de desarrollar pequeños componentes que conectan APIs, procesan datos y le devuelven tiempo al analista para lo importante: pensar, correlacionar y decidir.
¿Por qué Python encaja tan bien en un SOC?
Python no es el único lenguaje posible, pero combina varias ventajas que lo hacen especialmente útil en entornos de ciberseguridad:
- Sintaxis sencilla: es legible incluso para quienes no son desarrolladores de tiempo completo.
- Ecosistema maduro: librerías para HTTP (requests), manejo de JSON, acceso a APIs, análisis de datos (pandas), etc.
- Soporte nativo o ejemplos abundantes para casi cualquier API de seguridad: SIEM, XDR, SOAR, Threat Intelligence, ITSM.
- Facilidad de integración: scripts que se ejecutan desde cron, desde un playbook de SOAR o incluso desde el propio equipo del analista.
En muchos SOC, los primeros scripts que se escriben con Python ya marcan una diferencia clara en productividad.
Casos de uso típicos de automatización con Python
Sin necesidad de construir una plataforma completa, algunos usos prácticos muy comunes son:
Enriquecimiento de IOCs
- Tomar una lista de IPs, dominios o hashes desde un CSV o un ticket.
- Consultar automáticamente servicios de reputación (VirusTotal, AbuseIPDB, etc.).
- Devolver un reporte unificado con estado (malicioso/sospechoso/desconocido), vistos por última vez, campañas asociadas.
Búsqueda y consolidación de eventos
- Consultar la API del SIEM o XDR para traer eventos relacionados a un incidente (por host, usuario, rango de tiempo).
- Unificar resultados en un archivo legible, o en una tabla que pueda adjuntarse directamente a un informe.
Generación de reportes periódicos
- Resúmenes diarios o semanales de incidentes por tipo, tiempo de respuesta, fuentes de detección, etc.
- Exportar a Excel, CSV o incluso a un dashboard ligero.
Validaciones de configuración
- Comparar listas de IPs permitidas en un firewall con una “fuente de verdad”.
- Revisar si ciertas cuentas siguen presentes en grupos donde no deberían.
- Detectar servicios expuestos que deberían haberse cerrado.
Python como complemento del SOAR, no como sustituto
En entornos donde ya existe una plataforma SOAR, algunos podrían pensar que Python sobra. Es justo lo contrario: muchas veces, los conectores “genéricos” o las integraciones personalizadas se escriben en Python detrás de escena.
Por ejemplo:
- Un playbook necesita consultar un sistema interno que no tiene conector oficial. Un pequeño script en Python que expone una API intermedia resuelve el problema.
- Se requiere transformar datos de un formato muy particular (un log heredado, un reporte de una herramienta antigua) antes de enviarlos al SIEM o al XDR.
- El SOC quiere hacer un “post-procesamiento” de incidentes cerrados para obtener estadísticas especiales; Python se encarga de leer la API del ITSM y generar los reportes.
El objetivo no es competir con el SOAR, sino extenderlo y adaptarlo a la realidad específica de cada organización.
Buenas prácticas al automatizar con Python en un SOC
No todo es escribir código rápido y ya. Para que la automatización sea sostenible, conviene seguir algunas buenas prácticas básicas:
- Control de versiones: usar Git, aunque sea en un repositorio interno sencillo.
- Gestión segura de credenciales: nunca dejar tokens o contraseñas en el código; usar variables de entorno, vaults o mecanismos similares.
- Manejo de errores y tiempos de espera: validar respuestas de APIs, manejar excepciones y evitar que un script se “cuelgue” indefinidamente.
- Documentación mínima pero clara: qué hace el script, qué parámetros recibe, qué dependencias tiene.
- Pruebas en entornos controlados: especialmente cuando el script ejecutará acciones (bloqueos, cambios de reglas, etc.), empezar sólo leyendo y registrando lo que haría antes de activar la parte “destructiva”.
Ejemplo conceptual: asistente de investigación para incidentes
Imaginemos un incidente de posible compromiso de endpoint. Un script en Python podría:
- Leer el ID del incidente o el hostname afectado.
- Consultar la API del XDR para obtener procesos recientes sospechosos en ese host.
- Extraer los hashes de los ejecutables implicados.
- Consultar esos hashes en servicios de Threat Intelligence.
- Buscar en el SIEM otros hosts donde aparezcan esos mismos hashes o rutas.
- Generar un pequeño reporte con todo esto y adjuntarlo como comentario al ticket original.
El analista sigue tomando decisiones, pero ya no pierde tiempo copiando y pegando datos entre múltiples consolas.
El factor humano: no todo se automatiza
Automatizar no significa dejar de pensar. De hecho, mientras más automatizado esté un entorno, más importante es la capacidad del analista para:
- Diseñar qué vale la pena automatizar y qué no.
- Leer resultados críticamente y no asumir que “si el script lo dijo, está bien”.
- Explicar a otros equipos qué hace una pieza de automatización y cuáles son sus límites.
CySA+ insiste en esa combinación de conocimiento técnico y criterio. Python es una herramienta poderosa, pero el verdadero valor está en cómo se usa para aliviar carga operativa y permitir un análisis más profundo.
Conclusión
La automatización defensiva con Python no requiere ser desarrollador senior ni construir proyectos complejos. Requiere conocer bien el entorno, detectar qué tareas se repiten, entender las APIs disponibles y animarse a dar los primeros pasos con scripts sencillos.
Para el analista CySA+, cada script que ahorra minutos en una tarea repetitiva es tiempo que se recupera para investigar mejor un incidente, afinar detecciones o proponer mejoras. A la larga, esos pequeños automatismos se convierten en una ventaja competitiva del SOC: hacen más con lo mismo, responden más rápido y reducen la probabilidad de error humano en tareas rutinarias. Esa es, en esencia, la promesa de la automatización defensiva bien entendida.


