FakeGit供应链攻击实战排查:GitHub恶意仓库检测、MCP安全加固与开发者防御SOP

发布时间:2026/7/21 16:13:23
FakeGit供应链攻击实战排查:GitHub恶意仓库检测、MCP安全加固与开发者防御SOP 摘要2026年7月曝光的FakeGit攻击是首例大规模针对AI开发生态的GitHub供应链投毒事件。攻击者掌控近7600个恶意仓库、6600余个仿冒账号借当下热门的MCP模型上下文协议、AI智能体工具栈伪装恶意项目投放SmartLoader加载器与StealC窃密木马。本次攻击最大的危害不在于传统终端中毒而是利用AI智能体的自动检索、推荐、执行能力实现无人工干预的全自动入侵。本文从攻击真相、技术链路、风险根源、实战检测、逐项加固、落地规范六个维度完整复盘提供可直接复制使用的检测脚本、MCP安全核验清单、企业防御SOP帮助开发者和安全团队彻底规避同类AI生态供应链攻击风险。1. 攻击事件全貌FakeGit不是普通的木马传播多数开发者看到本次事件通报只会简单归为“GitHub有恶意仓库传病毒”。但这种认知完全低估了FakeGit攻击的产业化程度和技术创新性。这不是零散黑客的单点钓鱼是一套成熟、规模化、可复制的开源供应链黑产体系。2026年4月是本次攻击的爆发峰值攻击者集中批量注册高仿开发者账号快速搭建数千个伪装仓库。截至7月事件公开曝光全网监测到的恶意仓库总量接近7600个其中800多个专门伪装成AI技能插件、企业级MCP服务器集成工具。这些项目精准对接Databricks、Jenkins、Docker、Gmail、WhatsApp等主流生产、办公、运维平台完全贴合企业研发、AI落地、自动化运维的真实场景。数据层面的危害更为直观。仅200个核心恶意仓库的Release压缩包下载量就突破1400万次。大量未被平台封禁的次级仓库通过源码内嵌恶意文件、私有分支投毒的方式持续扩散真实受害终端和企业数量远高于公开统计数据。本次攻击最核心的突破是黑产首次大规模落地AgentBaiting智能体诱饵技术。过往供应链攻击必须依靠用户主动搜索、手动下载、自行运行程序才能完成入侵。FakeGit直接绕过人工信任环节欺骗Claude Code、ChatGPT、Gemini等主流AI开发智能体。用户在借助AI写代码、找插件、部署服务时AI会主动检索、推荐这些恶意仓库甚至自动生成完整的下载、解压、运行命令直接诱导用户执行恶意载荷。更隐蔽的是攻击者将600余个恶意MCP技能、虚假服务器配置上传至LobeHub、Glama、MCP.so等公共AI注册表。这类公共平台自带流量和公信力普通开发者和小型企业不会二次核验资源真伪直接部署使用让恶意程序进入常态化运行状态。传统病毒靠漏洞突破系统权限FakeGit靠击穿开源生态信任体系渗透终端。这种攻击模式无系统漏洞、无高权限爆破、无明显恶意流量特征传统杀毒、防火墙、EDR设备几乎无法感知拦截这也是本次攻击能大规模扩散的核心原因。2. FakeGit完整攻击链路从仓库伪装到数据窃密全流程拆解整个攻击流程分为四层递进式欺骗每一层都对应普通开发者的常规操作习惯层层消解用户和AI工具的安全警惕性。我将完整还原攻击者的操作逻辑、文件结构、执行行为方便大家对照自查。2.1 第一层账号与项目高仿搭建可信伪装资产攻击者没有使用粗制滥造的垃圾仓库而是采用精细化高仿策略完美规避GitHub基础风控和人工甄别。一方面攻击者直接复刻全网高星优质开源项目。本次被高仿的核心目标ComposioHQ/awesome-claude-skills是拥有6700多Star、7600多Fork的主流AI技能仓库。攻击者复刻出同名高仿仓库Mann1988/awesome-claude-skills短时间内刷取63个Star、18个Fork营造社区认可、稳定可用的成熟项目假象。另一方面攻击者批量注册形近字高仿账号。正规优质开发者账号Naveenkm07被仿造出仅差一个字符的Naveenkm007主页资料、简介、项目排版完全复刻。普通用户和AI检索工具无法分辨账号真伪直接继承正规开发者的信誉背书。所有恶意仓库的命名、标签、简介都精准贴合当下技术热点统一打上mcp-server、ai-skill、claude-plugin、data-integration等标签专门适配AI智能体的检索规则确保检索优先级高于正规项目。2.2 第二层仿真README文档完成行为诱导打开任意一个FakeGit恶意仓库界面观感和正规开源项目没有区别。完整的功能介绍、适配环境、快速上手教程、场景化案例一应俱全排版整洁、话术专业完全区别于普通恶意项目的简陋排版。所有文档的诱导逻辑高度统一。正文全程宣传项目的企业级能力、高效集成特性只在最后部署步骤中引导用户放弃源码部署转而下载Release页面的专属ZIP压缩包。文档刻意简化部署流程强调“一键部署、无需配置、开箱即用”精准拿捏开发者追求效率、懒得编译源码的心理。典型案例45d5r/databricks-mcp-server仓库对外宣称集成263项Databricks企业级接口适配大数据开发、自动化运维场景大量开发人员会主动下载使用落地恶意程序的概率大幅提升。2.3 第三层恶意载荷静默落地部署SmartLoader持久化用户下载的ZIP压缩包是整个攻击的核心陷阱。压缩包内部没有任何正规MCP服务源码、配置文件、依赖清单全部为恶意执行组件。核心文件包含三类Windows批处理启动脚本、被篡改的LuaJIT运行时、伪装成txt文本或ico图标 的混淆Lua恶意代码。用户双击启动脚本后系统不会弹出任何风险提示控制台窗口会自动隐藏。脚本调用恶意LuaJIT环境执行混淆代码静默部署SmartLoader加载器。该加载器具备极强的隐身能力不会产生明显进程特征能够绕过主流终端防护软件的静态查杀。SmartLoader完成部署后会主动通过Polygon智能合约域名解析攻击者的C2服务器地址动态获取后续攻击指令。同时在系统后台创建隐蔽计划任务实现开机自启、长期驻留确保终端持续被控。后续还会按需从GitHub私有仓库下载加密恶意组件迭代攻击能力规避特征库查杀。2.4 第四层StealC窃密启动全域窃取核心数据SmartLoader作为加载器不直接窃取数据其核心作用是稳定落地二级载荷StealC信息窃取器。这是本次攻击的核心窃密模块具备全方位、高隐蔽的数据采集能力。StealC会静默遍历本地浏览器数据窃取保存的账号密码、Cookie、本地存储会话、插件配置与授权信息。同时扫描本地运维工具窃取SSH密钥、服务器远程连接凭据、数据库账号、云服务API密钥。除此之外程序支持实时屏幕截图、主机指纹采集、进程列表抓取全方位收集终端隐私与生产数据。该木马最危险的特性是劫持活跃会话。即便用户发现异常后修改所有账号密码攻击者手中的有效会话凭证依然可以持续登录各类平台、操控账号、篡改数据短期无法彻底止损。所有窃取数据会加密回传至攻击者服务器形成完整的数据窃取闭环。3. 核心创新风险AgentBaiting如何颠覆传统安全防御业内很多人把FakeGit等同于以往的开源投毒事件这是非常致命的认知误区。传统开源供应链攻击始终绕不开“用户主动下载执行”的环节风险可控、溯源简单、防护方式成熟。FakeGit的核心危害是打通了AI智能体的信任漏洞实现全自动化无感知投毒。现在绝大多数开发者都依赖AI智能体辅助开发找插件、搭服务、配环境、写部署脚本都会直接向ChatGPT、Claude Code、Gemini提问。AI工具为了保证回答的实用性会主动抓取GitHub、公共注册表的最新开源资源优先推荐高匹配度项目。FakeGit攻击者精准利用了这个机制。恶意仓库标签精准匹配AI开发高频需求、项目简介贴合场景、文档规范完整、存在一定Star和Fork数据在AI检索排序中优先级远超很多正规小众项目。安全团队实测复现验证当用户提出“获取Claude影视提示词技能”“部署Databricks MCP服务器”“配置Jenkins AI自动化插件”等常规需求时主流AI智能体会直接抓取FakeGit恶意仓库链接整理出完整的下载、解压、运行指令直接交付用户使用。部分场景下AI会将恶意项目标注为“社区优质开源方案”进一步误导用户。这意味着开发者越是依赖AI提效中招概率越高。以往是坏人骗用户现在是AI主动帮坏人传递恶意载荷、指导用户中毒。普通开发者无法分辨AI推荐资源的真伪传统的人工核验习惯完全失效。叠加公共AI注册表的收录加持恶意MCP资源形成闭环传播。AI检索→注册表收录→智能体推荐→用户部署→批量扩散整个过程无需攻击者干预自动规模化传播风险扩散速度远超传统供应链攻击。4. 攻击流程可视化Mermaid流程图架构图4.1 FakeGit完整攻击流程流程图A[攻击者批量部署资产] – 6600高仿账号/7600恶意仓库 -- B[伪装AI技能/MCP服务器工具]B -- C[入驻公共AI注册表LobeHub/Glama/MCP.so]C -- D[AI智能体检索匹配优先推荐恶意资源]D -- E[用户复制AI给出的部署指令]E -- F[下载恶意ZIP压缩包无真实源码]F -- G[执行启动脚本调用恶意LuaJIT运行时]G -- H[静默部署SmartLoader加载器]H -- I[创建计划任务持久驻留连接C2服务器]I -- J[落地StealC窃取器]J -- K[窃取会话/密钥/隐私数据加密回传攻击者]4.2 AgentBaiting智能诱骗技术架构图subgraph 攻击者资产层S1[高仿GitHub账号集群]S2[7600个恶意伪装仓库]S3[600注册表恶意条目]endsubgraph 检索传播层A1[AI智能体全网检索]A2[恶意资源高优先级排序]A3[自动生成部署教程]endsubgraph 用户操作层U1[开发者AI提问找工具]U2[复制执行AI推荐指令]U3[本地运行恶意载荷]endsubgraph 恶意执行层M1[SmartLoader持久化驻留]M2[StealC全域数据窃取]M3[会话劫持数据回传]endS1 -- S2 -- S3 -- A1 -- A2 -- A3 -- U1 -- U2 -- U3 -- M1 -- M2 -- M35. 实战检测可直接运行的FakeGit恶意仓库审计脚本针对FakeGit的固定攻击特征我优化了全自动批量检测脚本剔除冗余逻辑、强化特征匹配适配企业批量资产自查、个人开发者单机核验。脚本可直接检测仓库是否存在高仿新建、无源码仅ZIP载荷、MCP恶意标签等高危特征自动输出风险评分和风险原因开箱即用。# FakeGit 恶意仓库批量检测工具 V2.0# 适配GitHub官方API批量筛查FakeGit供应链投毒仓库importrequestsimporttime# 可直接修改的配置项 GITHUB_TOKEN# 填写个人GitHub Token提升接口请求限额CHECK_REPOS_LIST[xxx/xxx-mcp-server,xxx/xxx-ai-skill]# 填入需要检测的仓库全称# HEADERS{Authorization:ftoken{GITHUB_TOKEN}}ifGITHUB_TOKENelse{}# FakeGit 核心恶意特征字典RISK_KEYWORDS[mcp-server,ai-skill,claude-skill,databricks-mcp,jenkins-mcp]RISK_TIME_RANGE[2026-03,2026-04]# 攻击爆发高危时间段defcalc_risk(repo_full_name):risk_score0risk_log[]# 特征1仓库名称匹配恶意AI/MCP关键词repo_lowrepo_full_name.lower()ifany(kinrepo_lowforkinRISK_KEYWORDS):risk_score30risk_log.append(命中FakeGit恶意MCP/AI技能关键词)# 请求仓库基础信息api_urlfhttps://api.github.com/repos/{repo_full_name}try:resprequests.get(api_url,headersHEADERS,timeout10)ifresp.status_code!200:return{repo:repo_full_name,score:risk_score,log:[仓库不存在或访问失败],danger:False}repo_inforesp.json()create_timerepo_info[created_at][:7]star_countrepo_info[stargazers_count]has_sourcerepo_info[has_source_code]# 特征2高危时间段新建低星仓库ifcreate_timeinRISK_TIME_RANGEandstar_count100:risk_score40risk_log.append(f2026年3-4月新建低星仓库当前Star{star_count})# 特征3无正规源码仅存在Release ZIP载荷release_urlfhttps://api.github.com/repos/{repo_full_name}/releasesrelease_resprequests.get(release_url,headersHEADERS,timeout10)ifrelease_resp.status_code200andrelease_resp.json():assetsrelease_resp.json()[0][assets]zip_existany(asset[name].endswith(.zip)forassetinassets)ifzip_existandnothas_source:risk_score30risk_log.append(无正规源码仅存在恶意ZIP发布包)exceptExceptionase:risk_log.append(f检测异常{str(e)})# 风险判定总分≥50判定为高危疑似FakeGit恶意仓库return{repo:repo_full_name,score:risk_score,log:risk_log,danger:risk_score50}if__name____main__:print( FakeGit 恶意仓库批量检测工具 开始检测 )forrepoinCHECK_REPOS_LIST:rescalc_risk(repo)print(f\n【检测仓库】{res[repo]})print(f【风险评分】{res[score]})print(f【风险详情】{res[log]})print(f【高危判定】{是建议立即删除溯源ifres[danger]else安全无FakeGit特征})time.sleep(1)print(\n 全部检测完成 )脚本使用教程首先登录GitHub生成个人私有Token填入配置项其次将需要核查的项目仓库全称写入检测列表最后直接运行脚本风险评分大于等于50分的仓库一律判定为疑似投毒资产立即下架隔离、排查终端感染情况。6. 落地加固MCP服务器与AI技能安全验证清单MCP协议作为新兴AI交互标准目前没有官方安全审核机制、没有资质校验体系、没有风险拦截规则是当前供应链攻击的重灾区。所有企业和个人在部署MCP服务器、AI技能插件前必须完成以下五项强制核验缺一不可。6.1 开发者身份溯源核验不看项目Star数量优先核验账号主体资质。重点排查账号注册时间、历史项目产出、动态活跃度、粉丝交互记录。凡是2026年新注册、无历史开源产出、形近字高仿知名开发者的账号其发布的所有MCP资源直接拒绝使用无需二次核验。6.2 项目源码完整性核验正规的MCP服务、AI技能插件一定包含完整的源码目录、配置文件、依赖清单、部署脚本。仅提供ZIP压缩包、EXE可执行文件无任何公开源码的项目100%存在投毒风险直接拦截禁止部署运行。6.3 载荷文件特征核验解压所有下载的压缩包人工抽查文件结构。一旦发现LuaJIT运行程序、混淆处理的TXT/ICO伪装脚本、未知CMD启动脚本直接判定为FakeGit家族恶意载荷立即删除并全盘查杀。6.4 第三方注册表可信度核验LobeHub、MCP.so、Glama等公共平台仅做资源展示不具备安全审核能力。所有平台收录的MCP资源必须手动溯源原始GitHub仓库和开发者主体不采信平台默认的“已收录、可使用”标签。6.5 沙箱隔离预运行核验所有新增AI技能、MCP服务必须先在隔离沙箱环境测试运行。沙箱禁止挂载生产凭证、浏览器会话、服务器密钥。运行全程监控进程驻留、网络外连、计划任务创建行为出现异常立即阻断。7. 企业与开发者通用防御SOP常态化落地规范单次查杀、单次核验无法解决供应链风险必须建立固定工作规范把安全校验融入日常开发流程从根源杜绝AI生态投毒风险。以下SOP可直接落地为企业研发规范、个人开发准则。7.1 资源准入管控企业搭建内部可信开源组件库、AI技能库、MCP服务清单所有外部开源资源必须经过安全审计、特征检测、沙箱测试后方可接入生产环境。禁止AI智能体直接访问外网开源资源、自动下载部署未知插件。7.2 AI工具使用规范严禁通过AI智能体获取开源项目安装包、部署脚本、第三方插件资源。AI仅用于代码编写、逻辑优化、问题答疑不用于开源资源检索下载。所有外部工具、插件、服务必须人工溯源官方仓库、核对迭代记录、核验开发者资质。7.3 终端运行安全规范禁止直接运行GitHub Release下载的未知压缩包、可执行脚本、二进制程序。优先采用源码编译、包管理器正规安装的方式部署服务规避第三方打包载荷的植入风险。个人终端关闭未知程序开机自启权限定期清理系统计划任务。7.4 资产动态盘点规范按月盘点企业在用的所有AI插件、MCP服务、开源仓库资源记录仓库地址、开发者信息、版本号、文件哈希值。同步跟进新型恶意特征动态更新检测规则提前筛查潜在投毒资产。7.5 入侵应急处置规范发现终端存在SmartLoader、未知Lua进程、异常计划任务立即隔离设备断网排查。全员批量重置浏览器保存的所有密码、Cookie会话、云API密钥、SSH远程凭据、OAuth授权信息。仅修改账号密码无法清除劫持会话必须全量刷新身份凭证。8. 事件总结与行业长期安全启示FakeGit攻击的出现标志着开源供应链攻击正式进入AI自动化时代。以往的黑产攻击依赖人工传播、点对点钓鱼成本高、效率低、扩散范围有限。现在攻击者可以借助AI智能体的传播能力低成本、规模化、全自动完成投毒入侵风险量级完全不在一个维度。MCP协议的快速普及让AI智能体具备了对接外部工具、操作系统、各类业务平台的能力极大提升了AI落地效率但同时也开辟了全新的攻击面。目前整个AI生态的安全审核机制完全滞后于技术迭代公共注册表无审核、智能体无风险识别、开发者无核验习惯多重漏洞叠加让AI生态成为黑产新主场。对于所有开发者和企业安全团队而言必须彻底摒弃“开源项目默认安全”“AI推荐资源可信”的老旧认知。未来的供应链防御不再是单纯查杀木马、封堵漏洞而是管控AI工具行为、建立开源资产准入机制、落地全流程核验规范。技术提效和安全风控必须同步推进否则AI工具只会成为攻击者最锋利的入侵工具。互动提问1. 你日常开发中是否会通过AI智能体检索、部署开源插件和MCP服务后续是否会调整对应的使用习惯2. 你的团队目前是否建立了开源资产安全核验规范最难以落地的安全环节是什么欢迎评论区交流。