最近几天,不少开发者和开源项目维护者都发现了一件怪事:自己托管在 GitHub 上的仓库,Issues 区域突然被大量垃圾广告刷屏。
这些广告内容高度相似,大多涉及虚拟货币、灰色产业、刷单博彩等黑产推广,数量从几十条到上千条不等,直接淹没了正常的技术讨论和用户反馈。这不是个别项目的偶然遭遇,而是一次有组织、自动化、针对 GitHub Issues 功能的“爆破式攻击”。


发生了什么?
从 2025 年底至今(2026 年 3 月),大量 GitHub 仓库的 Issues 板块出现批量发布的垃圾信息。攻击者利用脚本或自动化工具,批量向不同仓库提交 Issue,内容几乎都是黑产广告,包括:
· 虚假的加密货币“空投”或“搬砖套利”教程
· 刷单、跑分、支付洗钱等黑灰产推广
· 色情、赌博网站引流
· 假冒的“技术支持”或“漏洞悬赏”
受影响的不再仅仅是个人小项目,甚至一些知名开源框架、企业级中间件的 Issues 也未能幸免。
为什么 GitHub Issues 会成为目标?
GitHub Issues 原本是为了项目协作、反馈 Bug、需求讨论而设计。它的设计特点,恰好被黑产利用:
- 门槛低:任何人都可以无需审核地提交 Issue(除非仓库维护者做了严格限制)。
- 搜索引擎权重高:GitHub 页面在 Google 等搜索引擎中排名极佳,黑产广告可能被快速收录,用于做“暗链”或“SEO 引流”。
- 难以批量清理:对于拥有数百上千 Issue 的大型项目,逐一删除垃圾信息耗时巨大,且 GitHub 原生缺少“全选删除”或“基于规则自动拦截”的能力。
- 账号成本低:攻击者可以批量注册 GitHub 账号,或使用被盗账号,配合代理池绕过限流。
影响有多严重?
· 开源维护者苦不堪言:本应用于接收用户反馈的通道被堵塞,真实 Issue 被迅速淹没,项目维护者不得不花费大量精力手动关停、删除或标记为垃圾。
· 社区信任受损:新用户看到项目 Issues 全是广告,会误认为该项目无人维护或已被“遗弃”,严重影响项目声誉。
· 自动化通知失灵:许多 CI/CD 流程、机器人依赖 Issue 的创建事件。垃圾 Issue 可能导致不必要的通知轰炸或自动化任务异常。
· 潜在安全风险:部分广告包含恶意链接,或诱导用户联系黑产方,存在二次诈骗或钓鱼风险。
GitHub 官方是否已响应?
截至 2026 年 3 月底,GitHub 尚未发布针对此次大规模攻击的公开声明。不过从社区反馈来看:
· 部分明显由机器人创建的账号已被平台自动标记并封禁,相关 Issue 被标注为“已由垃圾内容过滤系统处理”。
· 但攻击方也在不断更换 IP、账号和内容模板,目前 GitHub 的防御措施仍属于“事后清理”而非“事前拦截”,很难完全阻止攻击。
作为项目维护者,你可以怎么做?
如果你发现自己维护的仓库遭遇了此类攻击,可以尝试以下措施:
- 启用 Issue 模板 + 自动化验证
· 创建严格的 Issue 模板,要求用户填写固定格式内容。
· 使用 GitHub Actions 配合第三方服务(如 Cloudflare Turnstile 或自定义验证问题)来自动关闭并标记疑似垃圾的 Issue。
- 限制 Issue 创建权限
· 在仓库设置中,将 Issues 权限限制为 “仅限协作者” 或 “仅限已赞助用户”(对于敏感项目)。
· 但这对需要广泛收集反馈的开源项目不现实。
- 批量删除 + 报告
· 使用 GitHub 的“标记为垃圾内容”功能,每条垃圾 Issue 被足够多人标记后会自动隐藏。
· 对于海量垃圾 Issue,可以尝试使用 gh 命令行工具或 GitHub API 编写脚本批量关闭 / 删除。
· 将攻击者账号报告给 GitHub:https://github.com/contact/report-abuse
- 考虑第三方防护
· 一些社区工具开始出现,例如 “Anti-Spam Bot for GitHub Issues”,基于规则或简单 NLP 过滤关键词。
· 暂时关闭 Issues 功能(在 Settings → Features → Issues 中关闭),等攻击平息后再开启。
展望:平台需要做什么?
此次事件再次暴露了 开放协作平台与黑产自动化攻击 之间的不对称对抗。GitHub 作为全球最大的代码托管平台,有必要在平台层面加强治理:
· 提高 Issue 创建门槛:对新账号、低信誉账号、异常 IP 的 Issue 创建行为进行图形验证码或行为校验。
· 提供更强大的批量管理工具:例如按标签、用户、内容正则批量关闭 / 删除 Issue。
· 主动内容过滤:基于机器学习识别明显的黑产关键词和模式,在 Issue 可见之前就自动拦截或放入待审核区。
· 降低举报成本:允许维护者一键举报“最近 100 条来自同一用户的 Issue”等批量操作。
写在最后
开源世界的繁荣建立在信任与低协作门槛之上。黑产利用 Issues 进行广告“爆破”,不仅是对单个项目的骚扰,更是对整个开源生态的消耗。
如果你是一位开源维护者,请尽快检查自己的仓库 Issues。如果你是一位普通的 GitHub 用户,看到陌生仓库的 Issues 里出现广告,请不要点击、不要回复,顺手点一下右上角的 “Report content”,帮维护者一把。
GitHub Issues 应该用来讨论代码,而不是成为黑产的免费广告牌。