过去开发人员在代码中不慎泄露企业组织开发环境或内部系统的凭证、令牌(Token)以及账户密码的情况,安全公司通常在GitHub、GitLab和Bitbucket等代码仓库中发现此类问题。然而,提供代码格式化服务的平台也出现了类似情况。
安全公司watchTowr指出,他们在在线代码格式化与美化平台JSON Formatter和CodeBeautify上发现,近期共享代码片段(Recent Links)的临时存储内容中暴露了大量敏感信息,且这些内容可被任何人随意访问。受影响的行业涵盖关键基础设施、政府机构、金融保险与银行、科技、安全、零售、航天、电信、医疗健康、教育以及旅游等领域。值得注意的是,watchTowr发现已有攻击者专门爬取这些内容,挖掘并滥用其中的凭证与令牌。
JSON Formatter和CodeBeautify是开发辅助工具,主要功能是将代码重新格式化为更易读的结构,同时支持语法错误检查、代码压缩及不同格式之间的转换。
这类平台提供的临时存储服务会将用户输入的内容保存在云端,以便分享给他人。然而,watchTowr发现,这种存档机制不仅采用简单常见的URL格式,容易被猜测,还通过“近期共享代码片段”页面公开展示用户上传的内容。这意味着,当用户点击保存按钮时,其格式化的代码内容实际上已被公开。若其中包含敏感信息,也将随之泄露。
watchTowr通过爬虫挖掘了JSON Formatter近五年存储的数据,以及CodeBeautify最近一年的存档,共提取超过8万条JSON代码片段,其中包含:AD凭证、代码仓库身份验证密钥、数据库凭证、LDAP配置信息、FTP凭证、CI/CD流水线凭证、敏感API的完整请求与响应、支付网关凭证、实时流协议(RTSP)凭证、客服系统API密钥、在线会议API密钥,以及多种个人身份信息(PII)等。
watchTowr还提及部分已识别的受害组织,其中唯一明确提及的是美国安全研究机构MITRE,他们发现了一个经过加密处理的Jenkins凭证,可访问该机构供合作伙伴使用的MITRE CoDev系统。
另一个值得关注的案例是一家安全公司,其将大量加密凭证存放在极为敏感的配置文件中,内容包括SSL证书、私钥、密码、服务主体名称(SPN)与密钥表文件、内外网主机名与IP地址、各类内部密码,以及存放密钥、证书和配置文件的路径。
值得注意的是,已有攻击者尝试从上述两大平台提取敏感数据。watchTowr使用Canarytokens生成看似有效的AWS密钥,上传至JSON Formatter和CodeBeautify并设置24小时共享,结果发现两天后仍有人尝试使用这些伪造密钥。
尽管watchTowr未说明实际泄露数据的具体数量,但Shadowserver基金会指出,可能有10,449条数据外泄。