OneCLI密钥注入原理揭秘为什么AI Agent能调用API却永远碰不到你的API Key【免费下载链接】onecliOpen-source sandboxed agent harness for teams. Giving every employee a secured personal agent.项目地址: https://gitcode.com/gh_mirrors/on/onecliOneCLI 是一个面向团队的开源沙箱 Agent 平台它的核心安全设计就是密钥注入Credential InjectionAI Agent 在沙箱里发出请求时由网关在转发瞬间把真实的 API Key 注入到请求中——密钥从解密、注入到发往上游全程只发生在网关内部Agent 自始至终看不到任何明文凭证。为什么把 API Key 直接交给 AI Agent是危险做法传统方案是把API_KEYsk-xxx写进环境变量或配置文件让 Agent 自己携带密钥发请求。这在团队协作场景下有几个致命问题Agent 自己会把 Key 泄露出去提示词注入、日志打印、env命令一敲密钥就外泄了无法回收Agent 被删了密钥还留在沙箱磁盘、shell 历史里权限不可控拿到 Key 就等于拿到了账号的全部权限没法限制它只能调某几个 APIOneCLI 的思路反过来Agent 永远不持有密钥只有网关知道密钥。第一层原理网关是唯一出口OneCLI 的每个 Agent 都跑在独立沙箱里文件系统 Shell唯一的出网通道是 Rust 写的 Gateway。网关对 HTTPS 做 MITM 终结用生成的叶子证书与客户端握手再与真实上游建立加密连接核心逻辑在 proxy/src/mitm.rs。Agent 要出网先要自报身份它在请求里带上自己的短期访问令牌Proxy-Authorization: Basic base64(token:)头。网关从请求头中提取并校验这个令牌判断这个沙箱属于哪个 Agent、能使用哪些凭证提取逻辑见 inject/src/lib.rs。关键点在于访问令牌 ≠ API Key。令牌只能证明我是被授权走网关的 Agent X它本身换不出任何密钥。第二层原理请求时刻才解密请求过去就消失每个 Agent 连接一个新域名时网关执行一次策略解析按令牌, 主机名缓存约 60 秒见 proxy/src/connect.rs。解析结果是一份注入规则而不是密钥本身。密钥在数据库里是 AES-256-GCM 加密存储的crypto/src/lib.rs 负责解密——但解密只在注入请求的那一刻发生Agent 发出GET https://api.anthropic.com/v1/messages不带任何密钥网关匹配该 Agent 的注入规则临时解密出密钥网关改写请求头后转发给真实上游明文密钥只存在于这一瞬间注入指令的类型定义在 inject/src/secret_inject.rs应用逻辑在 inject/src/lib.rs。不同 API 用不同的注入姿势网关内置了多种注入方式对 Agent 完全无感注入方式典型场景Authorization: Bearer key头OpenAI 等大多数 APIx-api-key头 删除原有Authorization头AnthropicURL 查询参数?keyxxxYouTube 等 Google APIURL 路径模板/bot{value}/sendMessageTelegram 这类把 Token 放在路径里的 API正则改写路径高级模式其他特殊鉴权形态甚至对 OAuth 类凭证如 ChatGPT 会话网关还会自动完成 access_token 过期刷新并加密回存见 secret_inject.rs。第三层原理比Agent 看不到更严格的防护OneCLI 在注入链路上又叠了几道保险主机名 路径双重限定密钥只注入到配置的主机和路径范围。写入时禁止*.notion.*这类尾部通配它匹配不到任何真实属主域名读取时还会二次校验见 secret_inject.rs策略 ⊇ 注入策略引擎的管控范围按构造严格覆盖注入范围Agent 没被 allow 的主机连规则都解析不到高危操作发邮件、删数据还能触发聊天内人工审批外部保险库按需取密接入 Bitwarden 或 1Password 后密钥甚至可以完全不存服务器——网关在请求时向你的密码管理器现取现用只在内存缓存 60 秒永不落盘见 docs/vault-integration.md 与 apps/gateway/crates/vault/一个巧妙的细节占位密钥让 Agent 彻底安静有些 Agent如 Codex自带 OAuth 刷新逻辑如果给它一个假 token它会反复重试刷新、产生请求风暴。OneCLI 在 default_interceptions.rs 里写了一个静态拦截表Agent 配置文件里的 token 是占位符onecli-managed当它尝试刷新时网关直接合成一个 200 响应让它闭嘴真正的 token 只在实际调用 API 时才注入。新手快速上手git clone https://gitcode.com/gh_mirrors/on/onecli cd onecli pnpm install pnpm run setup启动后打开http://localhost:10254在 Connections 里保存一个密钥如 Anthropic Key再给 Agent 授权即可。完整命令参考见 docs/development.md。总结OneCLI 的密钥注入可以概括为一句话Agent 有令牌、没密钥网关认令牌、发密钥。Agent 侧只有短期访问令牌沙箱里 grep 不到任何 API Key网关侧按Agent × 主机 × 路径精确匹配请求时刻才解密并注入平台侧策略引擎 人工审批兜底密钥可完全不落盘外部 Vault这套设计让给每个员工一个 AI Agent从一句口号变成可落地的工程方案——密钥管理不再依赖每个人的自觉而是由架构保证。【免费下载链接】onecliOpen-source sandboxed agent harness for teams. Giving every employee a secured personal agent.项目地址: https://gitcode.com/gh_mirrors/on/onecli创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
企业数字化 ERP 产品动态
相关推荐
Python实现深度学习基础分析 深度学习(Deep Learning)作为人工智能和机器学习的一个重要分支,已经在诸多领域如图像识别、语音处理、自然语言处理等方面取得了突破性进展。它的核心思想是通过模拟人脑神经网络的结构,利用大规模的数据进行训练,帮助计算机自动提取数据中的特征并进行预测。理解深度学习… · 2026/9/26 22:09:55
新手入门公司网站设计:搞定这3点,流量翻倍 新手入门公司网站设计:搞定这3点,流量翻倍 网站做好了没人访问?别急着怪算法,多半是设计时就把路堵死了。 很多新手入门做公司网站设计,总以为页面好看、动画炫酷就是赢。结果上线三个月,后台看着想哭:UV(独立访客)只有个位数,转化率接近零。… · 2026/9/26 22:09:55
sem支持32种编程语言完整清单:从TypeScript到SQL的代码diff利器 sem支持32种编程语言完整清单:从TypeScript到SQL的代码diff利器 【免费下载链接】sem Semantic version control > entity-level diffs, blame, and impact analysis on top of git. 28 languages via tree-sitter. Built for coding agents. 项目地址: https:… · 2026/9/26 22:09:55
5G NR时频域资源网格图全解析:从子载波到资源块 搞5G无线通信这一行,不管是做算法、协议栈、网优测试,还是刚入门的学生,最后都要回到同一张图上——5G NR的时频域资源网格图。这张图不仅定义了信号在时间和频率上的位置,也决定了终端能不能正确地收发数据。我第一次看到这张图的… · 2026/9/26 22:51:33
Spring AI MCP实战:从原理到源码,构建安全高效的AI工具调用体系 干这一行最怕的就是信息差。早几年做大模型应用,最折磨人的不是模型能力不够,而是怎么把各种外部系统“安全、高效、规范“地接进来——写插件、调API、做鉴权、处理数据结构。每接一个工具,都得从零开始写一套胶水代码,还得祈祷对… · 2026/9/26 22:51:33
Windows 本地安装 Redis7 全攻略:移植版与 WSL2 选型及配置 1. 为什么要在 Windows 上折腾 Redis7很多人第一次接触 Redis 都是在 Linux 服务器上,apt install redis或者yum install redis一行命令就完事了。但现实工作中,大量开发同学的日常主力机就是 Windows,本地调试、写单元测试、跑小型 Demo 的时… · 2026/9/26 22:51:15
WorkBuddy + Flask + SQLite:轻量级独立站快速搭建与日更实践 1. 为什么我选择 WorkBuddy Flask SQLite 这套组合1.1 从零建站这件事,工具选型决定了后面三个月的幸福感做独立站这件事,我前前后后折腾过不少方案。最早用 WordPress,插件装了一堆,主题换了七八套,结果页面加载速度… · 2026/9/26 22:51:15
通达信强龙战法:三重过滤识别主升浪买点 1. 这套指标到底在解决什么问题?——从实盘痛点出发的真实需求“通达信强龙战法抄底先锋捕捉主升浪买点全套指标公式”,光看标题,很多人第一反应是“又一个万能战法”“是不是割韭菜的?”——我完全理解这种警惕。但作为连续十年盯… · 2026/9/26 22:51:06
50+营销Skill装进AI Agent:从Prompt到可调度技能单元 1. 这个项目到底解决了什么问题第一次看到“把 50 多种营销 Skill 装进 AI Agent”这个说法,我脑子里冒出来的第一个念头是:又是一个把提示词打包成“技能库”的仓库吧。但真正把项目拉下来跑了一遍之后,我发现它想做的事情比“提示词合集”要… · 2026/9/26 22:51:05
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍 简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 0:00:40
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践 一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46