Panther detection.py

def rule(event): return event.get('eventName') == '<x>'

Escribe detecciones en Python sobre Panther (el SIEM cloud-native) que analizan eventos de CloudTrail, GuardDuty y las fuentes cloud.

Úsalo cuando quieras detecciones cloud con lógica programática: Panther ejecuta funciones Python (rule, dedup, title, alert_context) sobre cada evento de las fuentes conectadas (CloudTrail, GuardDuty, Okta, S3, etc.), y la detección puede hacer lo que una query no: lógica condicional compleja, correlación con datos externos (lookups), y contexto de alerta enriquecido. La regla mínima del ejemplo (eventName == '<x>') se amplía con condiciones sobre el usuario, la IP o el recurso. Es la forma de detectar lo específico de tu entorno — la llamada a una API que nadie usa, el rol que aparece donde no debe — con la flexibilidad de Python y el despliegue como código.

No la uses para lo que una query simple resuelve: si la detección es un filtro de un campo, Panther soporta reglas declarativas (o la query en el data lake) más baratas de mantener que una función. La lógica Python mal escrita (excepciones no controladas) hace que la regla falle en silencio — Panther requiere que la función devuelva True/False y las excepciones se registran como errores de la regla. Y ojo con el rendimiento y el coste: cada evento de cada fuente pasa por todas las reglas activas; las reglas con lógica pesada o las que consultan datos externos por evento encarecen el análisis. Valida las reglas con eventos reales en el sandbox de Panther antes de activarlas.