Agent Substrate egress代理与SD Mint:Actor如何零信任安全访问互联网完整指南
Agent Substrate egress代理与SD MintActor如何零信任安全访问互联网完整指南【免费下载链接】substrateAgent Substrate: the core system项目地址: https://gitcode.com/GitHub_Trending/substrate7/substrate在 Agent Substrate 这个面向 AI Agent 的大规模沙箱运行时中egress 代理出口流量代理与 SD Mint 证书即时签发机制是保证每个 Actor 安全访问互联网的两大核心防线。本文将用大白话讲清楚Actor 的出站流量如何被透明拦截、如何凭证书证明身份、又如何通过 EgressPolicy 与 MITM 拦截精确控制能访问什么。为什么 Actor 需要出口代理Agent Substrate 把大量Actor如 AI Agent 应用高密度地复用到少数物理 Pod 上沙箱技术包括 gVisor 和 microVM。这些 Actor 绝大多数时间不可信它们可能执行任意代码、可能携带恶意指令。如果让它们自由直连互联网就意味着无法审计不知道 Actor 访问了谁、发了什么身份冒充外部服务无法知道请求来自哪个 Actor策略失控无法阻止 Actor 访问内网敏感地址或外泄数据。因此 Substrate 定下了一条硬性契约Actor 的所有出站流量TCP/UDP 目的端口 53 的 DNS 除外必须经过 egress 策略执行点PEP。详见 docs/network-egress.md。流量如何被透明拦截从沙箱到网关整个过程对 Actor 完全透明共四步拦截Worker Pod 内用 nftables 把 Actor 的 TCP 出站流量重定向到节点上的atunnel组件加密隧道atunnel与 egress 网关atenet-egress之间建立 mTLS 双向认证隧道并发送一条 HTTP/1.1CONNECT请求其中只携带原始目的 IP:端口身份验证网关验证atunnel出示的 Actor 专属客户端证书并向 ATE API 确认该 Actor 真实存在且正在运行策略裁决按该 Actor 的EgressPolicy决定放行、拒绝或进一步处理然后才把流量转发到真正的上游。这套信任边界非常严格网关绝不信任 Actor 自己声称的任何信息比如 Actor 在请求头里写的 Host只信任 Substrate 管控通道里携带的信息——证书和atunnel构造的 CONNECT 请求。Actor 沙箱(不可信) → nftables 重定向 → atunnel(mTLS隧道) → atenet-egress(验身份策略) → 授权的上游用证书证明身份ActorIdentity 扩展Actor 激活时atunnel会生成私钥并向 Substrate 申请一张短期客户端证书。这张证书由 Actor Identity CA 签发包含 atespace、Actor 名称、UID携带一个专门的ActorIdentityX.509 扩展标注用途为atunnel网关必须校验证书链、有效期并向 ate-api-server 二次确认这个 UID 对应的 Actor 此刻真实且正在运行。这意味着证书无法在 Actor 被删除重建后继续冒充它——UID 对不上就直接拒绝。持有普通 Pod 身份但没有 Actor 证书的客户端连 TLS 握手都过不去。EgressPolicy默认拒绝的目的地白名单即使身份合法Actor 默认不能访问任何地方——没有策略就没有隧道。管理员可以为 Actor 配置EgressPolicy规则按顺序匹配、首条命中生效常见两类规则规则类型匹配维度适用场景hostnames按域名模式需能读到内层请求的 Host只允许访问 api.example.comcidrs/all按 IP 网段在 CONNECT 阶段裁决允许访问整个 CIDR 或全部地址对于网关能直接读到的明文 HTTP 请求策略是逐请求裁决对于它解不开的加密流量则在 CONNECT 建连时按地址裁决。策略缓存 TTL 默认 10 秒删除策略后新请求立即变成拒绝。策略编译与求值逻辑见 internal/egresspolicy/egresspolicy.go。SD Mint如何连 HTTPS 也能逐请求检查普通网关面对 Actor 的 HTTPS 流量时只能看到加密字节只能按地址放行。如果想对 HTTPS逐请求执行策略比如检查 Host、未来注入凭证就需要网关看懂内层明文——这就是SD Mint的作用。SD Mint 是atenet内建的一个即时签发证书的 SDS 服务源码见 cmd/atenet/internal/sdsmint/包定义在 doc.go终止 TLSsdsmint 安装下的 egress 网关终结 Actor 打开的每个 TLS 连接按 SNI 即时制证针对每次连接请求的域名SNI网关用自己的 MITM CA 现场签发一张短期叶证书默认 TTL 15 分钟核心实现见 minter.go重发起连接网关验证该证书合法后再以真实域名作为 SNI 向上游重新建立 TLS并校验上游证书逐请求裁决解密后的明文进入egress_tls_mitm检查链按 Host 对所有策略规则逐请求求值。由于 Actor 看到的是网关签发的证书而非上游真证书Actor 的信任配置必须指向网关 CA。Substrate 的做法是通过systemInfo卷把网关 CAtrustBundle: egress-mitm.ate.dev投射到沙箱文件系统如/run/ate/trust-bundle.pem再配合SSL_CERT_FILE/SSL_CERT_DIR等环境变量让运行时只信任这张 CA。完整的配置指南在 docs/egress-trust-bundle.md三种检查链egress/egress_cleartext/egress_tls_mitm的分工说明见 cmd/atenet/internal/router/README.md。⚠️ 注意sdsmint 是实验特性安装时加--experimental-use-sdsmint对应清单 manifests/ate-install/atenet-egress-with-sdsmint.yaml。在非 sdsmint 环境配置信任包会直接让 Actor 起不来——因为没有任何东西会向它出示由网关 CA 签发的证书。快速上手跑通 egress 演示仓库提供了一个端到端演示展示透明隧道 身份认证 策略放行的完整闭环支持 Envoy默认或 agentgateway 两种数据面。步骤概要装系统./hack/install-ate-kind.sh --deploy-ate-system可选--atenet-dataplaneagentgateway部署演示./hack/install-ate.sh --deploy-demo-egress再kubectl ate create actor egress-demo -a ate-demo-egress --template egress跑自动化测试./demos/egress/test-egress.sh—— 它会验证正例真实 Actor 经网关成功请求目标服务看到的客户端 IP 正是网关与反例无 Actor 证书的 Pod 无法建立隧道观察日志Envoy 的[egress]访问日志会记录 CONNECT 目标与已验证的 Actor 证书 SAN。完整操作手册含 MITM 变体 egress-mitm.yaml.tmpl见 demos/egress/README.md。小结三层防线一张信任链层面机制解决的问题身份Actor 专属短期证书 ActorIdentity扩展 API 复核请求方是谁且无法冒充策略默认拒绝的EgressPolicy按序首条命中请求能去哪可见性SD Mint 按 SNI 即时签发 信任包投射连 HTTPS 也能逐请求审计三层叠加构成Actor 不可信、平台全托管的零信任出口Actor 只需像平时一样发起连接安全裁决全部发生在它看不见的可信通道里。延伸阅读出口流量契约传输、信任边界、服务端 TLSdocs/network-egress.mdMITM 信任包配置指南docs/egress-trust-bundle.md威胁模型与信任边界docs/threat-model.md术语表Actor、atenet、atunnel 等docs/glossary.md网关 egress 处理链源码cmd/atenet/internal/router/README.md【免费下载链接】substrateAgent Substrate: the core system项目地址: https://gitcode.com/GitHub_Trending/substrate7/substrate创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

AltTab 代码注释重构实战:用 rework-comments 技能审计并精简“AI 可执行“的注释

AltTab 代码注释重构实战:用 rework-comments 技能审计并精简“AI 可执行“的注释

AltTab 代码注释重构实战:用 rework-comments 技能审计并精简"AI 可执行"的注释 【免费下载链接】alt-tab-macos Windows alt-tab on macOS 项目地址: https://gitcode.com/gh_mirrors/al/alt-tab-macos 导读 注释是代码里唯一会"骗人"…

2026/9/21 15:33:38 阅读更多 →
Docker Compose一键搭建pyspider容器化爬虫集群:从单机到多副本部署实践

Docker Compose一键搭建pyspider容器化爬虫集群:从单机到多副本部署实践

Docker Compose一键搭建pyspider容器化爬虫集群:从单机到多副本部署实践 【免费下载链接】pyspider A Powerful Spider(Web Crawler) System in Python. 项目地址: https://gitcode.com/gh_mirrors/py/pyspider pyspider 是一款用 Python 编写的功能强大的分…

2026/9/21 15:33:38 阅读更多 →
012_效率与线性度之间的电路折中

012_效率与线性度之间的电路折中

012、效率与线性度之间的电路折中 一个让我赔了两周调试时间的效率陷阱 前年做一个电池供电的便携式数据采集设备,前级传感器输出是微伏到毫伏级的缓慢变化信号,后级要驱动一个无线发射模块。系统要求整机平均功耗低于某个硬指标,因为电池容量小,客户又要求连续工作几十个…

2026/9/21 15:33:38 阅读更多 →

最新新闻

OpenIM 架构与集成指南:基于 Go 的即时通讯服务端平台、OpenIMSDK 与 Webhook 扩展机制

OpenIM 架构与集成指南:基于 Go 的即时通讯服务端平台、OpenIMSDK 与 Webhook 扩展机制

即时通讯后端微服务WebSocket 【免费下载链接】open-im-server IM Chat OpenClaw 项目地址: https://gitcode.com/gh_mirrors/op/open-im-server 点击查看 免费下载 本文基于当前仓库中的希腊语版项目文档(docs/readme/README_el.md)整理而成…

2026/9/21 16:37:35 阅读更多 →
Handsontable 9.0 升级到 10.0 迁移指南:钩子重命名、HyperFormula 升级与默认值变更全解析

Handsontable 9.0 升级到 10.0 迁移指南:钩子重命名、HyperFormula 升级与默认值变更全解析

前端UI组件 【免费下载链接】handsontable JavaScript Data Grid / Data Table with a Spreadsheet Look & Feel. Works with React, Angular, and Vue. Supported by the Handsontable team ⚡ 项目地址: https://gitcode.com/gh_mirrors/ha/handsontable 点击…

2026/9/21 16:37:35 阅读更多 →
Caffeine 节点代码生成机制解析:从 Add* 生成器到 Node 类的完整链路

Caffeine 节点代码生成机制解析:从 Add* 生成器到 Node 类的完整链路

后端缓存抽象 【免费下载链接】caffeine A high performance caching library for Java 项目地址: https://gitcode.com/gh_mirrors/ca/caffeine 点击查看 免费下载 本指南聚焦 Caffeine(caffeine/)高性能缓存库中的代码生成体系&#xff1a…

2026/9/21 16:37:35 阅读更多 →
MicroPython 嵌入指南:在 C 应用中集成 MicroPython(embed port 实战)

MicroPython 嵌入指南:在 C 应用中集成 MicroPython(embed port 实战)

MicroPython 嵌入指南:在 C 应用中集成 MicroPython(embed port 实战) 【免费下载链接】micropython MicroPython - a lean and efficient Python implementation for microcontrollers and constrained systems 项目地址: https://gitcode…

2026/9/21 16:37:35 阅读更多 →
如何搭建自己的文件传输服务?一条Docker命令部署transfer.sh完整教程

如何搭建自己的文件传输服务?一条Docker命令部署transfer.sh完整教程

如何搭建自己的文件传输服务?一条Docker命令部署transfer.sh完整教程 【免费下载链接】transfer.sh Easy and fast file sharing from the command-line. 项目地址: https://gitcode.com/gh_mirrors/tr/transfer.sh transfer.sh 是一款用 Go 语言编写的轻量级…

2026/9/21 16:37:35 阅读更多 →
Handsontable 数据绑定实战指南:六大数据结构、数据装载 API 与空值语义全解析

Handsontable 数据绑定实战指南:六大数据结构、数据装载 API 与空值语义全解析

Handsontable 数据绑定实战指南:六大数据结构、数据装载 API 与空值语义全解析 【免费下载链接】handsontable JavaScript Data Grid / Data Table with a Spreadsheet Look & Feel. Works with React, Angular, and Vue. Supported by the Handsontable team ⚡…

2026/9/21 16:36:34 阅读更多 →

日新闻

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程 【免费下载链接】agentic-awesome-skills AAS Core is the local, agent-first control plane for complete catalog discovery, agent-owned selection, stack validation, and …

2026/9/21 0:00:01 阅读更多 →
gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析

gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析

gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析 【免费下载链接】gin-vue-admin 🚀ViteVue3Gin拥有AI辅助的基础开发平台,企业级业务AI开发解决方案,内置mcp辅助服务,内置skills管理,…

2026/9/21 0:00:01 阅读更多 →
Wox 全功能插件开发实战指南:基于 Python / Node.js 宿主与 WebSocket 的持久化插件体系

Wox 全功能插件开发实战指南:基于 Python / Node.js 宿主与 WebSocket 的持久化插件体系

桌面应用AI 应用插件系统 【免费下载链接】Wox A cross-platform launcher that simply works 项目地址: https://gitcode.com/gh_mirrors/wo/Wox 点击查看 免费下载 全功能插件(Full-featured Plugin)是 Wox 三类插件实现方式中能力最完整的…

2026/9/21 0:00:01 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/21 3:13:20 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/21 2:19:36 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/21 4:51:05 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/21 15:36:51 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/21 15:36:51 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/19 23:35:34 阅读更多 →