GitGot:GitHub 搜索敏感信息工具教程
1. 项目介绍
GitGot 是一个半自动化反馈驱动的工具,用于在 GitHub 的大量公开数据中快速搜索敏感秘密。它让用户能够通过提供关于搜索结果的反馈来高效地筛选信息。GitGot 利用 GitHub 的代码搜索 API 进行查询,并支持自定义正则表达式列表,以及在搜索过程中忽略不相关的结果。
2. 项目快速启动
依赖安装
确保已经安装了 Python 和 pip
。接下来安装 GitGot 的依赖:
pip3 install -r requirements.txt
创建 GitHub 访问令牌
访问 GitHub Developer Settings 创建一个新的访问令牌,不需要任何权限(这将等同于公共 GitHub 访问)。
运行 GitGot
将之前创建的访问令牌设置到 gitgot.py
文件顶部的 ACCESS_TOKEN
变量,或者设置 GITHUB_ACCESS_TOKEN
环境变量。示例:
ACCESS_TOKEN = "<你的-GITHUB-TOKEN>"
然后可以运行以下命令进行基本查询:
/gitgot.py -q "example com"
对于更复杂的查询或自定义配置,参考 GitGot 提供的选项。
使用 Docker
如果你更喜欢使用 Docker,可以通过以下命令构建并运行 Docker 容器:
./gitgot-docker.sh -q example com
确保工作目录正确,并且容器可以访问你的 GitHub 授权信息。
3. 应用案例和最佳实践
- 安全审计:定期使用 GitGot 扫描组织的公开存储库,以查找意外泄露的密码、API 密钥或其他敏感数据。
- 产品名称搜索:如果你的产品名是唯一的,搜索该名称可以帮助找到可能未经授权使用的实例。
- 持续集成:集成 GitGot 到你的持续集成流程中,每次提交时自动检查敏感信息。
最佳实践包括:
- 给查询指定精确范围,如特定用户或组织 (
-u <username>
或-o <orgname>
). - 使用高级搜索语法,例如
"org:<org_name>"
来限制组织内搜索。 - 对重复或相似的结果创建黑名单,提高效率。
4. 典型生态项目
GitGot 常常与其他安全工具一起使用,例如:
- 静态代码分析工具:用于检测代码中的潜在漏洞。
- 威胁情报平台:结合 GitGot 发现的信息,更新威胁数据库。
- 自动化安全扫描解决方案:与其他自动化安全扫描工具结合,形成全面的安全防护体系。
记住,有效的使用取决于对 GitHub 搜索 API 和正则表达式的理解。请阅读 GitGot 的源代码和文档获取更多信息。