
Demostraciones para The Forensic Trail de Black Hat Europe 2025 en GitHub: Cazando actividad en la cadena de suministro
Este repositorio contiene tres demostraciones para la Ruta Forense en GitHub: Cazando Actividad en la Cadena de Suministro de Black Hat Europe 2025
potential_attacks_demo: Una aplicación web Flask que muestra una demo de identificación e investigación de un ataque basado en el flujo público de GH.ghdig: Una herramienta de línea de comandos para investigar actividad en GitHub.gitthrunter: Una herramienta de juguete que identifica actividad sospechosa en GitHub, la enriquece y la renderiza para una investigación más profunda.potential_attacks_demopotential_attacks_demo:
cd potential_attacks
pip install -r requirements.txt
flask run
http://127.0.0.1:5000 para ver la demo.ghdigghdig:
cd ghdig
pip install -r requirements.txt
ghdig requiere un Token de Acceso Personal de GitHub para interactuar con la API de GitHub.
Crea un archivo llamado .env en el directorio ghdig.
Agrega tu token de GitHub al archivo de la siguiente manera:
GITHUB_TOKEN=your_github_token_here
La herramienta se ejecuta como un módulo de Python desde la raíz del proyecto.
python -m ghdig <command> [options]
Aquí están los comandos disponibles y ejemplos de cómo usarlos:
gist: Maneja Gists de GitHub.
python -m ghdig gist <gist_id_or_url>python -m ghdig gist https://gist.github.com/mmvojwip/e9975a3a16acc492e3e7f677b6276cb2pr: Maneja Pull Requests de GitHub.
python -m ghdig pr <repo_url>python -m ghdig pr https://github.com/7finney/ethcodecommit: Maneja Commits de GitHub.
python -m ghdig commit <commit_url>python -m ghdig commit https://github.com/mmvojwip/agentkit/commit/023f11f08cc7b82036a78580202143381d703b9auser: Analiza un usuario de GitHub.
gitthruntergitthrunter:
cd gitthrunter
pip install -r requirements.txt
Para ejecutar una consulta, ejecuta el script main.py y proporciona la ruta a tu archivo de consulta SQL ubicado en el directorio queries/.
python main.py potential_attacks.sql --start_date "2025-09-01 00:00:00"
Nota: --start_date puede ser necesario para reducir el tamaño de la consulta
Luego, enriquece los datos del actor:
python main.py potential_attacks.sql --enrich
Nota: el enriquecimiento probablemente tendrá problemas con los límites de tasa si no se configura un token de GitHub
Finalmente, inicia la aplicación:
python app.py
python -m ghdig user <username_or_url>python -m ghdig user mmvojwiprender: Renderiza un informe HTML de análisis de usuario.
python -m ghdig render <username>python -m ghdig render mmvojwipabsence: Verifica usuarios y repositorios ausentes a partir de una consulta ClickHouse.
python -m ghdig absence "<query>"python -m ghdig absence "$(< ghdig/tjactions_demo_query.sql)"