探索GitHub安全新境界:GitHub Commit Crawler
项目地址:https://gitcode.com/jfalken/github_commit_crawler
是什么?
GitHub Commit Crawler(ghcc)是一个强大的工具,它遍历GitHub组织的成员,查找他们的公共提交,并通过关键词或正则表达式解析可能含有敏感信息(如API密钥)的提交信息。为了简化部署和使用,我们将其封装到一个Docker容器中,使您能够轻松地在任何支持Docker的平台上运行。
如何查看结果?
核心脚本
ghcc.py
将检查结果直接插入MongoDB集合中,而提供的轻量级Web应用允许您查看结果并执行其他相关任务,比如编辑配置或者监控进程。每个文档结构如下:
{
"_id": ObjectId("54a6f232a0b7f9f39eb749b0"),
"blob": "https://github.com/jfalken/audit_test/blob/e69279825940f4a562300f75f00dab864a91bd1e/audit_test2.txt",
"audit_date": ISODate("2015-01-02T19:32:01.992Z"),
"commit_url": "https://api.github.com/repos/jfalken/audit_test/commits/e69279825940f4a562300f75f00dab864a91bd1e",
"uid": "jfalken-2490741299",
"author": "jfalken",
"matched": "BEGIN RSA PRIVATE KEY",
"html_url": "https://github.com/jfalken/audit_test/commit/e69279825940f4a562300f75f00dab864a91bd1e",
"string": "@@ -1,2 +1,2 @@\n-BEGIN RSA PRIVATE KEY\n+BEGIN RSA PRIVATE KEY2\n sample.\n\\ No newline at end of file"
}
Web界面提供基础链接和分页功能,点击“Diff”按钮可以展示改动的地方并高亮显示发现的关键词。
安装与运行
这个项目提供了Docker化的安装方式,便于快速部署。只需要一个具有特定权限的GitHub个人访问令牌就可以开始使用。
预备条件
确保已安装了Docker,并创建一个具有
read:org
权限的GitHub个人访问令牌,该令牌所有者需是目标组织的成员。
Docker化安装
- 从Dockerhub拉取镜像:
docker pull jfalken/github-commit-crawler
- 运行容器,映射本地端口5000至容器的5000端口:
docker run -d -p 5000:5000 jfalken/github-commit-crawler
当运行容器后,可以通过访问
http://localhost:5000
来查看Web界面,进行初始配置。
非Docker化安装
如果您不选择Docker,可以自行编译Docker镜像,或者通过Python虚拟环境直接运行。具体步骤请参考readme文档中的详细说明。
应用场景
这个工具非常适合那些希望保护GitHub上公开代码库安全的企业和团队。定期扫描可以及时发现潜在的风险,避免敏感信息泄露。
项目特点
- Docker集成:一键部署,跨平台运行。
- 可视化管理:内置Web应用实时查看扫描结果。
- 灵活定制:可自定义关键词,针对特定情况进行扫描。
- 自动化:支持定时运行,确保持续的安全审计。
- 易于扩展:开放源码,欢迎贡献和改进。
GitHub Commit Crawler不仅是一款实用的工具,也是保障开源项目安全的一个重要助手。立即加入,让您的代码更安全,组织更放心。
版权归原作者 高慈鹃Faye 所有, 如有侵权,请联系我们删除。