GitMAD是一个用于发现Github上的敏感信息和数据泄漏的工具。通过给定关键字或域,GitMAD便会搜索Github上托管的代码,以查找是否存在匹配项。一旦找到了匹配项,GitMAD将克隆存储库并在文件中搜索一系列可配置的正则表达式。然后,GitMAD会获取这些结果,并将它们插入到数据库中供后续的查看使用。这些结果也可作为邮件警报发送。另外,GitMAD将持续运行以发现与输入关键字匹配的新存储库。
输入
除此之外,用户还可以配置每次搜索的最大结果量,搜索间隔时间以及要克隆的存储库的大小范围。有两种模式,Monitor和Discovery。Discovery模式将在每次运行时提取并搜索新结果。Monitor模式则会首先下载给定关键字/域的所有匹配项搜索它们,然后继续搜索新结果。
处理
GitMAD从上面获取结果并搜索存储库的Git历史记录。 搜索历史记录以查找一组可配置的正则表达式。GitMAD还可以对历史文件的每一行进行分解,并在信息熵(Shannon entropy)中搜索匹配项。
配置文件
regex_matches.py
这是将关键字和正则表达式放在存储库内容中进行搜索的位置,只需在下面的列表中添加字典即可:PHP大马
to_match = [
{'match_regex': r'password', 'match_type': 'Password Match'},
{'match_regex': r'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}', 'match_type'