导语:一款免费开源的工具“TruffleHog”,可以帮助开发人员检测他们在GitHub上发布的项目是否已经不小心泄漏了任何秘密密钥。
一款免费开源的工具“TruffleHog”,可以帮助开发人员检测他们在GitHub上发布的项目是否已经不小心泄漏了任何秘密密钥。
“TruffleHog”是研究人员Dylan Ayrey发布的一个用来搜索存储库的Python工具,可以帮助管理员深入研究GitHub Commits(提交),找到高熵密钥,从而避免管理员暴露他们的敏感数据。
TruffleHog的工作原理
Ayrey表示,“TruffleHog”通过GitHub存储库搜索高熵(high-entropy)字符串,深入挖掘提交历史(Commit History)和分支(Branch)。他解释称,这款工具将定位任何超过20个字符串的高熵密钥。
该工具可以搜索分支的整个提交历史,检查Commit中的每个diff,评估base64字符集的Shannon
Entropy。此外,还对blob进行评估(每个大文本超过20个字符,且每个Diff中包含这些字符集)的Shannon Entropy。这款工具能有效找到不小心提交的高熵密钥。如果检测到高熵字符串超过20个,将打印到屏幕上。
Reddit用户在讨论TruffleHog时指出,机器人经常通过扫描GitHub寻找AWS密钥,而这类活动经常会导致大量资产损失。据悉,目前Amazon已经在搜索GitHub AWS密钥,并会在发现密钥时暂时关闭相应服务。
该工具的开发者Dylan Ayrey曾因去年的“粘贴劫持(Pastejack)”而出名,他提供了演示视频,展示了攻击者运行恶意代码、清除控制台并附加用户复制的代码的全过程。这种攻击可以使用CSS附加恶意内容至剪贴板,而不必通知用户,最终诱骗他们执行不需要的终端命令。
目前“TruffleHog”在GitHub中的星数已经超过了700,成为Ayrey继“Pastejack”之后第二个受欢迎的项目。
安全专家经常警告开发人员,在GitHub上发布项目存在泄漏敏感数据的风险。2013年1月,GitHub推出新的内部搜索功能,可以轻松查找密码、加密密钥和其它数据。当时,用户在GitHub上发现了几千个这样的隐私数据。
最近,专家警告Slack Bot的开发人员,他们在GitHub上发布Slack访问令牌,但却不知不觉地泄漏了敏感数据,包括商业关键信息。