首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >GitMonitor:一款用于GitHub的敏感信息扫描系统

GitMonitor:一款用于GitHub的敏感信息扫描系统

作者头像
FB客服
发布2020-07-08 15:43:35
发布2020-07-08 15:43:35
2.1K00
代码可运行
举报
文章被收录于专栏:FreeBufFreeBuf
运行总次数:0
代码可运行

GitMonitor

GitMonitor是一款针对GitHub的扫描系统,在它的帮助下,研究人员可以轻松扫描出目标GitHub库中存在的敏感信息。

该工具基于规则实现其功能,GitMonitor使用了两套不同的规则集来寻找目标信息。搜索规则将会搜索目标代码库,并寻找跟组织或内部项目相关的信息,而敏感过滤规则将会判断目标代码库是否存在敏感信息。最后,工具还将通过Slack向用户发送扫描报告。你还可以将GitMonitor配合Cronjob一起使用,来监控目标兄台那个并追踪相关的泄露在GitHub中的敏感信息,最后通过Slack接收扫描结果。

功能介绍

1、基于规则(搜索规则)搜索目标代码库,你也可以编写自定义规则来搜索跟自己组织或企业相关的代码库,匹配规则的代码库将会直接被克隆至本地。 2、使用正则表达式(敏感过滤规则)将搜索已克隆至本地的代码库中的敏感信息,并进行分类。 3、通过Slack发送扫描报告。 4、规则和正则表达式单独定义。 5、用户可以轻松自定义规则和正则表达式。

工具运行机制

工具要求

Python3

Python3-pip

目前该工具已在Ubuntu 18.04系统上测试。

工具安装

首先,使用下列命令将项目源码克隆至本地:

代码语言:javascript
代码运行次数:0
运行
复制
git clone https://github.com/Talkaboutcybersecurity/GitMonitor.git

安装依赖组件:

代码语言:javascript
代码运行次数:0
运行
复制
Python3 -m pip install -r requirements.txt

确保你的设备上已经安装了Pyyaml v5x或更高版本。

接下来,在配置文件config.ini中填写所需的信息:

代码语言:javascript
代码运行次数:0
运行
复制
[git]
user = <username_git>
pass = <password_git>
url_code = [https://api.github.com/search/code?q=](https://api.github.com/search/code?q=){}+in:file&sort=indexed&order=desc
url_repos = [https://api.github.com/search/repositories?q=](https://api.github.com/search/repositories?q=){}+size:>0+is:public&sort=indexed&order=desc
url_commit = [https://api.github.com/search/commits?q=](https://api.github.com/search/commits?q=){}+is:public&sort=indexed&order=desc
rpp = 50
[slack]
webhooks = <full_link_webhooks>
[path]
rule = <path to rule folder>
source = <path to folder to clone repository>
log = <filename of log>
[msg]
start = ====================**********====================
*Start scanning at {}*
_Clone completed successfully:_
end = ====================**********====================
*Scanning Done at {}*
_Detected possible repository:_
all = ====================**********====================

编写自定义搜索规则,并将规则放入规则字典中:

代码语言:javascript
代码运行次数:0
运行
复制
id: Project_X_Matching
key: X
language:
- java
#filename:
#  - LICENSE
#extension:
#  - py
#  - md
ignore:
#  language:
#    - php
filename:
- LICENSE
extension:
- html
- txt

接下来,在敏感过滤规则文件libs/regex.py中定义正则表达式,并运行下列命令:

代码语言:javascript
代码运行次数:0
运行
复制
Python3 gitmonitor.py

你还可以使用Cronjob来自动化运行GitMonitor(计划任务)。

项目地址

GitMonitor:https://github.com/Talkaboutcybersecurity/GitMonitor

参考来源

https://github.com/Talkaboutcybersecurity/GitMonitor

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-07-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • GitMonitor
  • 功能介绍
    • 工具运行机制
  • 工具要求
  • 工具安装
  • 安装依赖组件:
  • 项目地址
  • 参考来源
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档