FEATURED · 精选文章

Envoy 威胁模型全解析:系统上下文、信任边界与安全缓解路线图

发布时间 / 2026/9/10 13:27:51
来源 / 创域科博编辑部
栏目 / 资讯中心
Envoy 威胁模型全解析:系统上下文、信任边界与安全缓解路线图 Envoy 威胁模型全解析系统上下文、信任边界与安全缓解路线图【免费下载链接】envoyCloud-native high-performance edge/middle/service proxy项目地址: https://gitcode.com/GitHub_Trending/en/envoyEnvoy 是 CNCF 毕业的 L3/L4/L7 代理以 C 编写Rust 组件逐步增加既可作为终止不可信互联网流量的edge/front proxy也可作为微服务网格中每个工作负载旁边的service-mesh sidecar如 Istio、Cilium、AWS App Mesh、Consul Connect 等场景。本文基于仓库.agents/threat_model/THREAT_MODEL.md整理其完整威胁模型涵盖系统上下文、资产清单、入口点与信任边界、威胁清单、优先级降级项与推荐缓解措施并辅以上游官方文档 threat_model.rst 与仓库源码佐证。读完本文你将理解 Envoy 的安全姿态security posture如何划分、攻击面集中在哪些解析路径、历史上哪些 CVE 印证了这些威胁类别以及团队应优先落实哪些加固动作。一、系统上下文Envoy 的部署角色与安全姿态1.1 部署角色与协议覆盖Envoy 支持 HTTP/1.1、HTTP/2、HTTP/3-QUIC、gRPC以及MCPModel Context Protocol、A2AAgent-to-Agent等 AI 智能体协议并通过 filter-chain 扩展模型支持一长串 L7 协议Redis、Thrift、DNS 等。其中 MCP 系列过滤器mcp、mcp_router、mcp_json_rest_bridge、mcp_multicluster使 Envoy 成为 AI 智能体协议网关聚合多个 MCP 后端的工具列表并路由tools/call请求。这些 MCP 过滤器的实现位于 source/extensions/filters/http/mcp/含mcp_filter.cc、mcp_json_parser.cc后者约 935 行与 source/extensions/filters/http/mcp_router/mcp_router.cc约 2235 行多集群能力则实现为集群扩展 source/extensions/clusters/mcp_multicluster/。A2A 过滤器在 source/extensions/filters/http/a2a/a2a_json_parser.cc约 205 行。配置交付方式有两种静态方式通过 bootstrap YAML动态方式通过 gRPC/REST 的xDSAPI。此外mobile/子树将 Envoy 作为 iOS/Android 客户端侧网络库交付Envoy Mobile。1.2 模型覆盖范围本威胁模型覆盖上游 envoyproxy/envoy 项目按原样交付as shipped的部分核心、Envoy Mobile、CI/发布流水线以及处于 alpha 阶段的 MCP 与 A2A 扩展。以下内容明确不在范围内详见 §5contrib/目录下的扩展其他 alpha 状态扩展Windows 专属代码路径。1.3 与上游官方威胁模型的关系本项目发布了自己的官方威胁模型文档 threat_model.rst。本文档继承了它但有一处经负责人指示的分歧owner-directed divergenceext_authz 与 ext_proc 边调用side-call响应在本模型中按不可信处理上游当前声明边调用可信。其他边调用限流 rate-limit、访问日志服务 ALS、tracing、凭据供应商 credential suppliers仍按可信处理。其余上游假设均被采纳核心场景下下游与上游对端均不可信untrustedxDS 传输层可信Lua/Wasm/动态模块代码可信管理接口admin interface仅限操作者使用DoS 仅在硬化组件上达到 ≥100× 放大或 query-of-death 时才触发安全流程。1.4 代码规模与历史安全态势代码库约有3000 个 C 源文件外加约113 个 vendored 依赖BoringSSL、nghttp2、quiche、c-ares、V8、LuaJIT、wasmtime、RE2、abseil 等。项目通过 OSS-Fuzz 持续模糊测试自 2019 年以来发布了80 个第一方 CVE/GHSA主要集中在三类HTTP/2 帧处理导致的 DoSHTTP filter-chain 生命周期中的 use-after-freeauthn/authz 过滤器的认证/授权绕过。上游官方模型对安全发布流程有明确门槛任何导致机密性或完整性损失的问题都触发安全发布流程可用性问题如 Query-of-Death 或资源耗尽需同时满足影响硬化组件、流量类型与组件硬化标签匹配、以及内存超配 100× 以上或 CPU 不对称使用 100× 以上等条件详见 threat_model.rst 的 Confidentiality, integrity and availability 小节。上游同时明确指出默认配置下 Envoy 并不具备可用性层面的安全默认值操作者必须显式配置水位线watermarks、过载管理器overload manager、熔断器circuit breakers等。二、资产清单Assets哪些东西值得保护威胁模型以资产-敏感性矩阵界定保护对象共 14 类资产资产描述敏感性进程与主机完整性原生 C 解析不可信线上字节内存破坏可导致 RCE且进程可触达整个网格/边缘criticalTLS 私钥与会话票据SDS/secret manager 持有的服务端/客户端证书私钥与会话票据密钥泄露 被动解密 边缘仿冒critical被代理的请求/响应数据TLS 终止后每个请求的解密 body、头、cookie、bearer tokencritical服务可用性Envoy 是边缘的前门与网格的唯一数据路径跳点解析器崩溃或 OOM 即全站故障critical移动应用进程与设备数据Envoy Mobile 运行于 iOS/Android 应用内沦陷 应用权限级代码执行与设备数据访问critical内部上游服务路由表 集群管理器赋予 Envoy 对每个后端、metadata server、控制平面的认证触达SSRF 跳板highxDS 配置完整性经 xDS 下发的路由、监听器、集群、RBAC、过滤器字节码完整性受损 任意流量重定向highmTLS 工作负载身份SPIFFE SVID 校验结果下游 RBAC 与上游信任均依赖它highAuthN/AuthZ 裁决jwt_authn 声明、ext_authz allow/deny、RBAC 决策以可信x-envoy-*/ dynamic metadata 传播high注入的上游凭据OAuth2 client_secret 与 HMAC 密钥、AWS SigV4 密钥、credential-injector 附加到出站请求的机密high智能体工具调用与能力完整性MCP/A2A 的tools/call载荷、能力协商、聚合后的工具列表下游智能体会据此行动被篡改 任意工具执行high发布产物完整性docker.io/envoyproxy/*镜像、签名 deb/rpm/tarball、Maven Central / PyPI 的 envoy-mobile 包highCI/发布机密GPG 维护者签名密钥、DockerHub 凭据、GCP SA 密钥、Sonatype 凭据、多个具多仓库写权限的 GitHub App 私钥high访问日志与遥测请求行、头、JWT subject、客户端 IP 落入 file/gRPC/OTel 汇含 PII 且是完整性目标日志注入medium内部信任头x-envoy-*、XFF、x-request-id被上游视为权威未剥离 信任边界绕过medium值得强调的是智能体工具调用与能力完整性这一新资产类别它直接对应 MCP/A2A 网关场景篡改tools/call载荷或聚合工具列表可导致任意工具执行——这正是本文档将 MCP/A2A 过滤器列入威胁清单T29的原因。三、入口点与信任边界Entry Points Trust Boundaries威胁模型将每个入口点映射到信任边界 → 可达资产。以下为全部入口点按数据平面、控制平面与供应链分组3.1 数据平面下游客户端侧入口点描述信任边界可达资产Downstream TCP listenersocket accept → listener-filter 链 → network-filteronData不可信字节的首次接触见 active_tcp_listener.cc不可信 Internet 客户端 → worker 线程进程与主机完整性、服务可用性、被代理数据Downstream UDP/QUIC ingestUDPrecvmmsg→ quiche dispatcher握手前、可伪造源地址见 active_quic_listener.cc约 509 行可伪造 Internet UDP → 进程内存进程与主机完整性、服务可用性HTTP/1 codecBalsa / http-parser 分词 request-line、头、chunked TE见 codec_impl.cc约 1699 行不可信下游字节 → HCM进程与主机完整性、被代理数据、AuthN/AuthZ 裁决、内部信任头HTTP/2 codecnghttp2/oghttp2 HPACK 解码、流复用、flood 限制、METADATA见 codec_impl.cc 与 protocol_constraints.cc约 139 行不可信下游字节 → HCM进程与主机完整性、服务可用性、被代理数据HTTP/3/QUIC codecquiche QPACK H3 帧解析、CONNECT-UDP datagrams见 envoy_quic_server_stream.cc不可信下游字节 → HCM进程与主机完整性、服务可用性Listener filtersTLS-inspector / PROXY-protocol手工解析器在 filter-chain 前窥探原始字节提取 SNI/ALPN 或 PROXY v1/v2 TLVs见 source/extensions/filters/listener/tls_inspector/ 与 source/extensions/filters/listener/proxy_protocol/不可信下游字节 → filter-chain 选择进程与主机完整性、内部信任头、AuthN/AuthZ 裁决TLS 握手与证书校验BoringSSL 握手客户端证书链校验、SAN/SPKI 匹配、OCSP ASN.1 解析见 source/common/tls/cert_validator/不可信对端 X.509 → 信任决策mTLS 工作负载身份、TLS 私钥与会话票据、进程与主机完整性Header 与路径归一化Header 存储/校验、:path规范化、%2F/斜杠合并见 path_utility.cc约 177 行与 header_utility.cc攻击者控制的头 → 安全决策AuthN/AuthZ 裁决、内部上游服务、内部信任头路由匹配与正则VirtualHost/route 求值租户提供的 RE2 模式作用于攻击者输入见 config_impl.cc 与 regex.cc不可信头 × 半可信配置 → 路由/认证内部上游服务、AuthN/AuthZ 裁决、服务可用性非 HTTP L7 codec核心手写线上解码器Redis、Thrift、Dubbo、Mongo、ZooKeeper见source/extensions/filters/network/*/decoder*.cc不可信下游字节 → 代理逻辑进程与主机完整性、服务可用性DNS UDP filter服务端Envoy 作为 DNS 服务器解析任意查询见 dns_parser.cc可伪造 UDP → DNS 解析器进程与主机完整性、服务可用性MCP / A2A agent-protocol filtersJSON-RPC 请求体解析 多后端响应聚合、会话路由见 source/extensions/filters/http/mcp/、source/extensions/filters/http/mcp_router/、source/extensions/filters/http/a2a/mcp_json_parser.cc约 23K 行规模、mcp_router.cc约 60K 行规模不可信下游 agent ↔ 不可信上游 MCP/A2A server进程与主机完整性、智能体工具调用与能力完整性、内部上游服务、服务可用性上游响应路径Envoy 作为客户端解析不可信上游 HTTP/1/2/3 响应见 upstream_request.cc 与 codec_client.cc恶意/被攻陷上游 → 进程内存与下游进程与主机完整性、被代理数据、服务可用性ext_proc / ext_authz 响应边调用 gRPC 返回的 header/body 变更或 allow/denyEnvoy 原样应用见 mutation_utils.cc 与 source/extensions/filters/common/ext_authz/不可信边调用服务 → 请求变更与 filter-chain 状态本模型的关键分歧点AuthN/AuthZ 裁决、被代理数据、内部信任头、进程与主机完整性解压与转码gzip/brotli/zstd 解压攻击者 bodygRPC↔JSON 转码见 source/extensions/compression/*/decompressor/ 与 source/extensions/filters/http/grpc_json_transcoder/不可信 body 字节 → 堆服务可用性、进程与主机完整性JWT / OAuth2 authn filters解析攻击者提供的 JWTb64/JSON/sig、OAuth2 重定向/state/cookie、抓取 JWKS见 source/extensions/filters/http/jwt_authn/ 与 source/extensions/filters/http/oauth2/不可信凭据字节 → 认证决策AuthN/AuthZ 裁决、注入的上游凭据、内部上游服务Access-log formatter%REQ()%/%RESP()%/%CEL()%将攻击者头插值进日志汇见 substitution_formatter.cc不可信头 → 日志汇 / SIEM访问日志与遥测DNS resolver客户端c-ares / getaddrinfo / Apple / hickory 解析上游 resolver 的响应见 dns_impl.cc不可信 DNS 响应者 → 集群端点进程与主机完整性、内部上游服务Envoy Mobile 上游摄取Envoy MobileiOS/Android 客户端库解析任意服务器的响应信任模型反转——服务器是攻击者见 mobile/library/common/恶意源服务器 → 移动应用进程移动应用进程与设备数据、被代理数据3.2 控制平面与供应链入口点描述信任边界可达资产xDS 控制平面摄取gRPC/REST/filesystem 的DiscoveryResponse→ proto unpack → 实时重配置见 grpc_mux_impl.cc管理服务器可信传输、半可信载荷→ 数据平面配置xDS 配置完整性、服务可用性、进程与主机完整性Bazel 依赖获取构建时抓取约 113 个http_archive依赖SHA256 固定见 bazel/repository_locations.bzl上游维护者 / 镜像 → 编译产物发布产物完整性、进程与主机完整性GitHub Actions CI 流水线pull_request_target→workflow_run链执行 PR 代码_load.yml中计算的trusted标志门控机密见 .github/workflows/_run.yml外部贡献者 → 持有 org 机密的 CI runnerCI/发布机密、发布产物完整性发布产物发布Docker push无 cosign、--provenancefalse、GPG 签名 tarball、Sonatype/PyPI 上传PyPI action 分支固定见 distribution/docker/build.sh 与 .github/workflows/mobile-release.ymlCI runner → 公共 registry发布产物完整性信任边界要点数据平面所有入口的边界形态都是不可信字节 → worker 线程内存控制平面 xDS 因上游模型声明传输可信而边界较宽payload 半可信而MCP/A2A 过滤器是唯一两端下游 agent 与上游 MCP/A2A server都不可信的 HTTP 过滤器加上 ext_proc/ext_authz 在本模型中被提升为不可信共同构成需要重点防守的新攻击面。四、威胁清单Threats按严重级别与可能性威胁清单以威胁 ID → 攻击者 → 攻击面 → 受影响资产 → 影响 → 可能性 → 状态 → 控制 → 证据九元组组织。以下按影响与可能性重新编排并保留原文全部信息。4.1 Critical 级威胁ID威胁攻击者攻击面影响可能性状态控制证据CVE/GHSAT1流重置/异步回调排序竞争导致 HTTP filter 链 use-after-free 的内存破坏 RCEremote_unauthHTTP/1、HTTP/2、HTTP/3 codec、上游响应路径进程与主机完整性almost_certainpartially_mitigatedOSS-Fuzz、ASAN CI、deferred-deletion 惯用法CVE-2026-26311、CVE-2026-26330、CVE-2024-45810、CVE-2023-35943、CVE-2023-35942、CVE-2022-29227、7be853f757T2auth-filter 逻辑或 header 处理缺陷导致认证/授权绕过remote_unauthJWT/OAuth2 authn filters、Header 与路径归一化、ext_proc/ext_authz 响应、listener filtersAuthN/AuthZ 裁决、内部上游服务almost_certainpartially_mitigatedHCM 中 header 清洗、RBAC filterCVE-2022-29226、CVE-2023-35941、CVE-2026-26308、CVE-2020-25017、CVE-2024-45806、CVE-2025-55162、CVE-2024-23322T3手写非 HTTP L7 协议解析器导致的内存破坏 RCEremote_unauth非 HTTP L7 codec、DNS UDP filter、listener filters进程与主机完整性likelypartially_mitigated各扩展security_posture标签OSS-Fuzz 覆盖子集CVE-2024-23322~23325、CVE-2026-26310、CVE-2019-18801T4构造的 HTTP/3/QUIC 流状态迁移导致内存破坏或崩溃remote_unauthUDP/QUIC 摄取、H3 codec进程与主机完整性、服务可用性likelypartially_mitigatedquiche 由 Google 维护并 fuzzQUIC 在许多部署中位于 feature flag 后CVE-2024-32974、CVE-2024-32976、CVE-2024-34362T29经 MCP/A2A JSON-RPC 解析与 router 响应构造导致的智能体工具调用篡改、会话混淆或内存破坏remote_unauthMCP/A2A agent-protocol filters进程与主机完整性、智能体工具调用与能力完整性、内部上游服务likelyunmitigated仅 alpha 标签无 fuzz target—T5证书校验边界情况导致 mTLS/TLS 身份仿冒remote_unauthTLS 握手与证书校验mTLS 工作负载身份、内部上游服务possiblepartially_mitigatedBoringSSL、SPIFFE validator、SAN matchersCVE-2025-66220、CVE-2023-0286T26畸形 ext_proc/ext_authz gRPC 响应经mutation_utils应用导致内存破坏或崩溃adjacent_networkext_proc/ext_authz 响应进程与主机完整性possibleunmitigated无该路径按可信输入编写无 fuzz target—T28恶意服务器响应导致 Envoy Mobile 客户端 RCE 或数据外泄remote_unauthEnvoy Mobile 上游摄取移动应用进程与设备数据possiblepartially_mitigated共享加固核心 codeciOS/Android 进程沙箱—T8pull_request_target信任标志混淆或 toolshed-action 沦陷导致 CI 机密外泄与签名发布接管supply_chainGitHub Actions CICI/发布机密、发布产物完整性possiblepartially_mitigatedactions SHA 固定一处例外external-contributorsenv 门控_load.yml的trusted标志—T9经 EngFlow 远程构建缓存投毒导致恶意发布产物supply_chainGitHub Actions CI、Bazel 依赖获取发布产物完整性rarepartially_mitigatedEngFlow 租户 ACLtree 外Bazel action 哈希—4.2 High 级威胁ID威胁攻击者攻击面影响可能性状态控制证据T11Envoy 与上游间 HTTP/1 解析差异导致请求走私/缓存投毒remote_unauthHTTP/1 codec、上游响应路径、Header 与路径归一化被代理数据、AuthN/AuthZ 裁决、内部上游服务almost_certainpartially_mitigatedBalsa parser严格 header 检查操作者可配置CVE-2019-9900、CVE-2019-18802、CVE-2024-45809、CVE-2024-34363、CVE-2023-35944、CVE-2025-64763、CVE-2020-25018T10构造的 HTTP/2 帧序列导致 CPU/内存资源耗尽remote_unauthHTTP/2 codec、TCP listener服务可用性almost_certainpartially_mitigatedprotocol_constraints.cc flood 限制过载管理器操作者配置默认关闭CVE-2024-30255、CVE-2023-44487、CVE-2020-11080、CVE-2020-12603/04/05、CVE-2023-35945、CVE-2026-27135T12路径归一化或 matcher 边界情况导致路由/RBAC 策略绕过与 SSRF 到内部服务remote_unauthHeader 与路径归一化、路由匹配与正则内部上游服务、AuthN/AuthZ 裁决likelypartially_mitigatednormalize_path、merge_slashes、path_with_escaped_slashes_action操作者配置CVE-2019-9901、CVE-2023-27487、CVE-2020-25017T13解压炸弹或转码放大导致内存/CPU 耗尽remote_unauth解压与转码服务可用性likelypartially_mitigated各解压器输出大小限制CVE 后新增buffer 水位线CVE-2022-29225、CVE-2024-32475T14恶意 DNS 响应导致内存破坏或集群端点投毒adjacent_networkDNS resolver客户端进程与主机完整性、内部上游服务likelypartially_mitigatedc-ares 上游维护hickoryRust替代方案GHSA-fg9g-pvc4-776f、CVE-2025-31498、CVE-2023-32067、CVE-2023-31147、GHSA-g9vw-6pvx-7gmwT15恶意上游响应导致崩溃、内存破坏或响应走私remote_auth上游响应路径进程与主机完整性、被代理数据、服务可用性likelypartially_mitigated核心声明对不可信上游健壮与下游相同的 codec 加固CVE-2022-29224、CVE-2023-35945、CVE-2024-45809、CVE-2024-34364T18不可信 ext_proc/ext_authz 边调用导致请求/响应篡改与认证裁决伪造adjacent_networkext_proc/ext_authz 响应被代理数据、AuthN/AuthZ 裁决、内部信任头likelypartially_mitigatedmutation_rules白名单opt-inext_authz 的allowed_headers/disallowed_headersopt-in—T27无界 ext_proc body 变更、header 集合大小或流保持打开导致资源耗尽adjacent_networkext_proc/ext_authz 响应服务可用性likelypartially_mitigatedmessage_timeout按消息大小限制部分—T16畸形/病态 xDS 配置导致全舰队崩溃或资源耗尽insiderxDS 控制平面摄取、路由匹配与正则服务可用性、xDS 配置完整性likelypartially_mitigatedPGV proto 校验配置拒绝统计RE2线性时间正则a20c0ab8dd、2bcebccc0d、CVE-2019-15225、CVE-2019-15226T17经篡改 OCI 镜像无签名/无 SLSA provenance导致下游消费者沦陷supply_chain发布产物发布发布产物完整性possibleunmitigated仅 tarball 有 GPG--sbomfalse --provenancefalse无 cosign—T19被攻陷的 xDS 管理服务器导致流量重定向或 filter-chain 注入insiderxDS 控制平面摄取xDS 配置完整性、被代理数据、内部上游服务possiblerisk_accepted上游威胁模型声明 xDS 传输可信到控制平面用 mTLS—T20被攻陷的上游依赖 tarball 导致构建期代码注入supply_chainBazel 依赖获取发布产物完整性、进程与主机完整性raremitigated全部 113 个依赖 SHA256 固定tools/dependency/ 校验器CPE 追踪—4.3 Medium / Low 级威胁ID威胁攻击者攻击面影响可能性状态控制证据T21访问日志输出中未转义攻击者控制字段导致日志注入 / SIEM 投毒remote_unauthAccess-log formatter访问日志与遥测likelypartially_mitigatedjson_format转义JsonEscaper自身曾因 OOB 打补丁CVE-2024-45808、CVE-2026-26309T22租户提供的正则针对攻击者输入求值导致 CPU 耗尽多租户 xDSremote_unauth路由匹配与正则、xDS 摄取服务可用性possiblepartially_mitigatedRE2 默认线性程序大小限制std::regex已移除CVE-2019-15225T25Envoy QUIC 或 DNS UDP 监听器被用于对第三方反射/放大攻击remote_unauthUDP/QUIC 摄取、DNS UDP filter服务可用性possiblepartially_mitigatedquiche 内 QUIC Retry/放大限制DNS filter 响应大小上限—4.4 威胁模式解读三大历史主旋律对照 threat_model.rst 与源码可以归纳出历史 CVE 的三个主要模式这也是威胁清单中证据列高度聚集的区域HTTP/2 帧处理 DoST10从 CVE-2020-11080 到 CVE-2023-44487Rapid Resetflood 限制沉淀在 protocol_constraints.cc但过载管理器仍默认关闭需要操作者显式开启HTTP filter-chain 生命周期 use-after-freeT1流重置与异步回调竞争是核心成因缓解方向是统一 deferred-stream-destruction / weak-ref 惯用法authn/authz 过滤器绕过T2JWT/OAuth2 解析、header 处理与路径归一化的边界情况是重灾区缓解方向是严格默认的 HCM header 校验。五、降级项Deprioritized明确不在此模型范围内的边界威胁模型还明确列出不建模的项及其理由避免安全投入发散威胁排除理由Admin HTTP 接口进程控制/信息泄露按上游威胁模型 admin 端点仅操作者可信任暴露是部署配置错误而非 Envoy 缺陷Wasm / Lua / 动态模块宿主 ABI沙箱逃逸按上游模型模块代码可信沙箱明确不是安全边界相关运行时 CVECVE-2023-26489、CVE-2023-27477、CVE-2024-25176/77/78、CVE-2025-53901按依赖卫生追踪而非建模威胁CLI / 环境变量经进程环境提权进程启动者编排器/操作者可信无特权边界跨越Hot-restart UDS同 netns 进程窃取 FD/状态同网络命名空间本地进程可信隔离边界是 netns 而非 abstract socketBootstrap 与文件配置经配置路径任意文件读取按上游模型配置作者可信contrib/与 alpha 扩展MCP/A2A 除外在 EXTENSION_POLICY.md 定义的上游安全团队覆盖之外含 Postgres/MySQL/Kafka/SIP/RocketMQ/Go-filter 解析器Windows 专属代码路径按负责人指示不在范围内被代理请求的不可否认性Envoy 不是不可否认性的记录系统访问日志是资产§2但密码学不可否认性不在范围内TLS 私钥的侧信道/时序攻击BoringSSL 的责任继承其恒定时间保证硬化组件上低于 100× 放大的 DoS上游明确不将低于阈值的 DoS 视为安全问题操作者须配置过载管理器六、推荐缓解措施Recommended Mitigations威胁清单的控制列显示大量威胁仍处于 partially_mitigated 或 unmitigated 状态因此模型给出了一个按威胁 ID → 关闭类别 → 投入组织的缓解路线图缓解措施关联威胁关闭类别投入在所有异步 filter 回调中采用统一的 deferred-stream-destruction / weak-ref 惯用法为 posted callbacks 中裸this捕获新增 clang-tidy 检查T1partialL严格默认的 HCM header 校验拒绝重复的认证相关头、拒绝 CLTE 冲突、拒绝内嵌 NUL/CR/LF不依赖 UHVT2、T11partialM将normalize_path/merge_slashes/path_with_escaped_slashes_action: REJECT_REQUEST设为安全默认T12partialS任何 L7 codec 从 alpha 毕业前要求robust_to_untrusted_downstreamposture fuzz targetT3、T29partialM将过载管理器与 HTTP/2 flood 限制作为默认开启的安全基线而非操作者 opt-inT10、T13、T22partialM将 ext_procmutation_rules改为 deny-by-default为ProcessingResponse/CheckResponse应用路径新增 fuzz targetT18、T26、T27partialM用结构化序列化器替换mcp_router中的StrCatJSON 构造为mcp_json_parser/a2a_json_parser及后端响应合并路径新增 fuzz targetsT29partialM默认 DNS resolver 从 c-ares 迁移到 hickoryRust或本地 stub 后的 getaddrinfoT14partialM用 cosign 签名 OCI 镜像并生成 SLSA provenanceSHA 固定pypa/gh-action-pypi-publishGCP 认证迁移到 WIF/OIDCT8、T17partialS将发布构建与 PR 触发的缓存写入隔离独立 EngFlow 缓存命名空间或对不可信构建用--noremote_upload_local_resultsT9yesS在所有解压器与 gRPC-JSON 转码器上将解压输出硬上限设为输入的比例T13yesS对所有 formatter 展开字段按汇语法转义/校验文本用 newline-stripjson_format用完整 JSON 转义T21yesS其中关闭类别为yes的三项T9 缓存隔离、T13 解压比硬上限、T21 日志字段转义是可以完整闭环的缓解其余为 partial部分缓解。投入列 S/M/L 表示单次修复的小/中/大工作量。值得特别关注的三项 unmitigated 威胁T29MCP/A2Acritical likely unmitigated对应缓解项明确要求为mcp_json_parser/a2a_json_parser与后端响应合并路径新增 fuzz targets并替换mcp_router中基于StrCat的 JSON 拼接——这印证了前文 §3 中 MCP/A2A 过滤器两端均不可信的边界设计T26ext_proc/ext_authz 畸形响应critical possible unmitigated与本模型唯一的 owner-directed divergence 直接相关——将边调用响应视为不可信后mutation_utils应用路径的加固与 fuzz 成为必要T17镜像无签名/无 provenancehigh possible unmitigated属于供应链缓解项为 cosign 签名与 SLSA provenance 落地。七、结语如何使用这份威胁模型这份威胁模型是 Envoy 操作者、开发者与安全研究者的核心参考。使用时建议遵循以下路径先读上游官方模型threat_model.rst理解官方对机密性/完整性/可用性的分级触发条件、数据平面与控制平面划分以及核心硬化、alpha 不受保的总体姿态对照本文档的资产清单§2识别你部署形态中最敏感的资产——边缘代理形态聚焦进程完整性与服务可用性网格 sidecar 形态叠加 mTLS 身份与内部上游服务Envoy Mobile 形态则要反转信任模型看待恶意服务器用入口点表§3做攻击面盘点尤其检查你是否开启了 MCP/A2A 过滤器T29 无缓解、ext_proc/ext_authzT18/T26/T27按不可信假设部署、QUIC/DNS UDP 监听T4/T25以及默认关闭的过载管理器T10按缓解路线图§6排期优先落实三项可闭环项镜像签名、解压比上限、日志转义再推进 partial 项中的 MCP/A2A fuzz 覆盖与 ext_proc 默认拒绝策略。正如上游官方模型所强调的默认配置下的 Envoy 不具备可用性层面的安全默认值安全姿态的落地依赖操作者的显式配置与持续投入而这份威胁模型正是把投入导向最高风险资产的路线图。【免费下载链接】envoyCloud-native high-performance edge/middle/service proxy项目地址: https://gitcode.com/GitHub_Trending/en/envoy创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED — 相关阅读

相关资讯

LATEST — 最新资讯

最新发布

TODAY — 本日精选

新闻

WEEKLY — 本周精选

新闻

MONTHLY — 本月精选

新闻