freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

GitMonitor:一款针对GitHub的敏感信息扫描系统
2020-07-02 21:49:42

1591586979_5eddb0a3ba7ec.png!small

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

# github # GitMonitor # 信息扫描
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录