soxoj/gitcolombo

GitHub: soxoj/gitcolombo

一个从 Git 仓库和 GitHub 中提取并关联贡献者身份信息的开源情报工具。

Stars: 83 | Forks: 11

# Gitcolombo 工具

Gitcolombo

一个从 Git 仓库和 GitHub 中提取身份信息(姓名、邮箱)并关联看似无关账户的 OSINT 工具。 - **Python 命令行版** (`gitcolombo.py`) —— 可克隆仓库,遍历 `git log`,并能调用 GitHub API 获取更丰富的信号。 - **网页版** (`gitcolombo.html`) —— 一个独立的静态 HTML 文件;在浏览器中打开即可直接查询 GitHub API,无需安装。 要详细了解每个邮箱/姓名的来源(PGP 密钥、公共事件、提交搜索、提交信息尾部信息等),请查看 **[文档说明](./docs.md)**。 ## 网页版 托管在 **** —— 或者在本地打开 `gitcolombo.html`。这是一个独立的静态 HTML 文件,直接从浏览器查询 GitHub API;无需安装,无需后端。

Gitcolombo web version

## 安装说明 需要 Python 3.10+ 且可用的 `git` 程序。无第三方依赖。 ``` git clone https://github.com/Soxoj/gitcolombo cd gitcolombo ``` ## 使用方法 ``` # 来自任何 git URL ./gitcolombo.py -u https://github.com/Soxoj/maigret # 从本地目录递归获取 ./gitcolombo.py -d ./maigret -r # 克隆并扫描 GitHub 用户/组织的所有公开仓库 ./gitcolombo.py --nickname octocat # 仅API:无需克隆即可查找GitHub用户名的邮箱 ./gitcolombo.py --search Soxoj # 更改远程仓库克隆位置(默认: ./repos) ./gitcolombo.py -u https://github.com/Soxoj/maigret --repos-dir ./clones ``` 默认情况下,远程仓库会克隆到 `./repos/` 目录下;可通过 `--repos-dir` 覆盖此路径。要从 GitLab 和 Bitbucket 群组进行批量克隆,请使用 [ghorg](https://github.com/gabrie30/ghorg)。 ## 输出内容 - 每人详细信息:姓名、邮箱、作者/提交者次数,以及其他可能属于同一人的身份信息。 - 共享同一姓名的不同邮箱。 - 关联同一邮箱的不同姓名。 - 扫描仓库的整体统计数据。 ## 工作原理 开发者常常用一个身份(例如工作账户)提交,然后切换到另一个(例如个人账户)并运行 `git commit --amend`,却忘记了这会重写*提交者*信息,但保留了原始的*作者*信息。这两种角色逐渐产生差异,而这种不匹配正是 gitcolombo 用于关联的关键。 关于作者与提交者的简要说明: ## 测试 仅使用标准库的测试套件——无第三方依赖。从仓库根目录运行: ``` python3 -m unittest test_gitcolombo -v ``` 端到端测试会在临时目录中创建一个真实的 git 仓库,因此需要可用的 `git` 程序(如果 `git` 缺失则跳过测试)。 测试通过 GitHub Actions (`.github/workflows/tests.yml`) 在每次推送和拉取请求时运行,覆盖 Python 3.10–3.13 版本。 ## 延伸阅读 - [文档说明](./docs.md) —— 提取方法、排序、过滤器、速率限制 - [俄语版] ## 开发路线 - [x] 目录下仓库的总体统计 - [x] GitHub 支持:克隆账户/群组的所有仓库 - [x] GitHub 支持:从提交信息中提取账户链接 - [x] GitHub 支持:API 分页 - [x] 排除“系统”账户(例如 `noreply@github.com`、`@users.noreply.github.com`) - [ ] 反向映射:邮箱 → 姓名(目前仅支持 姓名 → 邮箱) - [ ] 基于共享姓名/邮箱和 Levenshtein 距离的概率性图链接 - [ ] 其他主流 Git 平台:GitLab、Bitbucket
标签:GitHub API, Git分析, SEO词, 功能关键词, 多模态安全, 工具开发, 技术栈, 数字取证, 数据提取, 网络安全, 网络安全研究, 网页工具, 自动化脚本, 贡献者信息, 账户关联, 身份提取, 逆向工具, 邮箱分析, 隐私保护, 静态HTML