drewburchfield/hallmonitor

GitHub: drewburchfield/hallmonitor

面向 K-12 教育环境的开放威胁情报项目,系统性追踪并对抗校园内容安全绕过工具的完整生态链。

Stars: 0 | Forks: 0

[![HallMonitor](https://ghrb.waren.build/banner?header=HallMonitor&subheader=Open+threat+intelligence+for+K-12+IT&bg=0f1115-1a1e26&color=FFFFFF&subheaderColor=fcd34d&headerfont=Inter&subheaderfont=Inter&support=false)](https://github.com/drewburchfield/hallmonitor) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![欢迎 PR](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](CONTRIBUTING.md) [![更新日志](https://img.shields.io/badge/changelog-current-blue.svg)](CHANGELOG.md)

面向 K-12 IT 管理员、家长和教育工作者以及 EdTech 安全团队的开放威胁情报。

追踪逃避 K-12 内容安全工具的生态系统:Web 代理和解锁器、监控软件绕过工具、Chrome 扩展杀手、针对未成年人的广告网络滥用、FreeDNS 子域名抢注,以及隐藏其背后的 Discord 分发网络。

一本实地指南。而不是封锁列表。

## 背景 一个 13 岁的孩子可以 fork 一个 GitHub 模板,点击 Deploy to Vercel,并在大约 90 秒内让一个正常工作的校园代理解锁器运行在一个干净的 `*.vercel.app` 主机名上。该网站会跟踪设备、投放成人和诈骗广告、通过运营商服务器记录每一个 AI 聊天提示,并附带伪装成 Google Classroom、DeltaMath 和 "GoGuardian Admin Block" 的欺骗性标签。一个拥有数万名未成年人的活跃 Discord 群组,每当一个 URL 被封锁时,就会抛出一个新的 URL。 过滤供应商向 K-12 推销过滤的承诺,并以 1 到 2 周的频率更新类别。而运营商在两分钟内即可重新部署。这种对比是无效的。 现在情况不同了。防御者拥有了两年前他们所没有的东西:与运营商相同的自动化能力。Claude Code、托管的 LLM、浏览器原生 AI 和 shell 脚本,使得每周的生态系统扫描、自动签名提取、自动起草的下架申请以及自动起草的致家长/董事会的沟通,都在单个 IT 协调员或有积极性的家长的能力范围之内。有关操作管道,请参见 [patrol/](patrol/)。 本仓库是第一本面向 K-12 防御方的开放实地指南,其编写前提是防御者终将获胜。每一位提交报告的家长、每调整一个签名的 IT 管理员、每一位发现规律的 T&S(信任与安全)审核员,都通过一次点击闭环了整个过程。本仓库就是我们共享的模式。 ## 从这里开始 选择适合您的路径。每个路径都链接到最值得您花时间阅读的两三个页面。 ### 我是家长、教师、辅导员、图书管理员或校医 我的孩子或我教的学生收到了这些链接中的某一个。 - **[最初的 30 分钟](parent-resources/first-30-minutes.md)** :如果链接仍在您面前的设备上打开,请按顺序立即执行这些操作。 - **[这是什么](parent-resources/what-this-is.md)** :通俗易懂地解释。该网站做了什么,它使学生暴露在什么风险中,谁构建了它,以及谁在从中获利。 - **[如何举报](parent-resources/how-to-report.md)** :各个层级(学校、学区、过滤供应商、FTC/州总检察长、平台、GitHub)的确切电子邮件和模板。 ### 我是 K-12 IT 管理员、学区 SecOps 或 EdTech 过滤工程师 我在我的网络上看到了代理流量,我想彻底关闭它。 - **[学区快速入门](response/district-quick-start.md)** :三个可以弥补 80% 缺口的配置更改,以及首先应提交哪种工单。 - **[检测签名](detection/signatures.md)** :引擎级别的指纹,可捕获整个 Ultraviolet/Scramjet 家族,而不仅仅是某个品牌的 fork。 - **[供应商配置说明](detection/vendor-config-notes.md)** :GoGuardian、Securly、Lightspeed、Linewize、Zscaler、iBoss、Palo Alto、Fortinet、Meraki、Umbrella、Cloudflare Gateway、DNSFilter。类别名称是什么,已知缺陷有哪些,以及哪个层级真正能捕获此类威胁。 - **[事件响应手册](response/incident-response.md)** :发现有学生使用这些代理时的前 24 小时应对指南。 - **[生态系统图](ECOSYSTEM-MAP.md)** :单页供应链图及下架决策树。 - **[Patrol](patrol/README.md)** :每周生态系统扫描、Wayback 重部署监控、聚合器差异对比、指纹提取、LLM 起草的下架邮件和供应商升级。可使用标准库 Python、bash 和任何 LLM CLI 运行。AI 是助手,而不是主角。 ### 我是记者、研究员或信任与安全团队 我需要取证图景和来源列表。 - **[生态系统概述](ecosystem/README.md)** :上游工具链、品牌 fork、分发渠道、商业变现。 - **[案例研究简报](briefs/README.md)** :完整的取证报告。第一份简报:[Utopia Unblocker](briefs/utopia-unblocker.md)。 - **[来源与引用](SOURCES.md)** :带注释的参考书目。GitHub 组织、Discord 元数据端点、Wayback 快照、供应商滥用联系方式、学术和新闻参考。 ## 数字化的问题 | 信号 | 规模 | 来源 | |---|---|---| | Ultraviolet 代理引擎(上游,MIT 许可证)fork 数 | ~5,900 | GitHub,经 gh api 2026-04-23 验证 | | 品牌终端用户解锁器 fork(仅 Tier 1:Interstellar 23,402 + Utopia 1,538 + Greatsword-V3 2,846 + UV-App 模板 5,958) | ~34,000+ | [ecosystem/known-projects.md](ecosystem/known-projects.md),2026-04-23 验证 | | 活跃品牌服务器中 Discord 会员总数 | 100,000+ (Interstellar 48,077 + Utopia ~24,000 + Tier-2 长尾流量) | 公开的 `discord.com/api/v10/invites/{code}?with_counts=true`,2026-04-23 轮询 | | 稳态下估计存活的代理实例 | 全球 4,000-8,000 | 从业者估计;非直接测量值 | | 供应商针对新主机名的过滤类别刷新周期 | 数天至数周,取决于供应商 | [detection/vendor-config-notes.md](detection/vendor-config-notes.md) | | 运营商在新主机名上重新部署的时间 | 使用免费 PaaS 部署按钮不到两分钟 | 可通过 Vercel / Cloudflare Pages / Render / Koyeb 部署流程复现 | 缩小差距并不是告诉 IT 协调员要“更努力”就能解决的。 **过滤供应商**向 K-12 推销过滤的承诺。发布需要两周时间才能生效的签名更新,去应对两分钟内就能重新部署的绕过类别,这并没有兑现承诺。针对 Ultraviolet 家族(`__uv$config` 对象,service-worker 路径模式)的引擎级签名可以一次性击败整个下游分支;这些在上游已有文档记录。发布这些签名是产品应做的工作,而不是高级附加功能。 **学区 IT 团队**继承了供应商的盲点,但继承不等于免责。在不包含 DOM 检查的层级上运行过滤产品,跳过学生设备上的 TLS 检查部署,从不查看教室视图的日志,这些都会把问题向后推。能够缩小差距的学区会做三件做不到的学区不做的事情:在真正有效的层级上运行产品,以有记录的频率和具体的模式名称向供应商升级问题,并与同级学区协调,让供应商从多个声音听到相同的工单。 **平台**(GitHub、Vercel、Cloudflare、Discord)在推出一键发布功能的速度超过其推出滥用响应功能的速度时,就会继承滥用问题。GitHub 的 AUP 涵盖了这些项目的大部分行为;但执行力度参差不齐。 **上游引擎作者**(Titanium Network)发布在 MIT 许可下的代码,这些代码可以预见地被规模化地武器化,以对抗 K-12 的合规要求。目前没有任何公开的下游危害立场或政策声明。这种空白并不中立。 这个仓库之所以存在,是因为这些参与者之间的协调不会自动发生。 ## 为什么会有这个项目 在 2026 年,任何一个 13 岁的孩子都可以 fork 一个 GitHub 模板,点击 "Deploy to Vercel",并在 90 秒内让一个正常工作的校园代理解锁器运行在一个干净的 `*.vercel.app` 主机名上。该网站将被进行指纹跟踪,通过成人诈骗广告进行商业变现,连接到一个拥有数万名儿童的 Discord 服务器(每当当前 URL 被封锁时就会抛出新的 URL),并且专门设计用于绕过 GoGuardian、Securly、Lightspeed 和 Linewize。 大多数 K-12 IT 团队正在使用供应商更新周期为 1 到 2 周的 DNS 类别过滤器来应对这个问题。而生态系统生成新主机名的速度比任何供应商当前对其进行分类的速度都要快。 **这是不可接受的,而且这不是一个“双方都有理”的情况。** 运营商在未经过滤的广告位上投放针对未成年人的广告链,捕获 AI 聊天提示,并对学校管理的设备进行指纹识别。这是核心问题,本仓库对其进行了全面记录。 过滤供应商以特定的承诺打入 K-12 市场:即受管的学生流量是经过过滤的。当签名更新的周期比运营商重新部署的周期滞后数周时,这个承诺就没有兑现。想要 K-12 市场的供应商需要发布引擎级别的签名,将 Ultraviolet 家族作为一个整体来捕获,而不是作为单个品牌化的 fork 去追踪。 学区 IT 团队继承了供应商的盲点,但继承不等于免责。在不包含 DOM 检查的层级上运行过滤产品,或因为麻烦而跳过 TLS 检查部署,或从不查看教室封锁的流量日志,都会把问题推迟。人员配置不足是事实。但“人员配置不足”并不能自行弥补差距。能够缩小差距的学区会在有效的层级上运行他们拥有的工具,以有记录的频率向供应商升级问题,并与同级学区协调。做不到的学区则不会。 HallMonitor 使问题清晰化:项目、分发渠道、检测签名、下架路径。协调是唯一有效的方法。 目前没有任何现有的单一来源将这一切整合在一起。这就是为此做出的一次尝试。 ## 包含内容 ``` . ├── README.md This file ├── ECOSYSTEM-MAP.md Supply-chain and takedown-response diagrams ├── SOURCES.md Consolidated citations (annotated bibliography) ├── CHANGELOG.md What changed, when ├── CONTRIBUTING.md How to submit briefs, signatures, and takedown outcomes ├── LICENSE MIT │ ├── briefs/ Case-study forensic briefs on specific active projects │ └── utopia-unblocker.md First brief; the case that prompted the repo │ ├── ecosystem/ Map of the supply chain │ ├── titanium-network.md The upstream toolchain (Ultraviolet, Scramjet, bare-server) │ ├── known-projects.md Catalog of active branded unblockers │ ├── distribution-channels.md Discord, GitHub deploy buttons, FreeDNS, YouTube, P2P │ └── monetization.md Ad networks, fingerprinting, operator economics │ ├── detection/ How to catch this traffic │ ├── signatures.md Engine-level + URL + DOM + behavioral signatures │ └── vendor-config-notes.md Vendor-by-vendor configuration, tier gaps, and escalation │ ├── takedowns/ How to get instances removed │ ├── README.md Which template when; decision matrix │ ├── template-hosting-abuse.md Hosting providers (InterServer, DO, AWS, Vercel, etc.) │ ├── template-registrar-abuse.md Domain registrars │ ├── template-freedns-abuse.md afraid.org subdomain squatting pattern │ ├── template-github-dmca.md GitHub TOS + AGPL DMCA paths │ ├── template-domain-owner-notification.md Notifying legitimate parent-domain owners │ └── template-ad-network-abuse.md Monetag / PropellerAds / AdCash / Hilltopads │ ├── response/ Incident response and communications │ ├── district-quick-start.md Three config changes that close 80% of the gap │ ├── incident-response.md First 24 hours when a student is found on one of these │ └── communications-templates.md Parent notification, board memo, staff email, AUP refresher │ ├── parent-resources/ For parents, teachers, counselors, librarians, nurses │ ├── first-30-minutes.md What to do right now if the link is still open on the device │ ├── what-this-is.md Plainspoken overview of what the tool actually is │ └── how-to-report.md Who to email, what to include, at every level │ ├── patrol/ Operational defender tooling (AI as a helper) │ ├── scripts/ stdlib Python + bash: discord snapshot, Wayback monitor, aggregator diff, fingerprint extraction │ └── workflows/ Claude Code / LLM workflow prompts for weekly sweeps and takedown drafting │ └── blocklists/ └── hosts.txt Best-effort snapshot (not a feed) ``` 每个子目录都有自己的 `README.md`,用于引导初次访问者。 ## 范围 **范围内** - Web 代理和解锁器(Ultraviolet、Scramjet、Rammerhead、node-unblocker、AlloyProxy 家族) - 监控软件绕过(anti-GoGuardian、anti-Securly、anti-Lightspeed、anti-Linewize 脚本和扩展) - Chrome 扩展杀手和操作系统级别的监控规避 - 这些网站上针对未成年人的广告网络滥用 - 解锁器运营商的指纹识别和凭据捕获 - 分发渠道(Discord、GitHub、YouTube、FreeDNS、免费 PaaS 抢注) - 下架途径(托管、注册商、平台信任与安全、广告网络) - 家长、教育工作者和一线工作人员的报告途径 **范围外** - 商业 VPN 应用(在企业管理文献中有其他涵盖) - TikTok / YouTube 时长限制绕过(行为层面,而非技术层面) - 个人级别的运营商识别(仅限模式级别的情报;许多运营商本身也是未成年人) - 关于 K-12 内容过滤在道德上是否站得住脚(CIPA 存在,学区必须遵守;本仓库探讨的是当前的实施正在输掉这场军备竞赛这一事实) ## 这不是什么 - 一个封锁列表服务。主机名文件是尽力而为的快照,而不是信息流。请订阅商业信息流以用于生产环境拦截。 - 一个用于识别个别运营商或 fork 所有者的工具,其中许多是未成年人。目标是用于防御的模式级别情报,而不是针对特定个人的定向曝光。 - 军备竞赛的升级者。本仓库记录的是防御,而不是攻击。规避研究请移步他处。 ## 负责任的使用 如果您在研究过程中发现了运营商的个人信息(电子邮件地址、真实姓名、家庭住址),请像对待任何调查中的 PII(个人身份信息)一样对待它。本仓库记录的是*生态系统和模式*,而不是个人。如果涉及犯罪活动,请将个人级别的细节保留在私人笔记或执法渠道中。不要在这里发布。 这个场景中的许多运营商本身就是未成年人或年轻人。一个旨在传播防御知识的公共仓库不应该同时成为人肉搜索的放大器。有关详细信息,请参见 [CONTRIBUTING.md](CONTRIBUTING.md),包括供应商绕过细节的负责任披露窗口。 ## 贡献 只有当描述过不同项目的管理员、研究人员、家长和教育工作者添加他们的发现时,此资源才有用。请参见 [CONTRIBUTING.md](CONTRIBUTING.md)。 最有价值的贡献: - 关于特定项目的新案例研究简报(以 [briefs/utopia-unblocker.md](briefs/utopia-unblocker.md) 为模板) - 在生产环境中验证有效的供应商特定检测规则 - 已确认的活跃主机名(用于封锁列表) - 下架结果报告:哪些途径有效哪些无效 - 更新的 Discord 邀请代码和服务器元数据(通过公开的 `/api/v10/invites/{code}` 端点;无需帐户) - 来自实际升级且有效的报告模板(在提交前请涂黑学区具体信息) `.github/ISSUE_TEMPLATE/` 中的 Issue 模板: - **New project brief** 用于提交新案例研究 - **New detection signature** 用于提交生产环境测试过的规则 - **Takedown outcome** 用于报告您提交滥用举报后的结果 ## 致谢 初始语料库由 [Drew Burchfield](https://drewburchfield.com) 于 2026 年 4 月提供,起因是一个链接被交给了一所中学的一名 12 岁学生。建立在 EdTech 供应商安全团队、Titanium Network 自身对其项目结构的文档记录,以及 GitHub 主题聚合器 `ultraviolet-proxy`、`unblocker-for-school` 和 `school-unblocker` 的先前公开研究之上。完整参考书目请见 [SOURCES.md](SOURCES.md)。 ## 许可证 [MIT](LICENSE)。随心所欲使用,请注明出处。欢迎贡献,并将以相同的许可证发布。
标签:CISA项目, Discord, DLL 劫持, DNS劫持, DNS 解析, EdTech安全, IT运维, K-12教育, Naabu, Socks5代理, 内容安全, 大语言模型, 威胁情报, 安全合规, 广告滥用, 应用安全, 开发者工具, 教育技术, 未成年人保护, 流量监控, 浏览器扩展, 绕过防御, 网络代理, 网络安全, 自动化防御, 解锁器, 逆向工具, 配置审计, 隐私保护