
Демонстрации для Black Hat Europe 2025's The Forensic Trail On GitHub: Охота за активностью в цепочке поставок
Этот репозиторий содержит три демо для Black Hat Europe 2025: The Forensic Trail On GitHub: Hunting For Supply Chain Activity
potential_attacks_demo: Веб-приложение на Flask, демонстрирующее выявление и расследование атаки на основе публичного потока GitHub (GH firehose).ghdig: Инструмент командной строки для расследования активности на GitHub.gitthrunter: Игрушечный инструмент, который выявляет подозрительную активность на GitHub, обогащает её и отображает для дальнейшего расследования.potential_attacks_demopotential_attacks_demo:
cd potential_attacks
pip install -r requirements.txt
flask run
http://127.0.0.1:5000, чтобы увидеть демо.ghdigghdig:
cd ghdig
pip install -r requirements.txt
Для взаимодействия с GitHub API ghdig требует Personal Access Token.
Создайте файл с именем .env в директории ghdig.
Добавьте свой токен GitHub в файл следующим образом:
GITHUB_TOKEN=your_github_token_here
Инструмент запускается как модуль Python из корня проекта.
python -m ghdig <команда> [опции]
Вот доступные команды и примеры их использования:
gist: Работает с GitHub Gists.
python -m ghdig gist <gist_id_or_url>python -m ghdig gist https://gist.github.com/mmvojwip/e9975a3a16acc492e3e7f677b6276cb2pr: Работает с Pull Request'ами на GitHub.
python -m ghdig pr <repo_url>python -m ghdig pr https://github.com/7finney/ethcodecommit: Работает с коммитами на GitHub.
python -m ghdig commit <commit_url>python -m ghdig commit https://github.com/mmvojwip/agentkit/commit/023f11f08cc7b82036a78580202143381d703b9a: Анализирует пользователя GitHub.
gitthruntergitthrunter:
cd gitthrunter
pip install -r requirements.txt
Чтобы выполнить запрос, запустите скрипт main.py и укажите путь к вашему файлу SQL-запроса, находящемуся в директории queries/.
python main.py potential_attacks.sql --start_date "2025-09-01 00:00:00"
Примечание: --start_date может потребоваться, чтобы сократить размер запроса
Затем обогатите данные об акторах:
python main.py potential_attacks.sql --enrich
Примечание: обогащение может столкнуться с ограничениями по частоте запросов, если не настроен токен GitHub
Наконец, запустите приложение:
python app.py
userpython -m ghdig user <username_or_url>python -m ghdig user mmvojwiprender: Создаёт HTML-отчёт анализа пользователя.
python -m ghdig render <username>python -m ghdig render mmvojwipabsence: Проверяет отсутствующих пользователей и репозитории на основе запроса ClickHouse.
python -m ghdig absence "<query>"python -m ghdig absence "$(< ghdig/tjactions_demo_query.sql)"