该攻击事件于 11 月 7 日曝光,整条攻击链路概括起来并不复杂:攻击者批量注册 FOFA 账号(1,438+ 账号)换取搜索额度,用这些额度扫描全球互联网上配置失误的服务器,提取 OpenAI 和 DeepSeek 的 API 密钥 并逐一验证余额,再把偷来的算力投放到两个变现方向——用于中国国内校园阅读平台刷积分,以及窃取上海一所高职院校五千多名学生的个人信息。这是一个自我维持的寄生生态系统:探测账号网络是眼睛,被盗密钥是燃料,GoTTY 终端里跑着的脚本则是伸向学生的手。
双服务器架构:后端在美国,面板设施在广州 VPS
先把攻击者的家底交代清楚。这套基础设施分了两层:
- 后端邮件引擎:
melocc.cc 域名下挂着 mail、api、pop、imap、smtp 五个子域(mail.melocc.cc、api.melocc.cc、pop.melocc.cc、imap.melocc.cc、smtp.melocc.cc),指向一台由美国 Cognetcloud INC 托管的服务器(ASN 401701)。它专职干一件事——批量生成和接收邮件。
- 控制面板:位于广州腾讯云的 VPS,IP
134.175.7*.19*,是攻击者的用户界面和运维中枢。
catch-all(兜底)邮件系统是这个设计里最精巧的一环。发往该域名任意地址的邮件都会被收取,配合脚本,机器自动走完“注册—收验证邮件—提取激活链接—激活”全流程,几秒钟一个号,全程无人干预。调查人员从 fofa_accounts.csv 和控制面板截图里确认了至少 1,438 个账号,每个都是零积分的最低档“注册用户”,单账号限 300 次查询,CSV 里连密码和可直接调 API 的 JWT token 都存好了。
单独看每个号都微不足道。但攻击者让这 1,438 个 token 轮班上岗,摊薄限流,每天就能免费对 FOFA 数据库执行数万次查询。平台风控假设对面坐的是真人,而这次它碰上的是一支账号大军。

扫描、收割、验货:一条龙的密钥流水线
有了查询额度,代理开始在全球范围检索特定模式:暴露的 .env 文件、Docker 配置、权限宽松的 Git 仓库——密钥泄露的三大重灾区。命中后,正则表达式把 AI 平台的密钥挑出来分类。
接下来这步最能说明“工业化”三个字:偷来的密钥不直接用,先验货。
- OpenAI(
sk-proj- 开头):直接打官方 API 探测状态。返回 429 标记为“有效无余额”,返回 401 标记为“已吊销”;
- DeepSeek(
sk- 加 32 位十六进制):除了验证功能,还要查余额。被缴获的仪表盘上留着 3 个可用密钥,余额分别是 50.68、8.52 和 0.80,来自 labibiy**.com、nyi**.com 等站点。
泄露的密钥在这里完成了从“字符串”到“现货”的蜕变:被集中采集、集中定价、集中调度,持续消耗直到吊销或耗尽。对密钥主人来说是一次配置失误,对攻击者来说是一张别人一直在买单的算力账单。
算力去了哪里:刷分机器人和五千份学生档案
偷来的算力经一个 GoTTY Web 终端中转,界面挂着“Pi — AI 编码助手”的招牌。它驱动的第一项业务是学术积分欺诈。
背景是国内不少高校的学生评价体系绑定了数字平台——云端阅读、思政学习、补充学分——学生每天要积累规定时长的互动才能拿到考勤分或成绩。攻击者的脚本把这个过程整个自动化了:机器人每 30 秒发一次 HTTP 200 心跳,伪装成学生正在阅读,骗过服务器记录活跃时长;每模拟约 11 分钟,脚本调用内部 API 领取 +10 积分,顺手记下总余额(有账号刷到了 252 分)和账号是否被冻结。“假装学习”被做成了定时任务。
第二项业务严重得多。被缴获的个人信息库覆盖上海某专科学校某校区 5,132 名学生。从身份证号和出生日期推算,受害者大多生于 2006–2008 年,眼下 18–20 岁,正处于大学早期阶段。记录字段包括:
- 姓名、学号、手机号;
- 18 位身份证号(可见上海、浙江、山西等地区代码);
- 精确到街道、楼号、房号的家庭住址;
- 校园卡实时余额,最高一笔 1,474.84 元;
- 细颗粒度的微交易流水——食堂消费、用水量、洗衣机使用、电费缴纳。
而且爬虫每 48 小时刷新一次。攻击者没把这份数据当一次性战利品,而是当成持续运营的资产在维护。
真正捅到线下的是配套的“二维码”模块。系统掌握着一千多个活跃会话,能为高余额校园卡——比如卡里躺着一千四百多块的学生——实时生成有效支付码,拿去校内商户直接消费。数据泄露到这里已经不只是隐私问题,生成的二维码有可能盗刷学生饭卡。

第二项业务的目标是校园一卡通、统一身份配套的业务接口(一卡通余额、消费流水、学生档案接口)。这套接口本应仅限校内内网访问或者强身份校验,但被暴露在了公网,或者鉴权机制存在缺陷:
- 要么接口几乎无鉴权,只要知道学号 / ID 序列就可以批量遍历;
- 要么拿到了一个高权限会话、Cookie、Token,就可以循环调用接口批量拉全量学生数据;
- 不是拿到数据库权限,是走正常业务 API 返回页面 / JSON,脚本循环请求、入库、定时刷新,也就是我们常说的 接口爬虫。
警示
开发者:把 .env 推到 GitHub 的人,过去心里想的是“就一个 key,删了就好”。Ghost Campus 给出的答案是:密钥一旦暴露,会自动流进别人的流水线,被反复验证、反复消费。你丢的不是一串字符,是别人生产系统里的一颗螺丝——还在持续磨损你的账户余额。
高校:校园卡、统一身份认证在设计时默认“内网可信”,可一旦接口对公网可达,其数据密度远超普通商业站点:身份证号、住址、余额、消费习惯打包在一起,就是黑产市场能直兑现金的“全料”。更难受的是,对方把“每两天更新一次”做成了例行公事——你的学生数据库,在人家里是门生意。
安全行业:全程没有 0day,没有高级持久化,所有环节都是普通技术加自动化。它展示的图景朴素得乏味:当攻击的边际成本被自动化压到接近零,黑产就会进化成无人值守、持续运营、规模变现的形态。这类流水线以后只会更多,防守方不能指望对方会累。
顺带一提合规层面:五千余条含身份证号、住址、资金信息的记录,已妥妥落在《个人信息保护法》敏感个人信息的范畴,且规模远超一般事件量级,涉事机构的处置与通报义务问题回避不掉。
该怎么办
开发者这边都是老生常谈,但老出事就说明没做到:密钥不进可被公网访问的 .env 和 Git 仓库;曾在公开位置出现过的 key 一律视为泄露,立即轮换;给每个 key 设消费限额和速率上限。补一条实操的——盯账单和日志里的异常:陌生地域调用、突发用量、成片出现的 429/401 探测,攻击者批量“验货”时是会留指纹的。
高校这边,重点不是补某个漏洞,而是改架构:校园卡、统一身份认证和业务库之间做网络分段;身份证类字段脱敏存储并审计访问;二维码支付加额度、设备和地理位置风控;“每 48 小时一次的全量读取”这种规律性行为本身就该触发告警,而不是只留给事后取证。
平台方同样有事可做:FOFA 这类测绘引擎面对的不是一个异常账号,而是账号农场——注册环节的机器识别(catch-all 域名特征、秒级激活时序)比单纯抬高注册门槛管用。
报告公开已经过去几天,调查还原的画面仍悬在那里:一台挂着“AI 编程助手”招牌的终端,烧着从世界各地偷来的 OpenAI 和 DeepSeek 算力,一边假扮学生刷阅读时长,一边替五千多个真实存在的年轻人维护着一份两天一刷新的身份档案——档案末尾,还挂着能直接当钱花掉的二维码。这类事件的技术细节与防范方案,云栈社区 会持续跟进。