wiz-sec-public/GitHunt

GitHub: wiz-sec-public/GitHunt

Black Hat Europe 2025 议题的配套演示项目,用于在 GitHub 平台上进行供应链安全活动的取证调查与可疑行为识别。

Stars: 25 | Forks: 3

# BHEU 演示 此仓库包含 Black Hat Europe 2025 **[The Forensic Trail On GitHub: Hunting For Supply Chain Activity](https://blackhat.com/eu-25/briefings/schedule/index.html#the-forensic-trail-on-github-hunting-for-supply-chain-activity-48832)** 的三个演示。 1. **`potential_attacks_demo`**:一个 Flask Web 应用程序,用于演示如何基于公开的 GH firehose 识别和调查攻击。 2. **`ghdig`**:一个用于调查 GitHub 活动的命令行工具。 3. **`gitthrunter`**:一个玩具工具,用于识别可疑的 GitHub 活动,对其进行丰富(enrich),并渲染以供进一步调查。 ## `potential_attacks_demo` ### 运行演示 1. 导航至 `potential_attacks_demo` 目录: cd potential_attacks 2. 安装所需的依赖项: pip install -r requirements.txt 3. 运行 Flask 应用程序: flask run 4. 打开 Web 浏览器并访问 `http://127.0.0.1:5000` 查看演示。 ## `ghdig` ### 安装 1. 导航至 `ghdig` 目录: cd ghdig 2. 安装所需的依赖项: pip install -r requirements.txt ### 配置 `ghdig` 需要一个 GitHub Personal Access Token 才能与 GitHub API 交互。 1. 在 `ghdig` 目录中创建一个名为 `.env` 的文件。 2. 将您的 GitHub token 添加到文件中,如下所示: GITHUB_TOKEN=your_github_token_here ### 使用方法 该工具作为 Python 模块从项目根目录运行。 ``` python -m ghdig [options] ``` ### 命令 以下是可用命令及其使用示例: * **`gist`**:处理 GitHub Gists。 * **用法:** `python -m ghdig gist ` * **示例:** `python -m ghdig gist https://gist.github.com/mmvojwip/e9975a3a16acc492e3e7f677b6276cb2` * **`pr`**:处理 GitHub Pull Requests。 * **用法:** `python -m ghdig pr ` * **示例:** `python -m ghdig pr https://github.com/7finney/ethcode` * **`commit`**:处理 GitHub Commits。 * **用法:** `python -m ghdig commit ` * **示例:** `python -m ghdig commit https://github.com/mmvojwip/agentkit/commit/023f11f08cc7b82036a78580202143381d703b9a` * **`user`**:分析 GitHub 用户。 * **用法:** `python -m ghdig user ` * **示例:** `python -m ghdig user mmvojwip` * **`render`**:渲染用户分析的 HTML 报告。 * **用法:** `python -m ghdig render ` * **示例:** `python -m ghdig render mmvojwip` * **`absence`**:通过 ClickHouse 查询检查缺失的用户和仓库。 * **用法:** `python -m ghdig absence ""` * **示例:** `python -m ghdig absence "$(< ghdig/tjactions_demo_query.sql)"` ## `gitthrunter` ### 安装 1. 导航至 `gitthrunter` 目录: cd gitthrunter 2. 安装所需的依赖项: pip install -r requirements.txt ## 使用方法 要运行查询,请执行 `main.py` 脚本,并提供位于 `queries/` 目录下的 SQL 查询文件的路径。 ``` python main.py potential_attacks.sql --start_date "2025-09-01 00:00:00" ``` _注意:可能需要使用 --start\_date 来减小查询规模_ 然后,丰富 actor 数据: ``` python main.py potential_attacks.sql --enrich ``` _注意:如果未配置 github token,数据丰富(enrichment)过程可能会遇到速率限制(rate limits)问题_ 最后,启动应用程序: ``` python app.py ```
标签:威胁情报, 安全, 开发者工具, 文档安全, 超时处理, 逆向工具