欢迎来到【血梦博客】 今天是:2020年10月20日 星期二
站长联系QQ:635948183
当前位置: 网站首页> 神兵利器> GitMonitor:一款针对GitHub的敏感信息扫描系统

GitMonitor:一款针对GitHub的敏感信息扫描系统

作者:血梦 日期:2020-07-04 浏览:324分类: 神兵利器 已提交百度收录

GitMonitor

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

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

功能介绍

1、基于规则(搜索规则)搜索目标代码库,你也可以编写自定义规则来搜索跟自己组织或企业相关的代码库,匹配规则的代码库将会直接被克隆至本地。

2、使用正则表达式(敏感过滤规则)将搜索已克隆至本地的代码库中的敏感信息,并进行分类。

3、通过Slack发送扫描报告。

4、规则和正则表达式单独定义。

5、用户可以轻松自定义规则和正则表达式。

工具运行机制

diagram.png

工具要求

Python3

Python3-pip

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

工具安装

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

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

安装依赖组件:

Python3 -m pip install -r requirements.txt

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

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

[git]

 user = <username_git>

 pass = <password_git>

 url_code = https://api.github.com/search/code?q={}+in:file&sort=indexed&order=desc

 url_repos = https://api.github.com/search/repositories?q={}+size:>0+is:public&sort=indexed&order=desc

 url_commit = 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 = ====================**********====================

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

 id: Project_X_Matching

 key: X

 language:

   - java

 #filename:

 #  - LICENSE

 #extension:

 #  - py

 #  - md

 ignore:

 #  language:

 #    - php

   filename:

     - LICENSE

   extension:

     - html

     - txt

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

Python3 gitmonitor.py

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

项目地址

GitMonitor:【GitHub传送门

参考来源

Talkaboutcybersecurity

关灯