当你查看 AI 账单时,很难判断是否有异常。你首先需要一个基线,以便看到发生了什么变化——无论是失控的智能体,还是使用量激增 10 倍的员工。能够发现这些变化,你就能开始调查,而到目前为止,这很难做到。了解谁在用 AI 做什么,是组织当前面临的关键挑战之一。斯坦福大学的一份报告发现,59% 的组织表示,知识差距是负责任 AI 治理的最大障碍。这既是安全问题,也是财务问题。解决这些问题需要两件事:每个请求都有经过验证的身份(这样激增背后就有名字),以及该身份正常行为的画像。今天,我们同时宣布了这两项功能。带有 Cloudflare Access 的身份感知 AI Gateway 现已进入公开测试版,User Insights 也已向所有 AI Gateway 客户免费提供。它们共同将已经流经 AI Gateway 的流量转化为每个使用它的人和智能体的行为基线,并识别出偏离基线的行为。
什么是 AI Gateway?AI Gateway 是所有 AI 使用的中央控制平面。应用和团队不再直接调用 OpenAI、Anthropic、Google 或 Workers AI 的模型,而是先通过 AI Gateway 路由请求,让你在一个地方观察、保护和治理所有 AI 使用。它与你构建的应用以及开发者日常使用的编码工具配合使用。将 Claude Code、Codex 和 GitHub Copilot 等智能体工具通过 AI Gateway 路由,它们就与其他一切一样受到相同的可见性和控制。
身份感知 AI Gateway:借助 AI Gateway 与 Cloudflare Access 的集成,你可以在网关前放置自定义域名,并像保护其他任何应用一样用 Access 保护它。这意味着你可以:使用任何支持 SAML 的身份提供商(如 Okta 或 Entra)进行身份验证,无需生成和传递 Cloudflare API 密钥。设置策略,精确控制谁能访问你的网关。将请求发送到像 ai.example.com 这样的干净主机名,URL 中不包含账户 ID 或网关 ID。现在,每个经过身份验证的请求都携带来自 Access 的用户身份。AI Gateway 将经过验证的 Access 用户 ID 添加到请求元数据中,作为 cf.user_id,这样你就可以按实际发起请求的人筛选日志、分析和支出。结合支出限制,该身份成为预算工具。由于每个请求现在都带有真实用户,你可以设置每用户支出限制:为每个用户提供自己的预算桶,当达到限制时阻止进一步请求或回退到更便宜的模型。不再有意外账单,也没有共享 API 密钥隐藏谁花了多少钱。我们的早期采用者之一 Flexport 就遇到了这个问题。Flexport 的高级安全工程师 Max Baumgarten 表示:“共享 API 密钥几乎无法判断谁在使用 AI 服务,也无法应用我们已有的员工访问规则。将 Cloudflare Access 放在 AI Gateway 前面,为每个请求提供经过身份验证的身份,并让我们在网关使用现有的身份策略。我们的团队可以采用 AI 工具,而无需为每个客户端创建单独的身份验证系统。”在不久的将来,你将能够使用用户的身份提供商组来设置支出限制或控制组可以访问的模型。例如,让机器学习团队访问前沿模型,限制支持团队的支出,或为特定项目工作的每个人设定预算,所有这些都映射到你在身份提供商中管理的组。
新的 User Insights 标签:在 AI Gateway 中,你现在会看到一个名为 User Insights 的标签。User Insights 读取通过网关的流量,并将其转化为每个账户的行为画像。它了解每个账户通常如何运作,识别偏离该模式的账户,并为你提供区分恶意智能体和忙碌工程师的上下文。它适用于已经通过网关的流量,因此无需设置。User Insights 跟踪成本,包括浪费的地方,如低缓存命中率和过大的上下文窗口。很多工具已经能做到这一点。它们不会告诉你账户行为是否正常。这是我们选择关注的重点,与成本控制并列。
为每个账户建立基线:人和智能体:每个账户都会随着时间留下行为指纹,无论是人还是智能体。每三小时总结一次工单的智能体是紧凑且一致的。人则更杂乱,提示词多变,时间不规律,在难题上长时间工作。两者都是合理的,因此相同的偏差对一个人可能是噪音,对另一个人可能是真正的信号。在 User Insights 中,我们首先对会话进行评分,而不是单个请求。绝对阈值在这里失效:重度用户 500 美元的跳跃可能是正常的,而一个总是花费 5 美元的智能体的 50 美元会话是 10 倍变化,可能会被忽略。因此,我们将每个会话与账户自身的历史进行比较,使用过去 30 天的第 95 百分位(p95)会话成本。这让我们了解账户通常如何运作,任何超过其 p95 的 2 倍以上的情况都是异常行为的强候选。以下分析概述了我们如何得出这些数字。
图 1:会话成本异常检测:如何阅读上图:图表绘制了我们内部流量中的真实会话。每个点代表一个单独的会话(以对数刻度绘制):X 轴(会话成本):总成本(美元)。Y 轴(x 用户 p95):会话超过用户个人基线的次数。两条虚线阈值线将会话分为四类:右上(★ 星号):超过用户 p95 基线的 2 倍和账户级 p99 上限。这些是代表有意义异常支出的高相对峰值,将触发警报。左上:高相对峰值(2 倍用户 p95),但低于账户 p99 下限。我们忽略这一点,以避免对小额变化发出警报。右下:高绝对支出,但与该用户典型的高使用率一致。这也被忽略为常规行为。左下:正常活动,完全在两条基线之内。
图 2:账户级会话成本分布:此直方图(图 2)映射了整个组织的每个会话成本,以建立账户范围的上限:典型使用:绝大多数会话成本远低于 10 美元,第 95 百分位为 20 美元。账户 p99(200 美元):整个公司只有 1% 的会话达到或超过 200 美元。那么为什么我们选择 p99?将绝对美元上限设置为账户 p99 创造了一个有意义的门槛。它保证异常不仅是特定用户的突然变化,而且在整个组织的所有会话中排名最昂贵的 1%。
图 3:单个用户会话历史:基线不是静态的。随着账户习惯的变化,其滚动 p95(绿线)和 2 倍阈值(橙线)也随之移动,因此警报始终反映最近的行为,而不是一次设定的数字。我们还应用了美元下限,因此峰值必须在统计上不寻常且值得管理员花时间调查。这个美元下限确保微用户的 500 倍波动(几分钱)永远不会触发警报。
检测恶意行为的正确视角:经过上述所有分析,管理员看到的是打破自身模式并过滤掉所有正常内容的账户视图。这个过滤后的视图就是恶意行为源。公司概览显示异常行为:这种行为很难捕捉,因为信号从来不是新工具或阻止的操作。它是一个受信任的账户做了更多它已经被允许做的事情。可能是一个服务账户