内容简介:网络上多次爆出的GitHub泄露企业敏感信息事件,说明企业安全中GitHub关键字扫描是很关键及重要的安全基础建设,我用了一些事件针对不同类型的GitHub扫描开源产品作了一些测试调研,与君分享。github给出了在代码找中搜索关键字的API,并且定义默认只搜索主分支代码,也就是master这个分支,只有小于384KB的文件才能被搜索。在官方举例中:
前言
网络上多次爆出的GitHub泄露企业敏感信息事件,说明企业安全中GitHub关键字扫描是很关键及重要的安全基础建设,我用了一些事件针对不同类型的GitHub扫描开源产品作了一些测试调研,与君分享。
一、GitHub搜索接口
github给出了在代码找中搜索关键字的API,并且定义默认只搜索主分支代码,也就是master这个分支,只有小于384KB的文件才能被搜索。
在官方举例中:
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还提供了搜索结果展示的功能,在请求的时候带上请求头:
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
示例:但是这个功能只显示匹配到的关键字和行数,对于实际应用作用不大:
二、开源工具介绍
网络上有很多GitHub扫描的开源工具,我的需求是:及时告警、扫描全面、可视化展示,经过一些测试对比后,推荐两款部署方便、配置简单的工具:
GSIL( https://github.com/FeeiCN/GSIL )
Hawkeye( https://github.com/0xbug/Hawkeye )
2.1 GSIL介绍
原理:
登录配置:采用token( https://github.com/settings/tokens ),使用PyGithub库。
进行API调用( http://pygithub.github.io/PyGithub/v1/introduction.html )。
搜索范围:默认搜索前200个项目,最大5000(github限制)。
过程:通过API(/search/code)搜索规则文件rules.gsil中提交的关键字,然后分析得到的json结果,默认展示前30个相关项目。
扫描配置:在配置文件中会过滤一些作者认为无用的路径,可以根据实际情况屏蔽一些:
结果展示:该款工具没有页面展示,通过邮件告警,匹配存在关键词的行及其上下3行用于邮件发送来排查(用户体验较好)。
去重扫描:工具记录扫描过程中产生的相关代码内容、文件hash,在~目录下创建了一个隐藏文件夹.gsil。扫描引擎中如果文件的hash是之前遇到过的,则跳过:
周期扫描:可通过crontab配置,每小时执行一次:
@hourly /usr/bin/python /root/gsil/gsil.py 规则名称
2.2 Hawkeye介绍
扫描原理前面已经简单介绍过了,Hawkeye由于拥有图形化界面,因此可以和GSIL搭配使用,我通常将GSIL扫描出来的账号,作为重点关注对象,配置更加详细的策略来监测。
三、总结
GitHub关键字扫描还有很多其他的开源工具,比如比较轻量级的gitpprey( https://github.com/repoog/GitPrey ),还有小米研发的X-patrol( https://github.com/MiSecurity/x-patrol ),从安装环境要求、配置功能实现、部署难易程度入手,就能找到一款适合企业环境的开源扫描工具。再加上一些二次开发的话,基本可以保障一些触及关键字的GitHub信息泄露能被及时的发现与删除。
感谢阅读,欢迎指导。
*本文作者:胡说,转载请注明来自FreeBuf.COM
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 开源扫描仪的工具箱:安全行业从业人员自研开源扫描器合集
- fscan:一键自动化、全方位漏洞扫描的开源工具
- luna: Luna 是一款开源的自动化web漏洞扫描工具
- The toolbox of open source scanners - 安全行业从业者自研开源扫描器合辑
- 智能化扫描场景分析—精细化扫描SQL注入漏洞
- 漏洞扫描“全覆盖”法则 | 被动扫描如何在资产发现中发挥作用?
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
C++程序设计原理与实践
(美)Bjarne Stroustrup / 王刚 等 / 机械工业出版社 / 2010.7 / 108.00元
本书是经典程序设计思想与C++开发实践的完美结合,是C++之父回归校园后对C++编程原理和技巧的全新阐述。书中全面地介绍了程序设计基本原理,包括基本概念、设计和编程技术、语言特性以及标准库等,教你学会如何编写具有输入、输出、计算以及简单图形显示等功能的程序。此外,本书通过对C++思想和历史的讨论、对经典实例(如矩阵运算、文本处理、测试以及嵌入式系统程序设计)的展示,以及对C语言的简单描述,为你呈现......一起来看看 《C++程序设计原理与实践》 这本书的介绍吧!