shhgit是一个开源的github敏感信息监控系统,覆盖了多种类型的敏感信息,可以监控github全网的敏感信息,也可以自定义添加跟自己单位相关的敏感信息。
项目地址:
https://github.com/eth0izzle/shhgit
0x01 部署
需要安装golang的环境,以下内容都是以centos系统为例。
1、安装go环境
yum install golang
2、设置环境变量
`#yum安装默认的GOROOT路径``export GOROOT=/usr/lib/golang`` ``#新建的GOPATH``export GOPATH=/opt/golang``export GOBIN=/opt/golang/bin``PATH=$PATH:$GOBIN``export PATH``source /etc/profile`
3、使用GOProxy,解决go模块翻墙加载的问题
`export GO111MODULE=on``export GOPROXY=https://goproxy.cn`
4、go get拉取项目
go get github.com/eth0izzle/shhgit
项目会拉取到$GOBIN目录中。
5、在config.yaml配置github access token
在自己的github帐号新增github access token,并复制插入到该项目的config.yaml文件中,如:
`github_access_tokens:` `- '361b******bc8df5c*****************************'` `- '75fac*****0f07f711******************************'`
有关配置文件的其它说明:
`#支持多个token``github_access_tokens:`` ` `- 'token 1'` `- 'token 2'`` ``#接收敏感信息的API接口,如微信公众号之类的WebHook等。``slack_webhook: ''`` ``#文件后缀黑名单,排除在监控之外的文件类型``blacklisted_extensions: [".exe", ".jpg"]`` ``#要忽略的路径列表``blacklisted_paths: ["node_modules{sep}", "vendor{sep}bundle"]``blacklisted_entropy_extensions: []`` ``#要检查的特征列表``signatures:` `- part: '' # 有四个值可选filename、extension、path、contents` `match: '' # 简单的文本匹配(无正则表达式的情况下)` `regex: '' # 正则表达式 (无简单文本匹配元素的情况下)` `name: '' # 特征的名称`
0x02 运行使用
在config.yaml同级目录直接输入 shhgit 命令运行即可。如图:
作者也开发了一个系统前端,可以看到监控发现的github上的一些敏感信息,访问地址:
https://shhgit.darkport.co.uk/
系统大概是这样的:
节省成本的甲方完全可以二次开发,增加补充自家单位的规则,对解决github敏感信息泄露很有帮助。