Shhgit,实时GitHub敏感信息获取
Shhgit,一款专门为获取GitHub敏感信息而打造的工具, 通过GitHub 事件API,近乎实时地抓取GitHub代码和Gists里的敏感文件。
实时!开启Sshgit,用浏览器就能直接看到GitHub的秘密!
Github Robot#在Github里找敏感信息
在Github里找敏感信息不是什么新闻了,这方面的工具有一大坨。当中,比较有名气的gitrob和truggleHog两款工具,侧重于在指定的代码库、用户或者组织里,挖掘commit历史,寻找秘密凭据。另一方面,Github官方也使用凭据扫描项目来扫描平台上出现的秘密凭据,它的目的是实时地针对提交上来的代码进行可能的隐私信息扫描,并警告服务提供者采取应急措施。例如,理论上当AWS的安全keys被提交到GitHub,Amazon会受到提醒,并自动撤销这个安全keys。
用Shhgit,微调一些搜寻特征,shhgit可以给你的bug奖金项目带来超帅回报。
sshgit 的 logo#安装
可以直接用编译好的程序。
https://github.com/eth0izzle/shhgit/releases
也可以自己编译
1.安装Go 语言环境。
2.下载和编译:
$ go get github.com/eth0izzle/shhgi
3.看使用说明。
sshgit 通过关键字特征码寻找敏感信息 sshgit的完整形态#使用说明
sshgit需要用到GitHub的API,所以你需要准备一个API token(至少一个)。GitHub的这个API有一个硬性限制,每个用户每小时最多只能请求5000次,不管啥token都不例外。所有,账号的token越多,处理Github的events就越快。至于怎么生成token,这里有个帮助:
https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line
跟其他的项目不同,sshgit不需要传入一些目标参数,仅仅只需执行sshgit命令即可开启程序,并持续监控并捕捉Github里的敏感信息(默认提供120个特征)。
另外,你也可以不要特征码,直接使用搜索语句。例如,要查找所有的AWS keys可以这么用:
$ shhgit --search-query AWS_ACCESS_KEY_ID=AKIA
#配置
config.yaml 为配置文件,文件中含6个主要配置变量,含义分别是:
github_access_tokens: #至少提供一个token
- 'token one'
- 'token two'
slack_webhook: '' # 你的slack webhook url. 发现的隐私信息会发生到这个URL
blacklisted_extensions: [] # 哪些扩展名文件需要被忽略的
blacklisted_paths: [] # 哪些目录需要被忽略的
blacklisted_entropy_extensions: [] # 额外的扩展名,不需要做熵检验的
signatures: # 用来匹配的特征码
- part: '' # 填入文件名,扩展名,路径或者内容
match: '' # 简单文本匹配 (如果不是正则的话)
regex: '' # 正则表达式
name: '' # 特征码的名字
默认配置参考:
https://github.com/eth0izzle/shhgit/blob/master/config.yaml
comfig.yaml默认配置这里面共有120个特征码,涵盖了数据库,ssh,Docker等等方面的敏感信息特征。