☰
三个假AI安装包,同一个文件哈希:GitHub品牌冒充投毒链实测
2026/10/30 4:55:59 网站建设 项目流程

10月27日,GitHub新建仓库榜上齐刷刷冒出三个"AI工具官方下载"仓:Cursor-AI-Download(67★)、Claude-Desktop-Download(64★)、hexstrike-ai-pc(67★)。名字像官网,星数像热门,README写得比真官网还贴心。

它们全是假的。

这个专栏追了一路的投毒面——从skills市场的恶意技能,到Gheist往CI里种workflow——这一次又往外扩了一圈:攻击者连下载渠道本身都开始伪造。我把这三个仓拆开做了全链路静态解剖:不下载也不执行,不访问目标链接,照样把同一行动者的指纹和基础设施扒了出来。下面是全部数据。

一天11个:品牌冒充成了流水线

先交代怎么抓到它们的。10月27日当天GitHub全站新建的、名字里带download的仓库有460个,绝大多数是benign(正常的下载镜像、个人工具)。但按两个模式过滤,冒充集群立刻显形。

**模式一,组织名与仓库名同义复读(org==repo)。**新建组织,组织下唯一一个仓库,仓库名就是品牌名加Download。当天命中7个:Grok-Download、Codex-Desktop-Download、Meta-AI-Download、Claude-Desktop-Download、Google-Gemini-Download、Hexstrike-Ai-download,外加一个Cisco的Webex-s-Download——冒充面不止AI,凡是有下载需求的品牌都在名单上。

**模式二,-tools后缀的一次性组织。**crsr-tools、cld-tools、hex-tools、wbx-tools,组织名是品牌缩写,创建日期全部是10月27日,旗下仅一仓。其中wbx-tools/Cisco-Webex-Download星数为0,说明这条流水线还没给所有仓配刷量套餐。

还有一个10月23日建的ai-subscription-guide组织,下面躺着4个仓:chatgpt-download-、ChatGPT-download-Windows-Mac-、create-account-for-chatgpt、create-claude-account——从"下载"延伸到"代注册",链路做全套。

合计单日可确认的品牌冒充仓不少于11个,覆盖OpenAI、Anthropic、xAI、Google、Meta、Cisco六个品牌。

解剖:一个仓库的三层皮

挑crsr-tools/Cursor-AI-Download做主样本,逐层拆。

**第一层皮,README是SEO模板。**开头一张「📥 DOWNLOAD YOUR COPY」大横幅,紧接着是GitHub Pages链接crsr-tools.github.io/Cursor-AI-Download/,再往下是盗用的官方界面截图和一段写得相当漂亮的文案。文案不是复制粘贴的——Cursor版讲的是"编辑器不懂你"的痛点,Claude版换成"周五下午被legacy bug缠住"的场景。按品牌定制话术,批量模板做不到这个颗粒度,AI生成可以。

**第二层皮,Pages站点是一页俄语跳转。**那个Pages链接背后只有一个1249字节的index.html。内容是一个函数名数组,每个函数体逐字符混淆——\x68这类十六进制转义和String.fromCharCode混着用,人眼读不出任何完整字符串。解码后只做一件事:window.location.replace跳到https://vergen.click/s/crypto。

**第三层皮,终点域名已经死了。**对vergen.click做被动侦察(只查DNS记录和公开扫描档案,不发业务请求):解析到45.59.125.3,一台nginx现在只会302到beget.com/ru/404——Beget是俄罗斯托管商,这个404是它家"托管账号已关停"的标准页。urlscan.io的公开档案里这个域名零记录:新鲜注册,24小时内撤离。仓库10月27日建成,落地页10月28日已成停尸间。

归因:三个仓,同一双手

单个仓可以说是巧合,Git的对象模型不留这个借口。

三个仓的index.html,blob sha(Git按内容逐字节算出的对象哈希)完全相同:9b004132a999。三个不同组织、不同品牌、不同README的仓库,跳转页连一个比特都没改过。这不是互相抄作业,是同一条流水线出来的同一批货。

更有意思的是差异化的地方:两仓盗用的官方截图,blob sha不同。这条流水线知道哪些文件该换皮(截图按品牌换),哪些文件懒得换(跳转逻辑通用)——跳转域名是统一的收款码,换它才要成本。

辅助证据链:三个组织全部10月27日创建,每个组织仅此一仓,星数67/64/67咬得死紧。

星数从哪来:间接证据已经足够

一个自然成长的仓库,星数落在60~70这个窄带且三仓同日齐平的概率,我不打算用运气解释。stargazers接口抽样验证这条路我走到了一半:GitHub匿名接口限流每小时60次,当天配额在枚举冒充集群时打满,没拿到三仓的star用户列表。这是本次实测唯一没闭环的环节,如实交代。

但间接证据不缺。同日新建榜上还有一个DLSS-5-Swaper-New/.github仓:内容只有4KB的组织自述仓,创建3小时冲到327★——蹭的是gpu-unlock-ada两天+1700★带起来的硬件解锁情绪。刷量基础设施是现成的,换皮只要一天。三个假安装包仓的星数一致性,和这个3小时327★是同一套基础设施的不同皮肤。

对刷量仓来说,星数不是虚荣指标,是搜索排序的入场券:GitHub搜索结果默认按相关度排,star是相关度的最大权重之一。假官网要骗的,就是"搜Cursor下载然后点第一个结果"的那个人。

防御:给四种角色的清单

数据说完了,落到行动。

**普通用户一条:官方下载页只有一个来源,就是官网。**GitHub上的"XX-Download"仓,哪怕星数上千、README精美、截图和官网一样,也先问一句:官网为什么要把下载托管在一个上周才注册的组织名下?

**品牌方两条。**其一,把GitHub搜索当品牌监测渠道用:download in:name加品牌词,每天一次接口轮询,冒充仓的组织名和仓库名都直白得很,检出没有技术难度。其二,发现即报abuse。本次样本里vergen.click在24小时内死亡,说明托管商的处置通道是通的,整条链上最慢的环节一直是发现。

**平台方一条:blob sha聚类是现成的检测原语。**同一blob sha出现在多个当日新建的单仓组织里,这个信号不用任何机器学习,一条SQL就出名单。本次实测我用公开接口手工完成了这个聚类,平台侧做这个只会更容易。

**安全研究员一条:静态加被动侦察能走完全程。**本次没有执行任何恶意载荷,没有访问目标链接,接口元数据加DNS加公开扫描档案,足够完成归因。碰到可疑仓先别急着点,GitHub的trees接口能看到全部文件哈希,这是最低成本的同源性比对。

写在最后

这个专栏的实测线在往一个方向收敛:skills投毒审的是"装什么",Gheist审的是"跑什么",这一次审的是"从哪下载"。攻击者不需要攻破GitHub,他们只需要使用GitHub——搜索排序、Pages托管、star体系,每一样都是现成的攻击杠杆。

窗口的判断依据还是那条:发现的成本在降,11个仓一天就能被一个业余研究者手工枚举完;治理的动作在提速,域名24小时内死亡。但冒充集群的换皮速度已经缩到天级,谁先跑完这个循环,谁就赢。

数据核验说明

  • 侦察方式:GitHub REST API(匿名,搜索、repos、git/trees、git/blobs接口)、DNS解析、HTTP HEAD、urlscan.io公开档案;全程未下载未执行任何恶意载荷,未向vergen.click发起业务请求
  • 三仓身份:crsr-tools/Cursor-AI-Download(67★)、cld-tools/Claude-Desktop-Download(64★)、hex-tools/hexstrike-ai-pc(67★),创建时间均为2026年10月27日,各组织仅此一仓
  • 同源证据:三仓index.html的blob sha均为9b004132a999(前缀),文件大小1249字节;README盗用截图两仓blob sha不同
  • 集群枚举口径:10月27日全站download in:name新建460仓;org==repo模式命中7个,-tools模式命中4个;ai-subscription-guide组织4仓建于10月23日,计入集群不计入10月27日单日
  • vergen.click:A记录45.59.125.3,HEAD返回nginx302指向beget.com/ru/404(Beget托管账号关停页),urlscan.io零历史记录
  • stargazers抽样未完成:GitHub匿名限流每小时60次在集群枚举阶段耗尽;星数造假结论基于三仓同日67/64/67一致性,以及DLSS-5-Swaper-New/.github创建3小时327★的间接证据
  • 全部接口原始响应、解码脚本与侦察日志留档于ai-lab仓库

复现指引

配套脚本在ai-lab仓库的2026-10-28-fake-ai-installer目录:probe_fake.py一个文件走完全程——搜索冒充集群、枚举组织仓库、拉trees比对blob sha、解码index.html混淆、域名被动侦察。零token可跑,匿名限流内完成。


相关阅读

  • 我在自己的仓库里种了个毒 workflow:CI 供应链攻击实测

  • 2300 个插件没人把关:DSH 插件市场实测——供应链审计视角的入口篇

  • 腾讯 AI-Infra-Guard 实测——把供应链扫描做成平台工具的另一条路

  • day-trader-skill 实测——skill 形态的 fail-closed 设计参考

  • 博客导航文(全部实测文章索引)

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询