
Demo per Black Hat Europe 2025's The Forensic Trail On GitHub: Caccia all'attività della supply chain
Questo repository contiene tre demo per la conferenza Black Hat Europe 2025 The Forensic Trail On GitHub: Hunting For Supply Chain Activity
potential_attacks_demo: Un'applicazione web Flask che mostra una demo di identificazione e investigazione di un attacco basato sul flusso pubblico di GH.ghdig: Uno strumento da riga di comando per investigare l'attività su GitHub.gitthrunter: Un piccolo strumento che identifica attività sospette su GitHub, le arricchisce e le presenta per ulteriori indagini.potential_attacks_demopotential_attacks_demo:
cd potential_attacks
pip install -r requirements.txt
flask run
http://127.0.0.1:5000 per vedere la demo.ghdigghdig:
cd ghdig
pip install -r requirements.txt
ghdig richiede un token di accesso personale di GitHub per interagire con l'API di GitHub.
Crea un file chiamato .env nella directory ghdig.
Aggiungi il tuo token GitHub al file in questo modo:
GITHUB_TOKEN=your_github_token_here
Lo strumento viene eseguito come modulo Python dalla radice del progetto.
python -m ghdig <comando> [opzioni]
Ecco i comandi disponibili e esempi di come utilizzarli:
gist: Gestisce i Gist di GitHub.
python -m ghdig gist <gist_id_or_url>python -m ghdig gist https://gist.github.com/mmvojwip/e9975a3a16acc492e3e7f677b6276cb2pr: Gestisce le Pull Request di GitHub.
python -m ghdig pr <repo_url>python -m ghdig pr https://github.com/7finney/ethcodecommit: Gestisce i Commit di GitHub.
python -m ghdig commit <commit_url>python -m ghdig commit https://github.com/mmvojwip/agentkit/commit/023f11f08cc7b82036a78580202143381d703b9auser: Analizza un utente GitHub.
gitthruntergitthrunter:
cd gitthrunter
pip install -r requirements.txt
Per eseguire una query, esegui lo script main.py e fornisci il percorso del file di query SQL situato nella directory queries/.
python main.py potential_attacks.sql --start_date "2025-09-01 00:00:00"
Nota: --start_date potrebbe essere necessario per ridurre la dimensione della query
Poi, arricchisci i dati dell'attore:
python main.py potential_attacks.sql --enrich
Nota: l'arricchimento potrebbe avere problemi con i limiti di velocità se non è configurato un token GitHub
Infine, avvia l'app:
python app.py
python -m ghdig user <username_or_url>python -m ghdig user mmvojwiprender: Genera un report HTML dell'analisi utente.
python -m ghdig render <username>python -m ghdig render mmvojwipabsence: Verifica l'assenza di utenti e repo da una query ClickHouse.
python -m ghdig absence "<query>"python -m ghdig absence "$(< ghdig/tjactions_demo_query.sql)"