Cheatsheet Python para Seguridad
Referencia rapida para procesar logs, CSV, JSON, hashes y reportes simples.
Leer Archivo
from pathlib import Path text = Path("archivo.log").read_text()
Leer Lineas
for line in Path("archivo.log").read_text().splitlines(): print(line)
Manejo Seguro de Archivo
from pathlib import Path path = Path("archivo.log") if not path.exists(): raise SystemExit(f"No existe: {path}")
Contador
from collections import Counter counter = Counter() counter["admin"] += 1
Parsear key=value
def parse_line(line): event = {} for part in line.split(): if "=" in part: key, value = part.split("=", 1) event[key] = value return event
CSV
import csv with open("assets.csv") as f: reader = csv.DictReader(f) for row in reader: print(row["hostname"])
CSV con Campos Faltantes
owner = row.get("owner") or "SIN_OWNER"
JSON
import json data = json.loads('{"user": "admin"}') print(data["user"])
API con Timeout
import requests response = requests.get("https://api.github.com", timeout=10) print(response.status_code)
Token desde Entorno
import os token = os.environ.get("API_TOKEN") if not token: raise SystemExit("Falta API_TOKEN")
SHA256
from hashlib import sha256 from pathlib import Path digest = sha256(Path("archivo.txt").read_bytes()).hexdigest() print(digest)
Salida Legible
from pathlib import Path report = """# Reporte ## Resumen Eventos analizados: 10 """ Path("resumen.txt").write_text(report)
Errores Comunes
- guardar tokens en codigo;
- no usar timeout en APIs;
- asumir que todos los campos existen;
- sobrescribir evidencia;
- no documentar como ejecutar el script;
- no manejar archivos inexistentes.