未修补的Travis CI API错误暴露了数千个机密用户访问令牌

Travis CI API中未修补的安全问题使数万名开发人员的用户令牌面临潜在的攻击,有效地允许威胁参与者破坏云基础设施,进行未经授权的代码更改,并发起供应链攻击。
云安全公司Aqua的研究人员在周一的一份报告中表示:“有超过7.7亿的免费用户日志可用,您可以从中轻松提取与GitHub、AWS和Docker Hub等流行云服务提供商相关的令牌、机密和其他凭据。”。
Travis CI是一种持续集成服务,用于构建和测试托管在GitHub和Bitbucket等云存储库平台上的软件项目。
该问题之前曾在2015年和2019年报告过,其网络安全攻击根源在于API允许以明文格式访问历史日志,使得恶意方甚至可以“获取以前无法通过API获取的日志”
这些日志可以追溯到2013年1月,一直到2022年5月,从日志号4280000到774807924不等,用于通过API检索唯一的明文日志。
此外,对20000个日志的进一步分析显示,多达73000个令牌、访问密钥和其他与各种云服务(如GitHub、AWS和Docker Hub)相关的凭据。

尽管Travis CI试图对API进行分级限制,并通过在构建日志中显示字符串“[安全]”,自动过滤出安全环境变量和令牌,但情况仍然如此。
关键的见解之一是,虽然“github\u令牌”被混淆了,但该令牌的20个其他变体遵循了不同的命名约定—;包括github\u secret、gh\u token、github\u api\u key和github\u secret&\8212;没有被Travis CI掩盖。
研究人员说:“Travis CI减慢了API调用的速度,这阻碍了查询API的能力。”。“然而,在这种情况下,这是不够的。一个熟练的威胁参与者可以找到一个绕过此问题的解决方法。”
“然而,通过API访问日志的方便性、不完全的审查、访问‘受限’日志以及限制和阻止访问API的薄弱流程,再加上大量可能暴露的日志,导致了严重的情况。”
Travis CI在回应调查结果时表示,这个问题是“设计造成的”,用户必须遵循最佳实践,以避免在构建日志中泄漏机密,并定期轮换令牌和机密。
在2022年4月的一次攻击活动之后,这一发现尤其重要,该攻击活动利用了向Heroku和Travis CI发行的被盗OAuth用户令牌来升级对NPM基础设施的访问并克隆选定的私有存储库。