Miasma:往AI爬虫嘴里灌毒的新工具,HN爆了
发生了什么
凌晨刷HN,看到一条帖子直接炸了。
273个人在讨论一个叫Miasma的工具。标题很简单:“Trap AI web scrapers in an endless poison pit”——把AI爬虫困在无尽的毒坑里。
说实话,我看完标题就点进去了。
GitHub地址贴出来,两天时间,418个star。对于一个工具类项目来说,这个传播速度不太正常。
然后我去翻了Firecrawl的评论区——那是一个专门做AI网页抓取的服务。有人在下面问:“你们知道Miasma吗?”
官方回复了一个表情包:🔥
不是”我们不在乎”,是”我们看到了,有意思”。
这个反应让我意识到,Miasma不是一个普通的开源小工具。
Miasma是什么
一句话:一个专门用来毒化AI爬虫的工具。
它是一个Rust写的小服务器。你把它部署在自己的网站上,当检测到恶意爬虫访问时——不是拒绝访问,而是往它们嘴里灌垃圾数据。
灌什么?
从”poison fountain”(毒泉)里取来的污染数据。地址是 rnsaffn.com/poison2/,据说是专门生成”让AI模型越学越蠢”的数据的服务。
最绝的是,它还会返回一堆自引用链接。爬虫抓了这些链接,继续爬,爬回来又是毒数据。
一个死循环。
AI公司花着服务器费用,消耗着电力,抓到的全是垃圾。
GitHub上这个项目是用Rust写的。Rust的好处在这里体现得很明显——内存安全,性能高,不需要GC停顿。50个并发连接时,内存占用控制在50-60MB。这个数字对于一个反爬虫工具来说,非常克制。
官方推荐的部署方式是通过cargo安装:
cargo install miasma
二进制文件也可以直接下载,不用自己编译。
它和Firecrawl有什么区别
说到AI爬虫,必须提Firecrawl。
Firecrawl是干什么的?帮AI公司抓网页的。
它能把任意网站转化成”LLM-ready”的格式——Markdown、JSON、结构化数据。96%的网页覆盖率,包括那些JS重度渲染的页面。P95延迟3.4秒,处理速度非常快。
Mendable AI这家公司做的,背后有正经融资,商业模式清晰。
他们还做了很多周边能力:搜索API、批量抓取、Crawl功能、Map功能(快速发现网站所有URL)、Agent模式(描述需求自动采集)。一句话,能封装的都封装了,开箱即用。
所以你发现了吗?
Firecrawl是进攻方,Miasma是防守方。
它们在同一个链条上,但站在完全对立的两端。
Firecrawl想的是:怎么让AI更好地吞噬互联网的内容。
Miasma想的是:互联网的内容怎么反过来把AI搞残。
这两个赛道,现在同时存在,同时在跑。
有意思的是,这两个工具的作者——Mendable AI和austin-weeks——可能从来没有直接对话过。但他们在做完全不同甚至对立的事情。
HN上有个评论说:“这就像是一场军备竞赛,只不过战场在数据层。”
我觉得这个比喻挺准确的。
技术原理(怎么做到的)
我大概看了一下它的实现,核心思路很巧妙。
第一步:在网页里藏隐藏链接
<a href="/bots" style="display: none;" aria-hidden="true" tabindex="1">
Amazing high quality data here!
</a>
人看不到,搜索引擎不抓,但爬虫能看到。
这三个属性叠在一起很关键:display:none让人眼看不见,aria-hidden=”true”让屏幕阅读器忽略,tabindex=”1″确保这链接不会被人用键盘导航触达。
但爬虫的HTML解析器不一样,它会照抓不误。
第二步:把爬虫引到Miasma服务器
Nginx配一个反向代理,把所有访问/bots路径的请求转发给Miasma。
location ~ ^/bots($|/.*)$ {
proxy_pass http://localhost:9855;
}
正则匹配,/bots、/bots/、/bots/12345都能匹配上。Nginx的配置很成熟,这个方案稳定。
第三步:Miasma返回毒数据
miasma --link-prefix '/bots' -p 9855 -c 50
50个并发连接时,内存占用50-60MB。很轻。
关键参数是link-prefix,它告诉Miasma在返回的毒数据里,链接要前缀成/bots/。这样爬虫下一次抓取,又会被Nginx转回Miasma。
抓了一次,发现有链接,继续抓;抓回来一看,又有链接,继续抓——
然后就陷入了文章开头说的那个死循环。
Miasma还提供了一个配置项叫poison-source,默认指向rnsaffn.com/poison2/。这个地址提供毒化数据的源头。你也可以自己架设毒泉,但目前官方推荐用这个公共服务。
争议:这个工具合理吗?
这个话题在HN上吵得挺凶。
支持的人说:
AI公司未经授权抓取内容训练模型,本质上是偷窃。Miasma只是一个防御工具,就像网站加验证码防爬虫一样。
“如果你有公开网站,它们已经在偷你的东西了。”
这是Miasma README里写的一句话。情绪很强烈,但确实说到了一部分人的痛点。
网站内容是创作者的心血,AI公司没付钱就拿去训练,这事搁谁身上都不舒服。尤其是那些靠内容吃饭的媒体、作家、独立开发者。
反对的人说:
训练数据污染会破坏模型质量,而无辜的用户最终用的是被污染的模型。
换句话说,你毒化的不是AI公司,是那些用模型的普通人。
这个逻辑我暂时没想到怎么反驳。
你想,OpenAI训练GPT,用了海量网页数据。中间有被Miasma污染的吗?可能有。那最后用ChatGPT的人,得到的是一个被污染过的模型。
这听起来不太对。
还有人说:
这本质上是一种数据投毒攻击(data poisoning),法律上灰色地带。
AI抓取网站内容的边界到底在哪?robots.txt的效力有多强?这些问题目前都没有清晰答案。
现有的法律框架——版权法、信息网络传播权——都是在AI出现之前制定的。能不能直接套用,没人说得清。
普通人能用吗?
能。门槛很低。
cargo install miasma
miasma --link-prefix '/bots' -p 9855 -c 50
两行命令,部署完成。Rust写的,内存占用极低,跑在树莓派上都绑绑够。
但有几个问题你需要知道:
第一,你需要修改自己网站的HTML,嵌入隐藏链接。这对技术人来说不难,但对纯小白来说有点门槛。如果你的网站是WordPress装的,可能需要改主题文件。
第二,你需要配置Nginx或类似的反向代理。这个也有点门槛。好消息是Miasma官方文档里有详细的Nginx配置示例,对着抄就行。
第三,对大公司爬虫可能无效。大厂有IP封禁、请求验证、浏览器指纹等手段,Miasma主要对付的是中小规模的爬虫。OpenAI、Google这种级别的玩家,人家有专门的爬虫工程团队,不会轻易中招。
第四,robots.txt还是要写的。Googlebot、Bingbot、百度搜索这些正规搜索引擎要放行,只对AI爬虫生效。你可以在robots.txt里加一行:
User-agent: GPTBot
Disallow: /bots
OpenAI有公开的GPTBot的User-Agent,专门屏蔽它就行。
我的判断
我不会告诉你”这玩意牛X必须用”,也不会说”这违反道德不能用”。
我只说我的观察:
AI抓取互联网内容这件事,正在引发越来越大的反弹。
Miasma不是第一个,也不是唯一一个。Gptme、nightmare.ai、蟑螂算法……这些工具和思路在同步出现。它们代表的是一种声音:互联网内容不是免费的午餐。
而Firecrawl这样的工具代表的则是另一种声音:AI需要数据,数据应该自由流动。
这两条路线的对立,会是接下来几年里很有意思的博弈。
谁会赢?我不知道。
但有一点我比较确定:数据层的战争,才刚开始。
至于你要不要部署Miasma——
取决于你怎么看AI公司和内容创作者之间的关系。
我没有标准答案。
说实话。
相关文章:
- • Firecrawl官网
- • Miasma GitHub
夜雨聆风