为什么 AI 接口防护要重新设计
Vercel 这篇文章把一个很现实的问题讲透了,普通 HTTP 请求很便宜,但一次前沿模型调用可能非常贵。攻击者如果能把你的 AI endpoint 包装成 OpenAI 或 Anthropic 兼容接口,再通过住宅代理和批量账号转售推理能力,你面对的就不是传统刷接口,而是高利润的 inference theft。传统登录、会话校验和粗粒度限流,很难挡住这种套利。
先识别高风险接口
所有能让调用方控制 prompt、模型参数或工具行为的公网接口都要标成高风险。AI Playground、文档问答、客服助手、代码生成、图片生成和通用 agent endpoint 尤其要优先检查。风险高低不只看访问量,还要看单次调用成本、输出是否可转售、接口是否接近标准 provider 格式,以及攻击者能否轻松适配到现成客户端。
把校验放到每一次 AI 请求上
Vercel 的核心判断是,防护不能只发生在注册、登录或 session 创建时。因为攻击者会把这些成本摊到大量推理请求上,真正烧钱的是后面的每一次模型调用。实战里应该把请求级检查放在模型调用之前,包括 Bot 检测、账号信誉、IP 与设备信号、请求频率、prompt 模式、模型成本、异常并发和历史失败记录。任何一项单独都不够,组合起来才有意义。
推荐的请求链路
- 入口层先做基础认证和配额,挡住明显未授权流量。
- 进入 AI gateway 前做 Bot 与自动化行为分析,重点判断是不是代理池、批量账号或兼容接口转发。
- 根据模型价格和 endpoint 类型计算风险分,越贵的模型越要严格。
- 高风险请求进入挑战、降级模型、人工审核或直接拒绝。
- 所有被放行的请求写入成本日志,按用户、IP 段、模型、prompt 类型和响应 token 汇总。
不要只靠限流
限流仍然要做,但它不是答案。攻击者可以用大量 IP、账号和下游用户摊平限制。更要命的是,AI 端点被盗用后,流量看起来可能像很多真实用户的正常请求。团队需要监控的是单位账号成本、模型分布突变、低历史账号突然调用高价模型、短时间内大量相似 prompt、同一 user agent 或 adapter 特征复用等信号。
落地清单
- 给所有 AI endpoint 标记成本等级,不同等级走不同防护策略。
- 禁止前端直接暴露 provider key,所有模型调用必须过服务端网关。
- 为 playground 类接口增加更低默认额度和更强风控。
- 对标准兼容接口请求做 adapter 特征识别,尤其是 header、路径、错误重试和流式响应模式。
- 设置按日成本熔断,超过阈值自动降级或暂停高价模型。
建议产出
可以把这篇文章转成一份 AI endpoint 风险审计表。每个接口填入公网可访问性、prompt 控制程度、模型成本、是否支持流式输出、是否需要登录、是否有请求级 Bot 检测、是否有成本熔断。只要某个高价接口没有请求级防护,就应该优先修。