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
```
标签:威胁情报, 安全, 开发者工具, 文档安全, 超时处理, 逆向工具