10+年产品经理聊聊产品、测测产品,产品人交流学习成长平台,按 Ctrl+D 收藏我们
关于我 留言板 小程序 标签云

苏米客

  • 首页
  • AIGC
    • AI最新动态
    • AI学习教程
    • AI工具集合
    • AI产品百科
    • AI编程开发
    • AI提示词
    • AI开源项目
    • AI智能体
  • Axure
    • Axure动态
    • Axure教程
  • 产品
    • 用户体验
    • 产品设计
    • 苏米杂谈
  • 资源
    • 产品UI组件库
    • 开源图标库
    • 中后台框架
  • 书单
    • AI书籍
    • 用户体验
    • UI视觉
    • 产品研究
    • 其他类型
  • 下载
    • Axure组件
    • Axure原型
    • 文档报告
    • 素材资源
  • 登录
  • 首页
  • AIGC
    • AI最新动态
    • AI学习教程
    • AI工具集合
    • AI产品百科
    • AI编程开发
    • AI提示词
    • AI开源项目
    • AI智能体
  • Axure
    • Axure动态
    • Axure教程
  • 产品
    • 用户体验
    • 产品设计
    • 苏米杂谈
  • 资源
    • 产品UI组件库
    • 开源图标库
    • 中后台框架
  • 书单
    • AI书籍
    • 用户体验
    • UI视觉
    • 产品研究
    • 其他类型
  • 下载
    • Axure组件
    • Axure原型
    • 文档报告
    • 素材资源
当前位置: 首页 » AI开源项目

Miasma:给 AI 爬虫挖坑,反爬虫陷阱

2小时前 AI开源项目 19 0

最近在梳理开源项目时,发现了一个有趣的防御工具——Miasma。相比传统的反爬虫方案(IP黑名单、User-Agent检测、速率限制),它采用了一种完全不同的思路:不是阻止爬虫,而是诱导它们进入一个精心设计的"陷阱",让其在无限循环中白白消耗算力、带宽和存储资源。这对于那些网站内容被无授权AI爬虫大规模抓取的团队来说,提供了一种低成本、高效的对抗方案。


项目概述

Miasma 是一个用 Rust 编写的蜜罐(Honeypot)型反爬虫系统,专门应对无授权的大规模爬虫行为。与其名字含义相同——Miasma(瘴气)会逐步削弱入侵者。

GitHub 地址:https://github.com/austin-weeks/miasma


核心工作原理

Miasma 的防御逻辑分为三个层次:

  1. 隐形陷阱入口
    • 在网页中埋入肉眼不可见的链接(通过 CSS display: none 隐藏)
    • 同时设置 aria-hidden="true" 和 tabindex="-1" 属性,确保屏幕阅读器和键盘导航完全忽略
    • 正常用户浏览网站不会接触到这些链接,只有自动爬虫会盲目跟随
  2. 无限循环内容生成
    • 一旦爬虫触发陷阱,Miasma 会源源不断生成自引用链接
    • 每个响应页面内都包含指向更深层级的链接,形成人工的链接图谱
    • 爬虫无法区分真实内容和陷阱内容,陷入深度优先遍历的死循环
  3. 资源消耗机制
    • 爬虫在循环中不断下载垃圾训练数据,消耗其带宽、计算资源和存储空间
    • 可配置深度限制和链接数量,精确控制对爬虫的"投喂量"
    • 通过强制 gzip 压缩,进一步增加爬虫的解压缩成本

核心功能特性

功能维度 具体能力
资源占用 极低的内存占用(可配置至 50-100MB),高效的并发处理
并发控制 可配置最大并发连接数(默认 500,可调至 50),避免自身服务器压力
深度限制 可设定爬虫最多遍历层级,如设限 10 万页后停止喂入新链接
流量压缩 强制 gzip 压缩,减少实际流量费用,增加爬虫解压成本
链接生成 每页可配置多条自引用链接,形成高度互联的虚拟内容图
代理集成 设计用于 Nginx 等反向代理后端,便于精细化流量控制

适用场景

Miasma 的应用场景相对特定,主要面向以下情况:

  • 内容创作平台:博客、新闻站、知识库等文本密集型网站,面临大规模未授权爬虫抓取
  • 模型训练数据防护:需要保护原创内容不被用于 AI 模型无授权训练的组织
  • 成本对抗:爬虫方需为带宽和计算付费的情况(公共云基础设施),此时在爬虫侧造成消耗成本具有威慑力
  • 流量压力管理:当 robots.txt 和 User-Agent 检测无效时,需要进一步的被动防御

局限性说明:此方案对于成本不敏感的爬虫(如大厂自有基础设施)效果有限,主要作用是提高无授权爬取的经济代价。


安装与部署

第一步:安装 Miasma

cargo install miasma

或从 Releases 页面下载预编译二进制文件。

第二步:在网页中埋入隐形链接

在 HTML 中添加隐藏链接,指向陷阱入口(如 /naughty-bots):


  Amazing high quality data here!

三个属性的作用:

  • style="display: none;" — CSS 隐藏,正常用户看不见
  • aria-hidden="true" — 屏幕阅读器忽略
  • tabindex="-1" — 键盘导航跳过

第三步:配置 Nginx 反向代理

http {
  # 基于 User-Agent 的限流,8MB 内存跟踪
  limit_req_zone $http_user_agent zone=miasma:8m rate=1r/s;

  server {
    location ~ ^/naughty-bots($|/.*)$ {
      # 超过频率直接返回 429,不排队
      limit_req_status 429;
      limit_req zone=miasma burst=5 nodelay;
      
      # 转发到 Miasma 后端
      proxy_pass http://localhost:9855;
    }
  }
}

这个正则匹配所有 /naughty-bots 路径变体(/naughty-bots、/naughty-bots/、/naughty-bots/xxx 等),确保爬虫无论如何路径遍历都被拦截转发。

第四步:启动 Miasma

miasma --link-prefix '/naughty-bots' \
       -p 9855 \
       -c 50 \
       --force-gzip \
       --link-count 5 \
       --max-depth 8

参数说明:

参数 含义 推荐值
--link-prefix 陷阱入口路径前缀 /naughty-bots
-p Miasma 监听端口 9855(非必需)
-c 最大并发连接数 50(内存占用 50-100MB)
--force-gzip 强制响应压缩 启用(省流量费用)
--link-count 每页生成的链接数 5-10
--max-depth 最大遍历深度 8-10(约 10 万页)

第五步:更新 robots.txt

虽然无授权爬虫不会遵守,但应该为遵规守纪的搜索引擎指明方向:

User-agent: *
Disallow: /naughty-bots

配置建议

根据不同场景调整参数:

  • 小型网站(月均流量 <10GB):并发数 50、深度 6-7、链接数 3-5
  • 中型内容平台:并发数 100-200、深度 8、链接数 5-8
  • 高流量站点:深度限制 5-6(减少单次陷阱消耗),通过 Nginx 限流在入口层次控制

相关项目推荐

如果你同时关注反爬虫防护的多个维度,可以考虑配套方案:

  • Traefik(反向代理)—— 更灵活的流量控制和路由
  • Fail2Ban(IP 黑名单)—— 应对高频率单 IP 爬虫
  • DataDome / Cloudflare Bot Management(商业方案)—— 更复杂的爬虫识别和行为分析
  • robots.txt 增强方案(如 Crawlers.txt 标准)—— 针对 AI 爬虫的协议层面规范

Miasma 的独特之处在于它的"蜜罐"思路,而非直接阻止,这使其能够与传统防御手段形成互补。


总结

Miasma 是一个设计精巧的"成本对抗"工具。它的哲学不是物理阻止,而是让不请自来的爬虫付出真实的经济代价——每多爬一个页面,就多消耗一分带宽和算力。

这个方案的有效性取决于一个前提:爬虫方在乎成本。对于成本敏感的个人爬虫、初创公司的数据抓取脚本,或是依赖公共云基础设施的团队,Miasma 能显著增加无授权爬取的经济压力。但对于资源充足的大型组织,可能需要结合其他防御层次(如 Cloudflare、API 鉴权、内容加密等)。

从产品角度看,Miasma 的价值在于:低部署成本、极低的自身资源占用、与现有基础设施(Nginx)的无缝集成。如果你的网站正在遭受大规模未授权爬虫困扰,且爬虫来自成本敏感的源头,这是值得一试的方案。

声明:本站原创文章文字版权归本站所有,转载务必注明作者和出处;本站转载文章仅仅代表原作者观点,不代表本站立场,图文版权归原作者所有。如有侵权,请联系我们删除。
未经允许不得转载:Miasma:给 AI 爬虫挖坑,反爬虫陷阱
#Miasma #反爬虫 
收藏 1
WorkBuddy 进阶:别再用默认模型了!切换 GLM-5.1 后我的工作效率翻了 3 倍
Claude 身份验证政策详解:Anthropic 新规对中国用户的影响与应对
推荐阅读
  • pi-mono:AI 智能体工具包,从 LLM 集成到智能体部署的完整工具链,包含编码代理 CLI、统一 LLM API 和 UI 库
  • Agent-Browser:为 AI Agents 优化的浏览器自动化CLI方案,减少 93% 上下文,强!
  • AI Hanlin:AI翰林院,IOS原生AI对话助手
  • Leon:开源AI助手,离线运行、语音对话、隐私无忧
  • banana-slides:你是不是在这个开源?用Nano Banana Pro生成PPT
评论 (0)
请登录后发表评论
分类精选
OpenSpec:比 Cursor Plan 更聪明?试试这款让 AI 编码更靠谱的规范驱动工具
8806 6月前
WeKnora:终于等到了腾讯ima的开源知识库框架,用 API 轻松打造本地智能文档检索
7766 7月前
Antigravity-Manager:这个开源神器让你白嫖ClaudeOpus 4.5,Gemini 3!还能接Claude Code等任意平台
5935 3月前
awesome-openclaw-skills:700+ Skills 一条命令装配完成,如何让本地 AI Agent 真正落地可用
5545 2月前
AIRI:你的开源AI女友,让你随时拥有属于自己的 AI VTuber
5245 7月前
iFlow CLI:让命令行终端不止于编程的AI效率开源神器
5219 7月前
Composio:让AI Agent自动完成工作任务,能让AI一键操控你的所有软件
5124 6月前
CompressO:开源免费的视频压缩神器,让你的硬盘瞬间轻松 10 倍
5033 7月前
SpecKit:从想法到代码只需5步?这个开源框架把规范驱动开发变成了现实
4950 6月前
就要创作:从提示词到创作团队,开源 AI 网文写作平台
4482 6月前

文章目录

关注「苏米客」公众号

订阅推送更及时,手机查看更方便
分类排行
1 Logo Generator Skill:大神开源,让AI帮你快速生成专业级Logo和展示图
2 Miasma:给 AI 爬虫挖坑,反爬虫陷阱
3 Anthropic Agent 三件套全面解读:Claude Code、Cowork、Managed Agents 定位与使用场景详解
4 蚂蚁集团开源 6 大可视化 Skill,Claude Code 画图能力大升级
5 Hermes Agent 架构深度拆解:三层骨架 + 六大子系统,为什么说它更像 Agent 操作系统
6 SBTI 人格测试中文 Wiki 开源:27 种结局全收录,稀有度大揭秘
7 Jellyfish:一站式 AI 短剧创作平台,剧本一键转分镜,快速生成竖屏/微短剧
8 ClawTeam-OpenClaw:告别单打独斗!让 AI 自己组建开发团队,自动分工、沟通、合并成果
9 GSD 开源项目详解:5 天 5 万 Star,解决 Claude Code 上下文腐烂问题
10 北邮饺子馆开源 AI Skill:餐厅也能玩 Agent,万物皆可 CLI 化
©2015-2024 苏米客XMSUMI 版权所有 · WWW.XMSUMI.COM 闽ICP备14005900号-6
微信文章助手 程序库 免费影视APP 免费字体下载 Axure RP 10 免费Axure模板 Axure元件库下载 申请友联