导语: 海外技术社区这一年吵得最凶的,不是哪个模型又登顶了,而是一件更底层的事:AI 把“生成内容”的成本打到零之后,软件供应链和开源生态正被灌水冲得东倒西歪。幻觉包名被人抢注埋伏、维护者被 AI 生成的垃圾 PR 淹到罢工、Cloudflare 干脆把“拦截 AI 爬虫”做成默认开关还开始按次收费。这三场仗国内几乎没人系统拆过,但每一条都直接关系到你每天 npm install 的那条命令。
先说最贴近每个开发者钱包的一件事。
你让 Claude 或者 ChatGPT 写段代码,它顺手给了你一行 import,推荐一个包。传统认知里,包名错了顶多安装报错,浪费十秒钟。但海外社区从 2025 年开始意识到一个问题:大模型的幻觉是稳定的——同一个提示词问一百遍,它可能一百次都推荐同一个不存在的包名。
这就给攻击者留了一扇门:既然我知道你会稳定地推荐 foo-helper-pro 这个假包名,那我提前去 npm 和 PyPI 上把它注册了,里面塞上窃取密钥的恶意代码。等你哪天照抄 AI 的答案一键安装,恶意脚本就在你的 CI 或本机跑起来了。这个打法被起了个名字,叫 slopsquatting(AI 垃圾抢注),这个词就是 Python 软件基金会(PSF)的安全开发驻场 Seth Larson 在博客里叫响的,随后在 Hacker News 和 r/programming 上炸出一堆长帖。
这可不是纸上谈兵。2025 年,有高校团队发了篇标题很喜感的论文《We Have a Package for You!》,系统实测了主流代码大模型的推荐行为,结论是:相当比例的推荐包名纯属虚构,而且同一个假包名会稳定复现——据该论文的实验设置,采样次数越多,这种可复现的幻觉越扎眼。换句话说,幻觉包名不是随机噪声,是可以被“预言”并“埋伏”的。具体比例数字建议你去看论文原文,我这里不下结论,但方向上社区已经没有争议:这是一个真实存在的攻击面。
再往深一层,真实世界里“装包”这条链路已经被打穿过一次。2025 年 9 月,npm 上爆出第一起自我复制的蠕虫事件,社区给它起了个科幻名字 Shai-Hulud(沙丘里的沙虫):蠕虫拿到维护者的 token 后自动发布带毒新版本,波及数百个包,然后顺着受害者的凭证继续往外爬。事后复盘,整条传播链的每一环,都是“开发者无脑信任一个包”这个习惯。
这波讨论在 HN 和 Reddit 上基本分裂成三个立场:
我的看法偏实用派再加一句:这次不一样的地方在于,幻觉包名是“可预测”的。以前 typosquat 靠赌你会手误,现在攻击者连赌都不用赌,直接问一遍 AI 就知道该抢注哪个名字。防御思维得从“别打错字”升级成“别信任何一行你没验证过的 import"。
好消息是国内开发者的默认姿势反而更安全:大多数人走的是清华、阿里云这类镜像源,镜像同步本身有延迟,相当于一个天然的“新包冷静期”——投毒包刚发布就立刻中招的概率被压低了。但盲区也在这:很多公司 CI 直连官方 registry 追求实时性,恰恰绕开了这层保护。
flowchart TD
A["AI 助手给出包名"] --> B{"名字真实存在?"}
B -->|不存在| C["攻击者提前抢注"]
B -->|存在但新版有毒| D["投毒版混进版本更新"]
C --> E["开发者照抄安装"]
D --> E
E --> F["install 脚本偷密钥"]
F --> G["蠕虫自我复制"]
G --> H["波及数百个上游仓库"]
H --> I["供应链大面积污染"]
E --> J["防线一:官网验名"]
E --> K["防线二:锁版本加冷静期"]
E --> L["防线三:沙箱加审计"]
第二场架,打在开源社区的门口。
AI 把“生成一个看起来像样的 PR”的成本打到零之后,全球开源维护者迎来了一场静悄悄的灾难:AI 灌水贡献。大量由大模型生成、看起来头头是道、实际满是幻觉 API 和不存在的函数调用的 pull request 和 issue,涌向那些本来就靠志愿者用爱发电的项目。维护者去验证一个幻觉贡献的时间,是自己写三倍代码的时间。
于是海外社区出现了近年来少见的一致行动:
no-ai 这类仓库标签开始流行(据社区讨论,规模无权威统计,肉眼可见地在涨)。因为这已经不是技术问题,是价值观问题。三派立场给你摆清楚:
有意思的是,这个争议在国内几乎无声,但国内公司恰恰是最该抄作业的:想想你们公司内部的开源治理、外包代码验收、供应商交付——AI 灌水代码混进交付物的风险,和开源社区面对的是同一个问题,而 Freedesktop 的政策文本就摆在那,中文化一下就能当模板用。反过来说,如果你给海外项目提 PR,先去读一下对方的贡献政策,别把“AI 帮我十倍速产出”当成加分项递过去——在某些项目门口,那是减分项,甚至是拉黑项。
第三场吵得最久的,在内容方和 AI 公司之间。
2025 年 7 月 1 日,Cloudflare 做了一件被外媒称为“内容独立日”的事:新接入的域名,默认拦截所有 AI 爬虫,想被抓取的站点自己去后台打开开关。同一天他们宣布内测 Pay Per Crawl——一个按次收费的市场,AI 公司想抓你的内容?按请求付费。这对 “robots.txt 一张纸管天下” 的旧秩序是釜底抽薪:拦截从“请求”变成了“默认”。
被点名管理的主要是那些 AI 训练爬虫:OpenAI 的 GPTBot、Anthropic 的 ClaudeBot、Google-Extended、还有据 Cloudflare 公开报告流量最凶的 ByteDance 家的 Bytespider。站长的处境肉眼可见:AI 搜索时代,被抓走全文意味着用户不再点进原站,广告和订阅收入归零,“被抓”从曝光福利变成了纯失血。
社区同样是两派:
对你个人的启示在另一个方向:如果你在做英文内容站、独立开发者产品官网,或者靠 SEO 吃饭,“AI 爬虫带流量”这个假设在 2025 年之后已经不成立了,得重新算账——要么在 Cloudflare 后台把 AI 爬虫关掉止损,要么研究按次收费怎么定价,别再拿 2019 年的流量模型做 2026 年的决策。
| 你以为的 | 实际上 |
|---|---|
| AI 给错包名,顶多装不上报个错 | 假包名稳定复现,会被提前抢注埋毒,装上才是灾难的开始 |
| 国内镜像源只是加速器 | 同步延迟是天然的“新包冷静期”,反而是道防线;直连官方源的 CI 才是裸奔 |
| 开源社区欢迎一切贡献 | Freedesktop 明文拒收 AI 贡献,curl 作者公开封杀幻觉报告,提交前先读政策 |
| 内容被 AI 抓取 = 免费曝光 | Cloudflare 已把默认拦截做成出厂设置,抓取正在变成按次付费的生意 |
| 供应链安全是大厂的事 | 蠕虫顺着维护者 token 爬,个人小项目就是它的跳板 |
今天就能做完的六件事:
minimumReleaseAge(比如 7 天,新发布的版本先晾一周再进你的依赖树),npm 新版本也跟进了这个选项;package-lock.json / requirements.txt 锁文件必须进版本库,CI 禁用裸 npm install;pip-audit 跑一遍依赖,npm 用自带 npm audit,团队项目可以挂 Socket(socket.dev)的 GitHub App 盯新依赖;把三场架放在一起看,其实是一场仗:AI 把“生成”的成本打到零,把“验证”的成本打上天。包名要验证、贡献要验证、内容要验证——未来一两年海外社区真正的机会窗口,不在再造一个生成工具,而在验证这一侧:依赖审计、内容溯源、贡献者信誉层。对个体来说,别急着挤进生成侧的红海,想想你手头的技能能不能卡位到验证侧,那里的位置现在还空着。
注:文中涉及的具体政策、事件均有出处性质标注,个别数字(如论文中的幻觉比例)因未能当场核验原文,未给出精确值,请以链接原文为准。
本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵爱卫生(微信ID: gprshome201101)维护。 聚焦5G/6G核心网、3GPP标准、AI工具实战。知识星球「51学通信」提供深度技术答疑和行业洞察。
[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。
