GitLab发布敏感数据搜索工具Token-Hunter,是自家红队(Red Team)所开发的安全工具,让用户搜索不小心在公开论坛泄漏的敏感信息,这些敏感信息可能是跟随日志或是程序代码片段,一起流出的API令牌、用户账号以及密码等信息。

由于GitLab想调查那些用户无意共享,但是意外泄露的敏感信息,会被以什么样的方式用在攻击行动上,但是因为苦无可用的工具,于是GitLab的红队便自己打造了Token-Hunter。红队指得是组织为了要以敌对视角,改善自家服务或是安全性所成立的团队,红队通常能够有效地帮助组织克服偏见并增加解决问题的能力。
不少互联网服务的企业,都以多种形式提供用于身份验证的API令牌,让用户与其系统交互,这些令牌为封闭系统提供可配置的访问控制,无论是开发、DevOps或是基础设施相关人员,都依赖API令牌来完成工作。
而API令牌却可能在不经意下泄漏,像是在共享环境中构建软件,开发者常犯的错误便是提交API令牌到程序代码存储库中,目前已经有常见的工具,诸如gitrob、TruffleHog、gitleaks,甚至是GitLab自家对的SAST项目,都可用来寻找这类在程序代码中,无意泄露的敏感信息。
还有另一种可能泄漏敏感信息的渠道,便是在公共论坛例如GitLab Snippets、Issues与相关讨论区,开发者在讨论过程因共享日志或配置文件,不小心泄漏API令牌、账号与密码等敏感数据,而更糟的情况,是这些信息可能被恶意使用。
Token-Hunter的目的便是要来解决这样的问题,Token-Hunter会搜索GitLab Issues与相关的讨论来寻找敏感数据,由于GitLab Issues与评论是开发者共享消息与解决问题的重要方法之一,开发者时常会发布日志数据、配置文件或是复制粘贴程序代码,以便与GitLab员工或是客户讨论,而这些数据有可能包含敏感数据。
Token-Hunter也会搜索GitLab Snippets寻找敏感数据,在GitLab Snippets中可以通过URL共享程序代码片段与文本,方便在GitLab用户间直接分享程序代码,而这个功能最常被用来分享配置数据、JavaScript程序代码、任何语言的范例程序代码以及日志数据,而这些数据都可能包含敏感信息。
另外,Token-Hunter接受HTTP代理服务器参数,和自签章凭证以解密TLS流量,GitLab红队用这个功能为自家安全运营团队记录流量模式样本,帮助制定防御政策。而且通过检查工具产生的流量,也可以方便地用于应用程序调试。
官方提到,Token-Hunter与其他工具相比,主要的优点是能够搜索可能共享敏感数据的讨论区和常见频道。GitLab仍持续改进这项工具,未来将调整输出格式,使结果更容易使用,并加入即时搜索报告功能,让即便是需要较长时间的搜索工作,用户也能更快地看到结果。