GitHub 安全团队到底在做什么?

Lobsters Hottest 新闻

摘要

文章揭示数千个GitHub仓库分发恶意软件,并批评GitHub安全团队两年未能解决问题,同时提供查找这些仓库的搜索方法。

<p><a href="https://lobste.rs/s/jnhyrh/what_does_github_s_security_team_even_do">评论</a></p>
查看原文
查看缓存全文

缓存时间: 2026/07/27 07:44

# GitHub 的安全团队到底在做什么? 来源:https://orchidfiles.com/github-security-team/ 目前,GitHub 上有数千个仓库正在分发恶意软件。你们任何人都能找到这些仓库,而且不需要任何专业知识。你只需要使用 GitHub 网站上的标准搜索功能即可。 这些仓库已经存在两年了。GitHub 拥有数十亿美元、一个安全团队和人工智能。为什么他们两年都没能解决这个问题? --- 首先,我们要看看已经找到的仓库,找出它们中的共同模式,然后利用这些模式去寻找其他仓库。 看看这些仓库,每个仓库的 readme 中都包含一个指向包含木马的 zip 压缩包的链接: - https://github.com/lukasriedinger1501-alt/datahub?ref=orchidfiles.com - https://github.com/lyndondefunct151/superman-splunk?ref=orchidfiles.com - https://github.com/m4kskool/serverless-dns?ref=orchidfiles.com - https://github.com/manani111/PaCoRe?ref=orchidfiles.com 包含木马的 zip 压缩包下载链接 如果我们下载这个 zip 压缩包,并将其中的单个文件提交到 VirusTotal,会看到以下结果: 在 VirusTotal 上扫描 zip 压缩包中的文件 即使快速浏览这些仓库,也能发现它们结构相同,标题几乎一样,而且每个标题都包含一个 emoji。这些信息足以让我们找到其他仓库。 我们用标题 "📥 Download" 在 GitHub 上搜索这个字符串。但我们不是搜索整个代码库——只搜索 readme 文件。打开 github.com,在顶部的搜索栏中输入以下内容: **path:readme.md "\#\# 📥 Download"** 结果数量总是在变化。一开始显示有 9k 个仓库,但当我翻到第二页时,只有 109 个仓库。刷新页面后,又回到了 9k 个仓库。 在搜索结果中,你需要手动过滤掉那些标题之外还包含其他文本的结果。标题的变体大概会是这样: - \#\# 📥 Download Now - \#\# 📥 Download Now Again - \#\# 📥 Download the Software - \#\# 📥 Download & Install 第一次搜索结果 打开这些仓库。它们会有一个指向包含木马的 zip 压缩包的链接。 然而,搜索结果中会包含很多合法仓库。我们可以通过添加对 zip 压缩包的搜索来改进搜索。搜索字符串如下: **path:readme.md "\#\# 📥 Download" "\.zip"** 这将显著改善搜索结果。现在,直接在搜索结果中就能看到哪些仓库包含我们需要的标题和一个 zip 压缩包链接。 第二次搜索结果 但这些结果中仍然包含合法仓库。我们还能怎样优化搜索查询呢? 所有指向 zip 压缩包的链接都指向 githubusercontent.com 或 github.com。此外,zip 压缩包包含一个版本号,例如 "Software-3.6.zip"。因此我们只需编写一个正则表达式来搜索这类链接。但正如我一开始所说,这不需要任何专业知识。任何免费的 AI 模型都能搞定。我们把 10 个这样的链接喂给它,经过几次迭代,就得到了这个结果: **path:README.md /raw\\\.githubusercontent\\\.com\\/\.\*\\d\+\\\.\\d\+\\\.zip\|github\\\.com\\/\.\*\\/raw\\/refs\\/heads\\/\.\*\\d\+\\\.\\d\+\\\.zip/** 输入这个查询,你就会得到正在分发含有木马的 zip 压缩包的仓库。仓库数量不固定。就我而言,有时是 111 个,有时是 4.4k 个。 第三次搜索结果 --- 但整个搜索之所以能成功,只是因为我们有一个初始仓库列表,从中我们能够推导出一个通用的搜索模式。 也许 GitHub 的安全团队没有这些仓库?也许他们不知道这个通用模式? 一个月前,我发表了一篇文章(https://orchidfiles.com/github-repositories-distributing-malware/),详细分析了这个方案。我写了一个脚本,找到了 10,000 个这样的仓库。我在 GitHub 上发布了所有仓库的列表以及这个脚本。 这篇文章登上了 Hacker News(https://news.ycombinator.com/item?id=48583928&ref=orchidfiles.com)的首页。其他网络安全网站也报道了这个方案。 以下是 GitHub 采取的全部行动列表: 1. 他们删除了脚本找到的所有 10k 个仓库。 就这样。他们没有再做其他任何事。 更有甚者,几小时后我再次运行脚本;它找到了新的仓库,我把这些仓库添加到了文章中。这些仓库整整一个月都没有被屏蔽。尽管他们只需再次打开我的文章,抓取新的链接,然后屏蔽这些仓库。但这对他们来说似乎太难了。 不过我们可以得出一个结论:他们非常清楚这个恶意软件分发方案。 无论我怎么努力,都找不到为什么会发生这种情况的答案。微软是一家拥有数十亿美元收入的企业。他们拥有数千名员工、无限的资源和人工智能。他们只需要花几天时间让任何一个普通员工用 Copilot 找出所有这些仓库并屏蔽它们即可。 我从未在大公司工作过。我也无法想象 GitHub 内部的具体决策过程,或者经理们要经历怎样的官僚噩梦才能开始打击恶意仓库。 但他们在第一篇文章发表后仅仅几小时就删除了所有 10k 个仓库。 为什么他们停了下来,不再采取进一步行动? ← 上一篇:按小时计费与按项目计费的问题(https://orchidfiles.com/hourly-pay/) ### 订阅 RSS(https://orchidfiles.com/rss/)· Telegram(https://t.me/orchidfiles)

相似文章

我发现有1万个GitHub仓库在传播特洛伊木马

Hacker News Top

一位安全研究人员发现超过1万个GitHub仓库通过复制合法仓库并定期更新readme文件附带恶意zip压缩包来传播特洛伊木马。该研究人员开发了一种检测模式,并分享了该恶意软件如何逃避检测的细节。

GitHub 与软件之罪

Lobsters Hottest

本文批评 GitHub 频繁宕机、可靠性差,并且优先发展AI功能而非基础架构,认为这反映了大型科技软件服务的普遍衰退。