万圣节特惠不给糖,就修片!三档同时降价,永久授权立省 $30截至 11 月 2 日 23:59(美西时间)

查看定价

别让桌面应用变成内网探测器:给 AI Agent 的 SSRF 防护

AI 助手可能把一条指向你家路由器的链接交给桌面应用。KwaFlux 像浏览器一样解析主机名、再做 DNS 复核,并讲清这套防护管到哪儿为止。

要点速览

  • 如果 AI 助手能让桌面应用去抓取一个链接,一条被投毒的指令就能把它指向你的路由器、本机服务或云上的元数据地址,而不是一个视频。
  • 同一个地址有很多种写法:127.1、2130706433、0x7f000001、[::ffff:127.0.0.1] 指的都是这台电脑。KwaFlux 按浏览器的规则解析主机名,所以每种写法都会还原成真实地址再检查。
  • 下载真要开始时,KwaFlux 还会解析主机名,指向本机或内网就拒绝;同时不误伤代理软件 fake-IP 模式所用的地址段。
  • 下载过程中的跳转和 DNS 重绑定目前还不在防护范围内。这一点我们直说,相关改进已在路线图上。

AI 助手请 KwaFlux 下载一个链接时,真正发起连接的是 KwaFlux 的下载引擎。这个引擎跑在你的电脑上,也就是在你的网络里面。如果链接指向的不是视频页面,而是 http://192.168.1.1/,一个不设防的应用就会替助手去连你的路由器。

KwaFlux 会阻止助手提交的链接访问这台电脑和内网地址。下面讲怎么做到的,以及这道防护在哪儿止步。

本文会讲 SSRF 对桌面应用意味着什么、黑名单为什么挡不住地址的各种写法、KwaFlux 怎样既查写出来的主机又查解析出的地址,以及哪些情况还没覆盖。

目录

  1. 什么是 SSRF?
  2. 为什么 AI 驱动的桌面应用会暴露在风险里
  3. 一个地址,多种写法
  4. 第一层:像浏览器一样解析主机
  5. 第二层:看主机名解析到哪儿
  6. fake-IP 的例外
  7. 防护管到哪儿为止
  8. 常见问题

什么是 SSRF?

服务端请求伪造(SSRF)是一种攻击:设法让某个程序替攻击者向他指定的目标发请求,而这个目标通常是攻击者自己够不着的,比如同一台机器上的服务或内网。

这个名字来自 Web 服务器,但任何替别人抓取 URL 的程序都适用这个套路。MCP 的安全指南列出了常见目标:http://192.168.1.1/admin 这类内网 IP、http://169.254.169.254/ 上的云元数据接口,以及 http://localhost:6379/ 这类本机服务。

为什么 AI 驱动的桌面应用会暴露在风险里

三件事凑到了一起:

  1. 应用会抓取 URL。 KwaFlux 的文件下载功能会去连接给它的任何链接。
  2. 应用就在你的网络里。 从你的电脑看,192.168.x.x 是你的路由器、NAS 或打印机,127.0.0.1 是你在本机跑的所有服务。
  3. 链接可能来自模型读到的文字。 视频简介或网页可以叫助手“先查一下这个链接”。这是怎么发生的,见网页标题里的提示词注入。

下载引擎去抓一个内网地址,响应未必会给任何人看,但哪怕一条报错信息,也能让攻击者知道那个地址上有没有设备。这就是我们说的“把桌面应用变成内网探测器”。

一个地址,多种写法

靠字符串比对挡住 127.0.0.1 和 localhost 是不够的。URL 解析器接受同一个地址的许多其他写法。下面是 Node.js 20 里 WHATWG URL 解析器对其中几种写法的解析结果:

链接里的写法解析出的主机
标准写法 http://127.0.0.1/127.0.0.1(本机)
两段简写 http://127.1/127.0.0.1(本机)
单个十进制数 http://2130706433/127.0.0.1(本机)
单个十六进制数 http://0x7f000001/127.0.0.1(本机)
首段十六进制 http://0x7f.0.0.1/127.0.0.1(本机)
首段八进制 http://0177.0.0.1/127.0.0.1(本机)
单个八进制数 http://017700000001/127.0.0.1(本机)
末尾带点 http://127.0.0.1./127.0.0.1(本机)
IPv6 完整写法 http://[0:0:0:0:0:0:0:1]/[::1](本机)
IPv4 映射的 IPv6 http://[::ffff:127.0.0.1]/[::ffff:7f00:1](本机)
内网地址的两段简写 http://10.1/10.0.0.1(内网)
十六进制的元数据地址 http://0xa9fea9fe/169.254.169.254(链路本地)

除最后两行外,每一行指向的都是这台电脑。10.0.0.1 是内网地址,169.254.169.254 是云平台用来提供实例元数据的链路本地地址。

WHATWG URL 标准解释了原因:以 0x 开头的段按十六进制读,以 0 开头的段按八进制读,不足四段的地址由最后一段补满剩下的字节。OWASP 的 SSRF 防范指南也提醒了同样的“十六进制、八进制、Dword”编码;MCP 的安全指南还补了一句:“不要自己手写 IP 校验。攻击者会利用自定义解析器常常漏掉的编码技巧(八进制、十六进制、IPv4 映射的 IPv6)。”

第一层:像浏览器一样解析主机

KwaFlux 不做字符串比对。它按浏览器使用的同一套规则解析主机,再检查解析结果:

  • WHATWG 主机解析会在检查之前,把简写、八进制和十六进制段、单个数字的地址以及末尾的点,统统还原成真实地址。
  • IPv6 按全部 16 个字节检查,所以像 [::ffff:7f00:1] 这样的 IPv4 映射写法会被认出是环回地址,而不是被当成某个陌生的 IPv6 地址放过。
  • **含 % 的主机一律拒收。** 这样就排除了 IPv6 区域标识和主机名里的百分号编码花招。
  • 环回、内网和链路本地地址都会被拒绝,比如 127.0.0.0/8、::1、10.0.0.0/8、192.168.0.0/16 和 169.254.0.0/16。

这正是 OWASP 的建议:检查时“用方法或库输出的值作为 IP 地址”,而不是用户敲进来的文本。

第二层:看主机名解析到哪儿

一个主机名看着无害,照样可能指向你的内网。router.example.net 的 DNS 记录也可以写成 192.168.1.1。

所以,一个已登录用户的下载要进队列时,KwaFlux 还会解析主机名,超时时间 2 秒。只要解析结果指向本机或内网,这次下载就会被拒绝。

公网上有些主机名的 DNS 记录就指向 127.0.0.1 或内网地址,这一步检查拦的就是它们。

fake-IP 的例外

有些代理软件会用一种“fake-IP”模式:对每次 DNS 查询都回一个 198.18.0.0/15 段里的地址,再由代理自己去连真正的目标。IANA 的登记表把这个地址段列为“Benchmarking”(基准测试,RFC 2544),既不是内网段,也不是环回段。

如果 KwaFlux 把这个段当成内网,用这类代理的电脑上所有下载都会失败。所以在检查解析结果时,这个段被排除在外。

防护管到哪儿为止

这里我们要说得准确,因为 SSRF 防护最容易被说过头。

  • 覆盖的:助手提交的链接本身。写出来的主机和它的主机名解析出的地址,都会检查。
  • 还没覆盖的:下载过程中发生的事。一个链接可能检查时解析到公网地址,片刻之后又解析到内网地址(DNS 重绑定);一个公网页面也可能跳转到内网地址。MCP 的安全指南把前者称为“检查时与使用时”不一致的问题;OWASP 也指出,“在校验和连接之间多出一次未经检查的 DNS 查询,就能绕过这些检查”。

更周全的办法,是让下载引擎的连接都经过一个组件,在每次连接真正发生的那一刻检查它,包括每一次跳转。这已经在我们的路线图上。之所以还没做,是因为它要改三套代码库里下载引擎的联网方式,会影响每一次下载,包括你自己发起的下载,需要单独发版、单独测试。

所以准确的说法是:KwaFlux 会阻止 AI 助手让它去访问这台电脑和内网里的地址。它不承诺任何连接都到不了那里,我们也不会把它说成“只能访问公网”。

在那之前,还有两道限制帮得上忙:AI 发起的下载默认关闭;在“每次询问”档,任何东西被抓取之前,你都会先看到链接。见AI 不能替你按确认键。

结语

查地址,别查写法。像浏览器一样解析主机,下载开始前看主机名解析到哪儿,别误伤代理的 fake-IP 地址段,并且把还没覆盖的部分讲清楚。KwaFlux 就是这样防止助手的链接把它变成你内网的探测器。

让助手只抓它该抓的

KwaFlux 的本地 MCP 服务让 Codex、Claude、Cursor 等 MCP 应用处理你的文件,并检查助手提交的每一个链接。AI 处理在你自己的 GPU 上运行,媒体文件不会为了处理而上传。可在 Windows 10(64 位,1809 或更新版本)、Windows 11,以及搭载 Apple Silicon 的 macOS 12 或更新版本上运行。导入文件和浏览应用都不需要账号。仅在导出、转换、文件修复和从链接下载文件时需要登录并购买付费方案。

下载 KwaFlux · 查看方案

用你自己的素材试试效果

下载 KwaFlux,付费前先用自己的素材免费预览效果——无需注册,在你的 GPU 上处理,处理不需要上传媒体文件。 视频预览可选 1、3或5 秒;防抖预览可选 5、15或30 秒。

常见问题

SSRF 用大白话怎么说?

就是诱导一个程序替你发请求,发到你自己够不着的地方,比如路由器的管理页面或同一台电脑上的服务。任何替别人抓取链接的程序,都可能被这样利用。

为什么 127.1 等于 127.0.0.1?

因为遵循 WHATWG 标准的 URL 解析器允许 IPv4 地址少于四段,由最后一段补满剩下的字节,127.1 就成了 127.0.0.1。十六进制和八进制的段也照样接受。

屏蔽内网 IP 能防住 DNS 重绑定吗?

不能。重绑定改的是主机名在检查和连接之间解析到的地址。要防住它,必须在连接那一刻检查,比如固定解析结果,或者经过一个逐次检查连接的出网代理。

198.18.0.0/15 这个地址段是干什么用的?

它是 RFC 2544 留给网络基准测试的。有些代理软件也拿它做 fake-IP 模式,用这个段里的地址回应 DNS 查询。它不是内网段,也不是环回段。

桌面应用也要担心 SSRF 吗?

要,只要它会抓取别人能左右的 URL。桌面应用就在你的家庭或办公网络里,它抓到的内网地址,能碰到网站碰不到的设备。见怎样保护本机的 AI 通道。

参考资料

  1. OWASP, SSRF prevention guide (encodings; DNS rebinding; redirects) (2026-10-25 查阅)
  2. WHATWG, "URL Standard" (IPv4 parser; IPv4 number parser; ends-in-a-number checker) (2026-10-25 查阅)
  3. IANA, "IPv4 Special-Purpose Address Registry" (198.18.0.0/15 Benchmarking, RFC 2544; 127.0.0.0/8; 169.254.0.0/16; last updated 2025-10-09) (2026-10-25 查阅)
  4. Model Context Protocol, security guidance for implementers (2026-07-28; Server-Side Request Forgery) (2026-10-25 查阅)
  • 信任
  • MCP 协议

KwaFlux 作者兼编辑。文章经 KwaFlux 编辑部审阅,依据产品调研记录与公开发布的规格。