如何管理良性机器人 | 良性机器人与恶意机器人

这不仅是需要管理不良的机器人。机器人管理策略需要避免在阻止不良机器人的同时阻止良性机器人。

学习目标

阅读本文后,您将能够:

  • 了解良性机器人和恶意机器人的区别
  • 了解良性机器人为什么”好“,为什么良性机器人需要能够访问网络属性
  • 学习管理良性和恶意机器人的有效策略

相关内容


想要继续学习吗?

订阅 TheNET,这是 Cloudflare 每月对互联网上最流行见解的总结!

参阅 Cloudflare 的隐私政策,了解我们如何收集和处理您的个人数据。

复制文章链接

什么是良性机器人?

良性机器人:聊天机器人、监控机器人、搜索引擎机器人

机器人(bot)是一种计算机程序,可以自动通过互联网与网络媒体资源进行交互。我们使用 “善意机器人” 这一术语指代任何执行任务时不会刻意损害网站或进行其他恶意行为的机器人。由于善意机器人可能与恶意机器人具有相同特征,因此在阻止恶意机器人而不影响良性机器人方面可能会面临挑战。

现有的很多良性机器人,各自都是为不同的任务而设计的。以下是一些示例:

  • 搜索引擎机器人:也称为 Web 爬虫或蜘蛛,这些机器人会 “爬取”(即查看)互联网上几乎所有网站的内容。之后,它们会对这些内容进行索引,以便相关用户搜索时,这些内容能出现在搜索引擎结果中。它们由 Google、Bing 或 Yandex 等搜索引擎运营。
  • AI 爬虫:与搜索引擎爬虫类似,这些机器人会复制内容以供大型语言模型(LLM)检索增强生成 (RAG)和其他 AI 场景使用。(虽然 AI 爬虫操作者通常不会故意损害被爬取的网站,但那些抓取原始内容的操作者可能会给网站运营者带来直接成本,因为他们会发送大量请求访问网页。)
  • 版权机器人:机器人在平台或网站爬行,寻找可能违反版权法的内容。这些机器人可以由拥有版权材料的任何人或公司操作。版权机器人可以查找重复的文本、音乐、图像甚至视频。
  • 站点监视机器人:这些机器人监视网站指标(例如,监视反向链接或系统中断),并可以向用户发出重大更改或停机的警报。例如,Cloudflare 运营着一个名为 Always Online 的爬虫程序机器人,该机器人告诉 Cloudflare 网络在源服务器关闭时提供网页的高速缓存版本。
  • 商业机器人:由商业公司运营的机器人通过互联网搜寻信息。运营这些机器人可能是监视新闻报道或客户评论的市场研究公司,旨在优化广告展示位置的广告网络商,或是抓取客户网站的 SEO 代理商。
  • Feed 机器人:这些机器人在互联网上爬行,寻找具有新闻价值的内容以添加到平台的新闻推送中。内容聚合网站或社交媒体网络可能会运营这些机器人。
  • 聊天机器人:聊天机器人通过用预先编程的响应来回答用户,从而模仿人类对话。一些聊天机器人足够复杂,可以进行冗长的对话。
  • 个人助理机器人:Siri 或 Alexa 是常见的例子。这些程序通常由 AI 驱动,比典型的机器人要先进得多。

良性机器人与恶意机器人

网站管理员务必注意,在尝试过滤恶意机器人流量时,不要无意间拦截了 “善意” 机器人。例如,许多网站通常允许搜索引擎 Web 爬虫机器人通过,因为如果没有它们,网站将无法显示在搜索结果中。

恶意机器人可以窃取数据,闯入用户帐户,通过在线表单提交垃圾数据以及执行其他恶意活动。恶意机器人的类型包括凭证填充机器人内容抓取机器人垃圾邮件机器人点击欺诈机器人

什么是 robots.txt?

善意机器人管理始于在网站的 robots.txt 文件中正确设置规则。robots.txt 文件是驻留在网络服务器上的文本文件,它为所有访问托管网站或应用的机器人指定规则。这些规则定义了机器人可以和禁止抓取的页面、它们应该和不应跟踪的链接,以及其他关于机器人行为的指令。Cloudflare 提供了 托管 robots.txt 服务来简化配置这些规则的过程。

一些(但不是全部)善意的机器人会遵循 robots.txt 文件中声明的偏好。例如,Google 表示,如果网站所有者不希望某个页面出现在 Google 搜索结果中,他们可以在 robots.txt 文件中编写规则,以阻止 Googlebot 索引该页面。同样,如果网站不希望其内容用于训练 LLM,可以通过 robots.txt 文件表达该偏好。需要明确的是,robots.txt 文件实际并不能阻止机器人访问网站,而且部分机器人运营商会直接无视这些文件。

什么是允许列表?

允许列表可以视为活动的来宾列表。如果不在嘉宾名单上的某人试图进入活动场地,安全人员将阻止他们进入。名单上的任何人都可以自由参加活动。这样的方法是必要的,因为不请自来的客人可能会表现不佳并破坏其他人的聚会。

对于机器人管理,这基本上就是白名单的工作方式。允许列表是允许访问 Web 资产的机器人列表。通常,这通过“用户代理”、机器人的 IP 地址或两者的组合来工作。用户代理是一串文本,用于向 Web 服务器标识用户(或机器人)的类型。

通过确保列表允许良性机器人用户代理(例如属于搜索引擎的机器人)并阻止不在列表中的所有机器人,网页服务器就可以确保良性机器人的访问。

网页服务器还可以将已知的恶意机器人列入阻止列表。

什么是阻止列表?

在网络环境中,阻止列表包含了IP地址、用户代理或其他禁止访问服务器、网络或网页媒体资源的在线身份指示符。这与使用允许列表略有不同:基于阻止列表的机器人管理策略将阻止那些特定的机器人并允许所有其他机器人通过,而允许列表策略仅允许指定的机器人通过并阻止所有其他机器人。

允许列表是否足以让良性机器人进入并阻止恶意机器人?

恶意机器人有可能伪造其用户代理字符串,使其至少起初看起来像善意机器人 —— 就像小偷可能会使用伪造的身份证,假装自己在嘉宾名单上,从而混入活动现场一样。

因此,良性机器人允许列表必须与其他方法结合起来,以检测欺骗,例如行为分析或机器学习。除了简单地允许已知的良性机器人外,这还有助于主动识别恶意机器人和未知的良性机器人。

那么 AI 机器人呢?

大多数 AI 工具通过 Web 内容进行自我训练。AI 爬虫机器人会在 Web 上搜索新内容。这一点是好是坏,取决于特定网站的商业模式。

一些网站运营者可能会发现,AI 机器人的持续爬取会耗尽其后端资源,或导致带宽成本过高。其他一些组织可能会发现,如果他们依赖于原始内容来获取收入(例如广告收入模式),他们的商业模式会受到负面影响,因为 AI 工具可以利用他们的内容来帮助回答用户查询,而用户无需访问他们的网站。

机器人管理器解决方案有什么作用?

机器人管理产品允许善意机器人访问 Web 资产,阻止恶意机器人,并帮助网站管理员管理与 AI 爬虫和工具的关系。Cloudflare Bot Management 使用机器学习和整个网络流量的行为分析来检测恶意机器人,同时自动并持续地允许善意机器人访问。使用托管 robots.txt,Cloudflare 可以自动修改网站的 robots.txt 文件,以表达网站管理员的偏好。通过 Cloudflare 的按爬取付费功能,Cloudflare 使网站管理员能够允许或阻止特定的 AI 爬虫,甚至按每次爬取向爬虫运营者收费。