零密钥的工作负载身份:nono集成SPIFFE/SPIRE完整教程
零密钥的工作负载身份nono集成SPIFFE/SPIRE完整教程【免费下载链接】nonoagent runtime security - zero trust, zero setup, zero latency.项目地址: https://gitcode.com/gh_mirrors/non/nononono 是一款面向 AI Agent 的开源零延迟沙箱主打零信任、零配置、零延迟运行。而它的 SPIFFE/SPIRE 工作负载身份集成让沙箱内的 Agent 和工具在访问 API 时完全不需要密钥nono 启动时连接本地 SPIRE Agent按需获取短生命周期的 JWT-SVID 并自动注入请求头被沙箱化的进程只发出一个普通 HTTP 请求从头到尾都接触不到任何凭据。为什么选择工作负载身份把密钥彻底移出沙箱传统做法是把 API Token 写进配置文件、环境变量或密钥库keystore。问题是Agent 本身就运行在沙箱里而它恰恰是你最不放心的那一方——一旦凭据暴露给它提示注入或失控行为都可能把密钥带出去。SPIFFESecure Production Identity Framework For Everyone用一种更优雅的方式解决这个问题SPIFFE ID一个类似spiffe://example.com/nono-supervisor的身份标识由信任域Trust Domain统一签发SVIDSPIRE 签发的短期凭据JWT 或 X.509 证书几分钟就过期泄露也几乎没用工作负载认证SPIRE 根据进程的真实属性UID、Pod 信息、云实例身份等自动颁发身份全程无需存储任何长期密钥nono 目前支持JWT-SVID每次请求前获取一个新令牌注入为 Bearer 头刷新由 SPIRE Agent 缓存处理。工作原理一张图看懂凭据注入链路先理解一个关键事实注册进 SPIRE 的工作负载是 nono 监督进程supervisor而不是沙箱内部的那个进程。从图中可以看到内核沙箱边界Kernel Sandbox Boundary上方是可信区操作系统内核、nono 二进制在 exec 前应用沙箱、你显式授权的路径下方是不可信区被执行的 Agent 命令、它派生的所有子进程、它加载的库和发起的网络连接。这意味着沙箱内的进程根本摸不到 SPIRE 的 Agent socket更没有凭据可见性。整个链路如下nono 监督进程通过 Workload API 连接本地 SPIRE Agent socket出站请求先经过 nono 本地代理代理按配置获取 JWT-SVID以Authorization: Bearer jwt形式注入沙箱进程只感知到一个普通的出站请求对凭据的存在毫不知情这条注入链路的实现位于 crates/nono-proxy/src/spiffe.rs令牌以内存清零zeroize方式处理到期前自动刷新SPIRE 下发的 JWT 密钥材料绝不落盘、不进日志。快速上手三步完成 SPIFFE 集成第一步准备 SPIRE Server 与 Agent大部分运维工作在 SPIRE 侧运行 server 和 agent、写认证策略、注册工作负载。nono 的配置文件里只需要一个 socket 路径。仓库自带了本地演示配置可以直接参考Server 配置testdata/spire/server.conf信任域test.nonoJWT TTL 5 分钟Agent 配置testdata/spire/agent.conf启用unix工作负载认证器第二步注册工作负载条目告诉 SPIRE满足什么条件的进程可以拥有哪个 SPIFFE ID。本地环境用unix:uid选择器最直观spire-server entry create \ -spiffeID spiffe://example.com/nono-supervisor \ -selector unix:uid:$(id -u)不同环境的认证方式各由 SPIRE 负责nono 完全无感知同一个 profile 在任何 SPIFFE 环境都通用环境SPIRE 认证方式Linux / macOSunix:uid内核 SO_PEERCREDKubernetesPod UID、命名空间、ServiceAccount 标签AWS EC2实例身份文档GCP / Azure实例元数据第三步在 nono profile 中声明 SPIFFE 凭据在 profile 的网络凭据里加一个spiffe块即可与credential_key互斥{ network: { credentials: [my-api], custom_credentials: { my-api: { upstream: https://api.internal.example.com, spiffe: { type: jwt, workload_api_socket: /var/run/spire/sockets/agent.sock, audience: [https://api.internal.example.com], inject_header: Authorization } } } } }完整字段说明与官方文档见 docs/cli/features/spiffe.mdx。两种配置模式直注 Bearer 还是 OAuth2 换令牌根据上游 API 的鉴权方式nono 提供两个互斥的配置面模式一spiffe块JWT-SVID 直注适用于直接接受 JWT 作为 Bearer Token的上游。nono把令牌原样注入请求头无任何交换过程。可通过inject_header更换目标头用credential_format{}为占位符自定义值格式。模式二auth.client_assertionJWT-SVID 换 OAuth2 令牌适用于OAuth2 令牌端点接受jwt-bearer断言的上游Anthropic API 即属此类。此时用client_assertion字段替代spiffe块auth: { token_url: https://api.example.com/oauth/token, client_assertion: { type: spiffe_jwt, workload_api_socket: /var/run/spire/sockets/agent.sock, audience: [https://api.example.com] } }关键差异JWT-SVID 本身成为客户端凭据——不再需要client_id和client_secret。nono 自动完成交换、缓存 OAuth2 访问令牌直到临期并把换到的访问令牌而非裸 JWT-SVID注入上游请求。常用字段速查字段说明workload_api_socketSPIRE Agent socket 路径唯一必填的环境相关项audience签发 JWT-SVID 的受众inject_header注入的请求头默认Authorizationcredential_format值格式串{}被令牌替换默认Bearer {}svid_hintAgent 返回多个 SVID 时指定使用哪一个 SPIFFE IDSocket 路径速查表workload_api_socket是唯一需要按环境调整的字段。填错了也不怕——nono 在启动时就连不上 socket 会直接失败配置错误立即可见不会静默降级平台典型路径Linux/var/run/spire/sockets/agent.sockmacOS本地安装/tmp/spire-agent/public/api.sockKubernetesSPIFFE CSI 驱动/run/spiffe/sockets/agent.socknono 自动帮你处理的事项集成 SPIFFE 后以下安全细节全部自动化无需人工干预✅启动即验证连接 Workload APIsocket 不可达立即失败fail-closed✅凭据注入自动获取并注入正确的凭据JWT-SVID 或 OAuth2 换得的令牌✅后台轮换SVID 到期前自动刷新无需重启进程、无凭据中断✅内存清零JWT 令牌在释放时对内存清零✅令牌体检拒绝已过期exp或未生效nbf的令牌及时提示检查 SPIRE TTL 与系统时钟漂移SPIRE 运维者只需负责运行 server/agent、注册工作负载条目、为 JWT 路由配置 OIDC 发现端点让上游无需了解 SPIRE 即可验签或为client_assertion流程配置联邦规则。本地复现一条脚本跑通全流程仓库提供了开箱即用的集成测试脚本 scripts/spire-test.sh它会自动完成下载 SPIRE 1.9.6 二进制幂等已存在则复用基于 testdata/spire/server.conf 与 testdata/spire/agent.conf 启动 server 和 agent生成 join token、注册spiffe://test.nono/nono-proxy工作负载条目运行三层测试crates/nono-proxy/tests/spiffe_integration.rs代理层凭据获取与 fail-closed 验证crates/nono-cli/tests/spiffe_run.rs端到端验证——起一个 mock HTTP 服务经真实nono run -- curl ...断言请求头中确实注入了 JWT-SVID在 Linux 上执行即可复现./scripts/spire-test.sh总结nono 的 SPIFFE/SPIRE 集成把Agent 访问 API 需要密钥这个问题从根上消灭了密钥从未存在过——身份由 SPIRE 根据进程真实属性签发令牌几分钟即失效沙箱进程全程零可见性。你只需要在 profile 里填一个 socket 路径其余的注入、轮换、清理全部自动完成。对于在生产环境大规模运行 AI Agent 的团队这正是零信任工作负载身份最落地的形态。更多细节可查阅官方文档 docs/cli/features/spiffe.mdx 与网络功能说明 docs/cli/features/networking.mdx。【免费下载链接】nonoagent runtime security - zero trust, zero setup, zero latency.项目地址: https://gitcode.com/gh_mirrors/non/nono创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

NPM供应链投毒:从隐蔽触发机制到企业级防御实战

NPM供应链投毒:从隐蔽触发机制到企业级防御实战

我在一次应急响应里见过这样的场景:一个负责处理订单回调的Node.js服务,连续几周在凌晨2点到4点向一个陌生IP发送心跳数据包。查遍业务代码,谁也找不到问题点,最后发现问题出在node_modules里某个毫不起眼的依赖包——它在install…

2026/9/26 2:57:16 阅读更多 →
FAST 自适应颜色系统解析:foregroundOnAccentRest Design Token 与前景色对比度算法

FAST 自适应颜色系统解析:foregroundOnAccentRest Design Token 与前景色对比度算法

前端UI组件 【免费下载链接】fast The adaptive interface system for modern web experiences. 项目地址: https://gitcode.com/gh_mirrors/fa/fast 点击查看 免费下载 foregroundOnAccentRest 是 FAST Frame 设计系统(microsoft/fast-components&…

2026/9/27 4:18:01 阅读更多 →
MySQL驱动连接不上?从选型、SSL到连接池的排坑指南

MySQL驱动连接不上?从选型、SSL到连接池的排坑指南

写这篇东西的起因,是最近连续被好几个人问同一个问题:“我明明下载了MySQL驱动,为什么连不上数据库?”结果点开他们发来的截图一看,有人装的是CP210x芯片的USB转串口驱动,有人卡在了Visual C运行库缺失&…

2026/9/27 4:52:22 阅读更多 →

最新新闻

一条命令驾驭20+ AI代理:acpx内置代理注册表完整清单(Codex、Claude、Gemini、Cursor)

一条命令驾驭20+ AI代理:acpx内置代理注册表完整清单(Codex、Claude、Gemini、Cursor)

一条命令驾驭20 AI代理:acpx内置代理注册表完整清单(Codex、Claude、Gemini、Cursor) 【免费下载链接】acpx Headless CLI client for stateful Agent Client Protocol (ACP) sessions 项目地址: https://gitcode.com/gh_mirrors/ac/acpx …

2026/9/27 4:51:29 阅读更多 →
Claude Code泄露源码全景解析:51万行TypeScript如何重塑终端AI编程

Claude Code泄露源码全景解析:51万行TypeScript如何重塑终端AI编程

Claude Code泄露源码全景解析:51万行TypeScript如何重塑终端AI编程 【免费下载链接】claude-code Claude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explai…

2026/9/27 4:51:29 阅读更多 →
3个避坑细节教你网页设计软件视频教程怎么选

3个避坑细节教你网页设计软件视频教程怎么选

3个避坑细节教你网页设计软件视频教程怎么选 上周三凌晨两点,我的手机突然疯狂震动。不是客户催稿,而是服务器监控报警。登录后台一看,官网首页被替换成了满屏的非法广告链接,浏览器打开直接弹出“系统中毒,请安装XX清理工具”的提示。那一刻,我后背…

2026/9/27 4:51:29 阅读更多 →
CCB多智能体布局完全教程:如何用一行TOML搭建多窗口多面板AI团队

CCB多智能体布局完全教程:如何用一行TOML搭建多窗口多面板AI团队

CCB多智能体布局完全教程:如何用一行TOML搭建多窗口多面板AI团队 【免费下载链接】claude_codex_bridge Visible multi-agent CLI workspace for mixing Codex, Claude, Gemini, Kimi, Qwen, Cursor, Copilot, Pi, OpenCode, and other AI coding agents 项目地址…

2026/9/27 4:51:29 阅读更多 →
深圳网站建设服务公司怎么选?拆解3000到3万建站报价

深圳网站建设服务公司怎么选?拆解3000到3万建站报价

深圳网站建设服务公司怎么选?拆解3000到3万建站报价 改个Banner图拖了一周还没动静,后台数据查不到,手机打开全是乱码。这种糟心事儿,深圳做老板的估计谁没碰上过? 别急着骂人,先看看你当初签的合同和拿到的 建站报价…

2026/9/27 4:51:29 阅读更多 →
如何从工程交付判断GEO公司:Schema、基线与复测脚本

如何从工程交付判断GEO公司:Schema、基线与复测脚本

一、为什么从“工程产物”判断最可靠GEO 背后是 RAG 流水线,效果取决于内容能否被正确抓取、结构化与持续维护。一家公司若只能提供“发了多少篇文章”的清单,却拿不出结构化数据、基线记录与复测脚本,其交付很难稳定。反过来,能把…

2026/9/27 4:50:29 阅读更多 →

日新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/27 0:00:34 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/27 0:00:34 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/9/27 0:00:34 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/27 0:00:34 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/27 0:00:34 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/9/27 0:00:34 阅读更多 →

月新闻

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

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

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

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

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

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

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

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

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

2026/9/26 22:52:30 阅读更多 →