前言

网络上多次爆出的GitHub泄露企业敏感信息事件,说明企业安全中GitHub关键字扫描是很关键及重要的安全基础建设,我用了一些事件针对不同类型的GitHub扫描开源产品作了一些测试调研,与君分享。

一、GitHub搜索接口

github给出了在代码找中搜索关键字的API,并且定义默认只搜索主分支代码,也就是master这个分支,只有小于384KB的文件才能被搜索。

在官方举例中:

  1. https://api.github.com/search/code?q=addClass+in:file+language:js+repo:jquery/jquery

q 表示为关键字; in:file 表示为在文件中搜索(在文件目录中则是in:path,); language 表示语言为JavaScript; repo 表示为在jquery/jquery存储库中搜索; 更多搜索语法可以前往官网查看https://github.com/search/advanced

API还提供了搜索结果展示的功能,在请求的时候带上请求头:

  1. curl-H'Accept:application/vnd.github.v3.text-match+json'\https://api.github.com/search/code?q=addClass+in:file+language:js+repo:jquery/jquery

示例:但是这个功能只显示匹配到的关键字和行数,对于实际应用作用不大:
【20181030】GitHub关键字扫描开源 - 图1

参考资料