KeyPooling:测量 LLM API 中继路径在何处瓦解提示缓存隔离
KeyPooling: Measuring Where LLM API Relay Paths Collapse Prompt Cache Isolation
KeyPooling测得五网关在共享凭证下对OpenAI与Anthropic均暴露跨客户缓存读。
攻击者是已授权的relay或provider客户,可提交小输出的自适应请求,并观察用量、价格、时延、路由元数据、错误与后续状态;可知道公开harness前缀或合成续写的短正确前缀。
- 中继分别认证客户,却常经共享提供商凭证转发。提供商按上游身份划分prompt cache,同一最终缓存身份下的客户可能读到彼此的缓存状态。公开智能体前缀往往已越过准入门槛。
- KeyPooling沿凭证、namespace、适配器、池、重试和嵌套跳追踪客户身份,用运行时记录核验离开网关的请求,并在提示词与日程固定时一次改一个预测分量。已知前缀用四请求单元判定;逐token恢复用主历史、影子历史和无受害者重放做归因。
- 五个可执行网关在共享凭证下对OpenAI与Anthropic都出现跨客户读取。OpenRouter周框架28个标签中12个有阳性路由。一条生产路由连续恢复八个受控位置。5713次回放中,公共区域后切分使建模成本增加1.7%至2.5%。
- 作者称OpenRouter标签框架不估计请求级流行率,且只用一对账户;三个框架层没有合格实例。提取最强证据是一条八步、16比特受控链,外推不建立生产驻留、可靠性、成本或可检测性。真实上游的namespace验证只覆盖NewAPI。
- 威胁模型
- 攻击者是已授权的relay或provider客户,可提交小输出的自适应请求,并观察用量、价格、时延、路由元数据、错误与后续状态;可知道公开harness前缀或合成续写的短正确前缀。relay、上游principal、路由与驱逐策略不受其控制。受害者均为研究者的第二账户,目标为合成canary。
- 被测模型
- grok-4-fast-non-reasoninggrok-4-1-fast-non-reasoninggrok-3grok-4grok-4-1-fast-reasoninggrok-4-20-non-reasoninggrok-4.3grok-3-minigrok-3-mini-fastgrok-4-fast-reasoninggrok-4-20-reasoning
- 基准
- OpenRouter weekly ranking frame (2026-07-26 to 2026-08-01)WildChatBIP-39openai/covalClaude Code/Cursor/OpenCode public prefixesfour-request cache unit
- 指标
- cached input countstrict positivecontrolled misssequential commitmodeled cost increase
论文提出 KeyPooling 测量方法,通过追踪客户身份在缓存查找与写入中的传递,发现五款开源 LLM API 中继默认都不把下游客户绑定到上游凭证,共享凭证下全部出现跨客户缓存读取。在连接 OpenAI 与 Anthropic 的测试中,五款网关在 OpenAI 上均返回 [0,1408,1408,0],在 Anthropic 上 h 介于 1,066 到 1,074。OpenRouter 的每周帧覆盖合格模型 80.5% 的 token 量,28 个标签中 12 个存在跨账户读取,占合格模型 token 量的 33.7%。一条生产路由上,受控流程在无目标访问权限下恢复了连续八个目标位置,对应 16 bits。
推荐理由论文给出可追踪中继路径身份的方法,并在五款开源网关上测得共享凭证下的跨客户缓存读取,部署中继的团队可据此检查自身路径。
深度解读
这篇论文试图解决什么问题?
共享最终缓存身份使中继客户能观察已知前缀是否已被使用。
中继把多名客户映射到同一最终缓存身份时,已知前缀是否被使用会跨客户可见。
- 场景:中继分别认证客户、计量并选择上游,却常以共享提供商凭证转发。prompt cache的查找使用提供商边界上可见的身份。作者认为,一方可从cached input count得知另一方是否提交过已知前缀,例如机密模板、据称泄露的提示词或特定上下文是否在共享域内被处理。
- 现有不足:作者称,已有工作在选定端点上显示缓存共享,但没有指出最终身份由哪个凭证、池、适配器或嵌套跳控制。CacheProbe观察到托管OpenRouter上的跨账户复用,以及客户自带独立作用域密钥时的分离;作者称这两端点同时改变principal、容量、调度、路由和亲和性,对比不能指出原因变换。
- 观察:作者认为隔离是具体最终路径的性质,而不是中继账户、项目或模型标签的性质。准入通常要求较长匹配前缀。文中17个公开Claude Code、Cursor、OpenCode前缀在Grok-2分词器下都超过1,024 token,私有内容开始前就已越过文中见到的256与1,024门槛。
- 做法:测量方法名为KeyPooling。它追踪已认证客户穿过查找与写入,核验运行时变换,并一次只改一个预测的身份分量。作者把结果标成M0(两客户到达同一最终身份)、A1(已知前缀成员关系)和A2(逐token恢复),并导出每条最终路径的防御契约。
- 威胁模型:
- 目标:A1判断已知前缀P在驻留窗口内是否存在;A2还要求精确报告、对受害者状态的归因、稳定路由、候选覆盖和预算,才能读出攻击者起初没有的续写。
- 知识:攻击者是已授权的relay或provider客户,可持有公开harness前缀,或合成续写的一段短正确前缀。阳性只说明P属于某个共享最终身份的客户,不能点名账户。
- 能力:可提交输出上限很小的自适应请求,观察普通用量字段、价格、时延、路由元数据、错误和后续状态。核心信号是文档化的cached input count,而不是网络时序分类器。
- 边界:relay、上游principal、物理分片、路由和驱逐策略不在其控制内。受害者都是研究者控制的第二账户、工作区、团队或下游principal;目标都是无功能合成canary;主动实验只查询受控内容。
有哪些相关研究?
作者称端点对比不能指出丢掉客户身份的那一次路径变换。
网关缓存隔离
- CacheProbe(Fahey, 2026)比较直连提供商、托管OpenRouter和独立作用域BYOK,观察到托管容量上的跨账户复用,并把对比归因于网关凭证共享。作者称该对比把principal所有权、容量池、调度器、路由和亲和性捆在一起,控制变换仍未定位。
提供商审计与缓存侧信道
- Gu et al.(2025)用统计时序检验区分生产提供商API上的缓存与共享层级。作者称该工作刻画的是提供商边界,本文则跟踪到达该边界之前的身份变换,主观测量用缓存输入计数,把网络时序留在核心实验之外。
- Early Bird(Song et al., 2025)研究共享KV cache与语义缓存中的时序信道;InputSnatch(Zheng et al., 2024)把时序与学习到的候选生成结合起来。
- 更早的系统模式包括Web缓存键混淆(Mirheidari et al., 2020)和虚拟机间内存去重(Bosman et al., 2016)。作者称LLM中继还加上认证后的schema翻译、池化凭证、嵌套路由、按提供商不同的缓存权限,以及私有内容前的长公开前缀。
提示词重构
- PROMPTPEEK(Wu et al., NDSS 2025)在白盒服务系统中按最长前缀调度重构缓存提示词;Early Bird也通过时序重构缓存前缀。
- OptiLeak(Wang et al., 2026)改进候选构造;SpliceLeak(Sun et al., 2026)研究RAG中超出前缀的KV融合。作者称PROMPTPEEK的重构在本地可控运行时,本文的提取讨论闭源权重生产中继上的归因和依赖恢复,且原始字符串接口没有提供商token标识。
保留共享的防御
SafeKV(Chu et al., 2026)、CachePrune(Wu et al., 2026)和PrefixWall(Pennas et al., 2026)用块安全、敏感token过滤或所有权策略保留选定共享。作者称三者的保证取决于分类、策略覆盖和第一次探测,并认为它们补充而非替代最终边界上的不可伪造身份。
作者把vLLM的cache_salt和SGLang的前缀缓存选项称为服务端已有原语,并称测量中的提供商没有把namespace原语开放给API客户。
基线与语料:论文没有复现一套命名攻击算法当基线。对照是四请求单元下的共享凭证对独立作用域、managed对BYOK,以及principal、namespace、池分区、适配器和嵌套跳的配对干预。语料包括17个公开智能体前缀、OpenRouter在2026-07-26至08-01的周排名、WildChat,以及BIP-39的2,048词词典。
作者把本文放在端点暴露、服务环境中的重构和缓存复用控制这三类工作的交汇处:用源码追踪、运行时记录和一次只改一个分量的干预,定位中继上形成最终缓存边界的那一次身份变换。
论文如何解决这个问题?
KeyPooling一次改一个身份分量,定位最终查找与写入是否丢掉客户身份。
KeyPooling把中继缓存机密性写成:每条最终查找和写入都必须保住已认证客户身份。测量分源码追踪、运行时观察和受控缓存测试;防御契约要求提供商强制域,或由原客户导出的namespace活过最终边界。
最终身份与能力分级
- 路径π在提供商边界选出上游principal c、namespace n、模型或部署m、路由ρ、亲和值s、池分区p,以及可选缓存资源句柄r。查找与写入可以在同一次请求里选不同值。
- 最终身份写成 Ix(π,d,q,H,t)=(c,n,m,ρ,s,p,r)x,其中x为查找L或写入W。作者称,原客户得到保护,仅当每条最终路径要么选择提供商强制的独立principal,要么把不可伪造的客户namespace同时送进查找和写入。入口检查盖不住后续适配器、池或回退。
- M0是两名下游客户到达同一最终缓存身份。A1是缓存形成、可达且报告可见时,攻击者能判断已知前缀P是否存在。A2还要报告能分开竞争扩展、归因不被攻击者自己的写入污染、路由和条目能撑过多次探测、候选集含真值,以及预算够用。作者称五者任一失败,A1边仍可开着。
- 四请求单元按序为:Alice发送新生成的高熵前缀P,Bob发送P,Alice重复P,Bob发送无关前缀P′。严格阳性是缓存计数向量[0, h, h, 0],受控未命中是[0, 0, h, 0]。该单元把预申报复用阈值τ(q)设为1。热响应指归一化计数R(q)不低于τ(q)。Figure 2把第二次请求标成攻击动作。
追踪与配对干预
- 源码追踪跟随已认证客户穿过路由对象、提供商凭证、请求翻译、namespace字段、池、原生与兼容适配器、重试和回退。可执行网关的观察者记录授权与请求体摘要、身份字段、服务模型、状态和用量,并核验上游调用次数与顺序,以排除精确响应的本地缓存。
- 干预保持提示词、日程、输出上限、模型标签和观察者不变,只改路径模型预测的一个选择器。作者给出四条预测:拆开决定查找域的principal或namespace应去掉客户间的边并保留所有者热重复;池中观察应由被选分区而非公开端点决定;嵌套中继里内层覆写应击败外层保留,内层继续携带客户则应去掉边;同一实现中保留与丢弃同一身份字段的适配器应给出不同客户间结果。
- 托管容量对BYOK被作者标成整组平台对比,因为凭证所有权、容量、调度和亲和性会一起变。未改动的生产服务结果只代表一条路由和一个时间窗。缓存控制接口另测:自动、按请求开启,或显式对象。显式对象提交提供商真实的创建方法;创建在到达观察者前失败称为入口拒绝,创建与引用都穿过网关称为已委托。
提取归因
- 实时提取从已建立的A1边出发。受害者先写已知上下文再写短秘密,因此其存储前缀短于攻击者带候选扩展的探针。每个候选的相对差分为主历史读数减去同一探针的影子参考。影子历史使用同一凭证、路由和日程,头部换一块等长伪随机标记,且没有受害者状态。
- 提交规则是恰好一个候选达到公共基线加一,其余都停在该基线: ∃! c⋆:δ(c⋆)=β+1, δ(c)=β ∀ c≠ c⋆. 读主历史前,对应影子请求发两次,第一次形成攻击者自己的状态,第二次提供参考。完整重放去掉受害者预热后,每个候选必须回到基线。门不一致则弃权。
- 附录B-H把复用阈值写成报告的提示词token数减32,并要求所有者重复比初次至少多100个缓存token。Stage C在流量前冻结一个nonce承诺和八个位置、四个各成一个提供商token的词;候选顺序独立打乱并对计分器隐藏。闭字母表用来把顺序组合与候选生成质量分开。
防御契约
- 作者用客户不可得的密钥对租户版本、客户、模型、部署和策略版本做HMAC,各字段按长度编码,截断到128比特得到namespace。客户提供的访问控制值被忽略,规范化错误则失败关闭。该值必须穿过提供商选择、池、别名、流式、重试、回退和嵌套,且查找与写入都要执行。
- 公共/私有切分只共享运营者核验过的带版本公开区域,并在第一个私有token之前引入namespace。用户专属系统指令、检索、工具输出、记忆、环境元数据和动态插入内容默认私有。作者称把动态内容标成公开即违反配置规则。报告按128 token分块时,切分点还必须与每个准入门槛上的报告块对齐,否则块内私有token会被公开。
- 附录A把k=128下的碰撞写成并集上界。作者称这只是缓存状态的条件不可达;完整记录隔离还要求计费、时延、计算、错误、路由、配额和后续状态也不依赖另一客户的私有缓存历史。
论文做了哪些实验?
作者报告共享凭证下五网关对两家提供商均出现跨客户缓存读。
实验设置
- 网关:冻结修订上审计NewAPI、uni-api、MetaAPI、LiteLLM、Sub2API和One API。后五个可执行,各有两名已认证下游客户;One API只提供源码与谱系。观察者转发真实OpenAI Chat Completions和原生Anthropic Messages。形式四请求单元不允许重试,并要求一个completion token。
- 直接服务与模型:Provider A、B、C是作者对直连服务的代号,正文未给出型号名。提取链的服务模型是grok-4-fast-non-reasoning。Table XI在同一中继、同一日期帧上校准11个Grok标签的报告粒度。
- 生产抽样:OpenRouter框架是2026-07-26至08-01每日token量前50的并集,共28个合格闭源聊天标签,分类只用最新四请求协议,且在知道缓存结果之前选定。独立中继按五个可执行项目分层,名称编码;论文未报告LLM裁判。
- 指标:归一化cached input count。客户间严格阳性为[0, h, h, 0],受控未命中为[0, 0, h, 0]。所有者重复为冷则形成不确定;模型、错误、重试或路由不可比则路由不确定。提取按唯一相对差分提交,否则弃权。
- 对照:共享对拆分principal或namespace、managed对独立作用域BYOK、记录到的同一对不同池分区、同一项目内适配器、嵌套覆写对保留。确认前冻结账户对、canary、提示词摘要、日程、分类器、重试规则和停止条件,并保留第一次合格执行及每次未命中和弃权。
- 规模:十个网关–提供商格、Provider A的15次试验、OpenRouter的28个标签、一条八位置提取链。跨保留的严格活动文件,账本计入156次请求。论文未报告每次生产格的重复次数超出上述冻结规则的部分。
主结果
条件 跨客户结果 出处 五网关、共享凭证、OpenAI 5/5,向量[0, 1408, 1408, 0] Table I 五网关、共享凭证、Anthropic 5/5,h从1,066到1,074 Table I OpenRouter managed 5/5交叉,所有者热重复5/5 Section V-A OpenRouter独立作用域BYOK 0/5交叉,新鲜负例全冷 Section V-A 记录到的同一池分区 3/3,95%区间[0.292, 1] Section V-B 记录到的不同池分区 0/3,95%区间[0, 0.708] Section V-B - 作者称两条缓存生命周期都暴露了已知前缀的跨客户成员关系。Anthropic路径要求请求内的cache control,因此受影响负载限于开启缓存的请求。
- 作者用BYOK的未交叉把两种读法分开:若提供商对全体自身客户共享一个缓存,独立凭证仍应交叉。作者称在该路由上,共享上游凭证才产生managed阳性。
- 作者称池观察由记录到的最终凭证分区决定,而不是由公开中继身份决定;池化改变碰撞日程,自适应重试可能再次落到共享分区。附录给出三对三的精确双侧值为0.10,并主要报告计数。
生产框架与独立部署
- OpenRouter:最新协议覆盖合格模型所列token量的80.5%。28个标签中12个至少有一条严格阳性路由,1个在受测路径上为阴性,11个不确定,4个未测。阳性标签占平台分母7.1%、合格模型流量33.7%,对应4.031万亿token。作者称这是高流量标签上跨账户读取反复出现,不是请求级流行率;凭证类别对比只在一条路由上做。
- 独立运营:五个可执行项目中两个找到合格实例,共四个部署。三个有阳性边;第四个一个方向为受控阴性[0, 0, 1408, 0],反向因形成不确定。Sub2API两条默认路由的严格有效命中为2/9和1/8。另两个未识别谱系的服务给出双向[0, 1024, 1024, 0]。uni-api、MetaAPI、LiteLLM层没有合格实例。
- 直接服务例外:Provider A在随机化的15次有效试验中,共享principal且共享namespace为5/5,只拆namespace或只拆principal均为0/5,精确双侧p=0.008。Provider B跨workspace为受控未命中。Provider C的两团队共享新的会话与路由标识,在128的背景上缓存token增加832;作者将其记为关联,因为实验没有变化该标识。
逐token恢复
- Stage C:流量前冻结八个位置、四个已知词,服务模型为grok-4-fast-non-reasoning,计分器看不到目标词。八次依赖提交均正确且无弃权。目标空间为4的8次方等于65,536,作者称这代表16比特受控目标,不是方法上界。错误支路的基线为-15,真支路为-14;无受害者重放时每支都在-15打平。含受害者状态的决策用128次攻击路径请求,加上两次受害者形成和128次重放,总计258次HTTP请求。
- 更宽条件:Table II报告,192个已给定正确前词的BIP-39位置在g=1时可辨认数为192,g=2、4、8时降到96至97、48至49、16至17。同一中继的11个Grok标签里,一个为严格单token,两个为粗128 token块,grok-4-20-reasoning不完整;提取链所用标签属于热路径类,由该链自己的门约束。76个WildChat对话上,一个已知起始token使端点9的恢复比例从18.9%升至64.5%,端点17从11.4%升至51.3%。
- 未提交与时序:两次八候选运行在全部七个已评估位置保留唯一真值提升,但各有一个错误候选为冷,因而弃权。作者称没有找到任意内容通用提取的稳定生产设置。无流式的回顾集有380个标注观察、151次命中和229次未命中,方向无关且按轮居中的AUC为0.518;附录称时序不支持核心攻击主张。
防御与公共前缀切分
- 路由:本地夹具把规范凭证身份当缓存域。共享路径在5/5网关交叉,独占路径0/5交叉并保留全部五次所有者热重复。客户自选的不同namespace在4/5路径上挡住共享,LiteLLM Chat丢掉该字段。真实OpenAI上,NewAPI的共享臂与伪造客户端臂各3/3为[0, 1024, 1024, 0];中继HMAC臂跨客户0/3、所有者3/3为[0, 0, 1024, 0],36次请求到达同一服务模型。作者称提供商把该字段写成分桶而非访问控制,因此这是条件查找缓解。
- 成本:5,713个请求事件来自3,000个抽样WildChat对话,五个公开智能体前缀为1,553至8,523个o200k_base token。在作者标明的代表性建模参数下(读乘数0.1、写乘数1.25,256与1,024门槛,128 token报告块,而非某一提供商公布资费),切分使建模成本增加1.7%至2.5%,跨客户私有区域缓存token为0。完整命名空间为不安全基线的2.29至3.14倍。这些数字只计token。
- 标记与失败关闭:96至128比特的可见标记在受测分词器上中位消耗17至24 token;固定本地任务族的基线100/100降到79/100和85/100。48次闭源模型试点中,作者称没有看到仅由标记引起的退步,并认为风险在兼容性而非正确性。50,000条本地失败转录中8,389条失败关闭,抽样模型没有反事实差异;另一模拟器在18/18格上保持客户身份相等,并在18/18格上保留同一客户的私有复用。
其他消融与分析
- NewAPI与LiteLLM把一个共享principal换成两个独立作用域principal后,两个严格阳性[0, 1408, 1408, 0]变为两个受控未命中[0, 0, 1408, 0](Section V-B)。
- 同一Sub2API构建中,通用OpenAI适配器为[0, 185, 185, 0],由下游密钥导出namespace的原生Grok适配器为[0, 0, 184, 0](Section V-B)。
- 嵌套三臂各一个真实上游格:共享与内层覆写交叉,保留原客户则去掉跨客户观察并保留所有者热重复;五个新canary上,转发的namespace与源码预测一致(Section V-B)。
- Gemini隐式缓存的每个有效受测格都报告客户间无读取。显式创建:NewAPI、uni-api、MetaAPI、Sub2API为404或405且未到观察者;LiteLLM默认403,授予路由后创建与引用均为200,成功终止于本地夹具(Table VIII、Table IX)。
- 五个网关的默认选择都不按下游客户绑定上游凭证;其中三个每次请求重选凭证。NewAPI重试还会下降优先级层(Appendix B-C、Table VII)。
- 长短块对照三对,精确McNemar p=1;阳性短探针缓存1,792 token,阳性长探针缓存3,840。作者称二元可达性不能归因于长度或某个潜伏选择器(Section V-E)。
有什么可以进一步探索的点?
作者称一条受控链不能外推到任意内容或生产可靠性。
作者指出的局限与后续方向
- OpenRouter标签框架与结果独立选定,但不估计请求级流行率;排名不含凭证类别、各提供商路由份额、资格,以及单个请求的缓存结果(Section IX-A)。
- 该框架只用一对账户,阳性标签反映决定观察的池分区的一次抽取;作者称要把标签性质和某次抽取分开,需要独立账户对(Section IX-A)。
- 生产中继框架受可用性约束,五个框架层中三个没有合格实例。作者称潜在路由、池权重和驻留分布使之无法给出实例、用户或受影响流量上的比率(Section IX-A)。
- 作者称没有找到任意内容通用提取的稳定生产设置。最强证据是四个等长已知词上的八步链:受害者路径128次请求、总计258次,只说明一个携带16比特的有利格可以组合,不测量路由可靠性、实际加速,也不测量自然语言、凭证或第三方内容的恢复(Section IX-B)。
- 单token报告在另一Grok标签上校准;因为该家族的粒度随路由变化,这条链依赖自己的门。完整词典的本地路径只在精确oracle下建立没有提供商token标识的枚举。98,370至136,034次请求的外推不建立生产驻留、可靠性、成本或可检测性(Section IX-B)。
- 路由与失败矩阵覆盖五个冻结的本地网关图;中继导出的namespace只有一个网关和一次真实上游查找验证。本地夹具把凭证当成缓存域,真实部署还要提供商文档化的principal、workspace或project边界。时序不在核心证据内:无流式回顾集接近随机,且没有首token时间的随机对照(Section IX-C)。
实验覆盖范围
- 可执行网关为NewAPI、uni-api、MetaAPI、LiteLLM、Sub2API共5个;One API只做谱系。网关矩阵使用研究者控制的OpenAI与原生Anthropic路径(Section V、Appendix B-A)。
- 直接服务写成Provider A、B、C。OpenRouter框架是2026-07-26至08-01的28个合格标签、一对账户;独立部署在两个框架层找到四个带两账户的实例(Section V)。
- 生产提取确认是grok-4-fast-non-reasoning上一条八位置、四候选的链,总计258次受控请求。报告粒度校准是同一中继上的11个Grok标签(Section VI、Table XI)。
- 防御的真实上游HMAC验证是NewAPI对OpenAI的3/3;五网关的共享、独占、伪造和失败路径跑在本地夹具上。Gemini显式缓存的成功转发终止于本地夹具(Section VII、Table IX、Table XIII)。
- 判定使用cached input count、所有者热重复和冻结的长度、形成、路由、状态、重试门。论文未报告LLM裁判,也未报告评审与人工的一致性。四请求形式单元不允许重试(Section IV、Appendix B)。
总结一下论文的主要内容
共享上游凭证使中继客户进入同一缓存域,保留身份或独立principal可分开。
KeyPooling测量LLM API中继在何处丢掉客户身份,使prompt cache不再按下游客户隔离。
- 问题:中继分别认证客户,却常把请求经同一上游凭证、项目、路由或namespace转发给提供商。缓存查找只用最终边界上可见的身份。已知前缀的成员关系因此可能跨客户可见;在报告精度、归因、路由、候选和预算同时满足时,还可以逐token延伸。
- 方法:沿凭证、namespace、适配器、池、重试、回退和嵌套跳追踪已认证客户,用观察者核验真正离开网关的请求,再在提示词与日程固定时一次改一个预测分量。四请求单元区分严格阳性[0, h, h, 0]和受控未命中。提取用主历史、影子预热和无受害者重放,把受害者造成的提升与攻击者自己的写入分开。
- 网关结果:五个可执行网关在冻结修订上都不按下游客户默认绑定上游凭证。研究者把两名客户映射到一个上游凭证后,OpenAI五格都是[0, 1408, 1408, 0],原生Anthropic五格都是[0, h, h, 0],h从1,066到1,074。拆开principal或namespace、选到不同池分区、或由适配器保留namespace,对应的边消失。
- 生产与提取:OpenRouter一周框架覆盖合格流量的80.5%,28个标签中12个有阳性路由,这些标签占合格流量33.7%。同一路由上managed为5/5、独立作用域BYOK为0/5。一条生产路由在计分器看不到目标词时连续提交八个位置,目标空间为65,536,总计258次受控请求。作者称更宽提取取决于粒度、路由、限额、归因和预算,这些不是安全控制。
- 防御:作者要求每名客户进入提供商强制域,或让由已认证身份导出的namespace活过每一次最终查找和写入,包括重试、回退、池、适配器和嵌套中继。在5,713次回放、作者给出的代表性建模参数下,把切分放在可复用公开区域之后,建模成本增加1.7%至2.5%,并保住大部分共享前缀复用。作者称这只分开缓存状态;完整记录隔离还要计费、时延、计算、错误、路由、配额和后续状态彼此独立。