Part01
隐蔽的侦查行动
研究人员发现一项持续进行的攻击活动,攻击者利用 GitHub公共API和幽灵账户对企业软件环境进行画像,同时完美融入正常开发者活动之中。
GitHub始终是攻击者觊觎的目标,因其处于软件供应链核心位置,能提供威胁行为者最渴望的三样东西:源代码、密钥以及可肆意操纵的自动化流水线。
Datadog安全研究团队过去数月持续追踪GitHub API滥用行为,发现其呈现"持续性模式"。这些请求看似单独出现时"平淡无奇",但当它们跨环境持续数周运作,尤其是发展为完整克隆时,危险性便急剧上升。最大挑战在于这些行为与正常API使用模式高度相似。
Beauceron Security的David Shipley指出,由于多数开发生命周期存在安全隐患,GitHub已成为攻击者突破企业防线的金矿,威胁行为者通常瞄准API密钥和云环境密钥。
"随着AI Agent编程推动开发效率提升,密钥宝库的规模可能更加庞大。"他比喻道,"用模拟时代淘金热的名言来说——'群山之中藏着黄金'。"
安全合规公司DataBee的CTO Scott Miserendino对此表示认同:"GitHub是开源和企业项目最受欢迎的源代码仓库,其海量项目资源加上托管着众多流行软件,自然成为攻击目标。"他特别指出,未经授权克隆私有仓库等知识产权盗窃行为,可能被用于盗用专有软件或发掘可利用漏洞。
Part02
自动化侦查技术
Datadog高级安全工程师Julie Agnes Sparks在博客中披露:"这些活动并非单一行为体所为,而是融合了定制化自动扫描工具、凭据泄露的投机性滥用,以及经过协调的幽灵账户网络。"
Sparks解释道,GitHub大部分API接口无需认证即可访问——这是其设计特性。API请求通常返回标准HTTP 200响应,这意味着威胁行为者能构建包含组织架构、公共仓库、成员关系、关注列表、星标仓库及互动项目的完整图谱。此类流量与正常API使用无异,因此难以察觉。
值得注意的是,GitHub仅在与私有仓库交互时收集地理位置数据,记录用户身份及所用访问令牌,而对外部资源交互则不做记录,这限制了基于地理位置和VPN/代理的溯源能力。
攻击者通常使用定制化或看似合法的用户代理(User Agent),利用注册于2-5年前且长期休眠的GitHub"幽灵账户"实施自动化爬取。Sparks强调:"拥有多年历史的账户比新注册账户更具可信度。"研究发现,这些账户通常在1-3周内对多家企业发起"爆发式"扫描后便停止活动,已识别出超过50个幽灵账户,其命名呈现user432023、user412023或kobalt*等规律性特征。
部分攻击活动确实使用了真实GitHub账户——这些账户或因用户意外泄露OAuth令牌、个人访问令牌(PAT),或因终端设备遭入侵而暴露。攻击工具采用GitHub-Company-Scraper、GitHub-Scraper-Tool/1.0等名称伪装成正常数据分析流量,主要针对适合批量查询的graphql接口,同时使用常规REST端点进行组织架构测绘。
Part03
企业防护建议
Sparks指出,通过监控用户代理、令牌类型、自治系统编号(ASN)等关键字段可有效发现异常行为。"用户代理、事件活动和操作者名称是识别未授权行为的重要线索,"她建议企业审查GitHub审计日志中的异常用户代理行为,特别是涉及私有仓库的访问——此时平台会记录IP地址、操作者名称和程序化访问类型。
企业应启用GitHub审计日志流式传输,建立用户代理基线并开展主动威胁狩猎。Sparks特别强调:"关键在于掌握自身环境的正常行为特征。"Miserendino补充道,企业须遵循基础安全实践:为所有账户启用多因素认证(MFA)、定期审查用户访问权限、清理闲置账户,以及扫描仓库中明文存储的凭据。
参考来源:
GitHub’s public APIs are becoming an enterprise reconnaissance tool
https://www.csoonline.com/article/4194665/githubs-public-apis-are-becoming-an-enterprise-reconnaissance-tool-2.html