☰
Orkas本地优先安全架构详解:密钥脱敏、命令沙箱与CLI权限审批的三层防护全流程
2026/10/7 9:58:10 网站建设 项目流程

Orkas本地优先安全架构详解:密钥脱敏、命令沙箱与CLI权限审批的三层防护全流程

【免费下载链接】OrkasOrkas is an open-source, local-first AI desktop app: a commander LLM directs specialist sub-agents, and runs your installed coding CLIs — Claude Code, Codex, OpenCode, OpenClaw, Hermes — as local sessions. Agents self-evolve via reflection and skill crystallization. BYO keys. macOS / Windows / Linux.项目地址: https://gitcode.com/gh_mirrors/or/Orkas

Orkas 是一款开源的本地优先(local-first)AI 桌面应用:由指挥官 LLM 调度专家子代理,并把你本机安装的编程 CLI(Claude Code、Codex、OpenCode、OpenClaw、Hermes)作为本地会话运行。密钥只留本地(BYO keys)、命令默认拒绝、危险操作人工审批,三大机制构成它的完整安全架构。

为什么本地优先 = 安全前提

传统 AI 应用把密钥、对话、文件统统送上云端;Orkas 反其道而行:

  • 密钥不出设备:API Key 由你自己提供(BYO keys),加密后只存在本地数据目录;
  • 命令先过关卡再执行:任何 shell 命令都会经过沙箱策略检查;
  • 人在回路(Human-in-the-loop):CLI 代理的敏感操作必须等你在界面上点"批准"。

这套设计覆盖 macOS / Windows / Linux 三大平台,源码全开源可审计。

密钥脱敏:你的 API Key 是怎么被保护的

Orkas 的密钥存储是一个两层门面,核心在 src/main/util/local-secret-store.ts:

  1. 第一层:主机加密后端(托管版使用ORKLSEC1:前缀的私有后端);
  2. 第二层:开源兜底方案src/main/util/crypto-vault.ts,采用 AES-256-GCM 加密 + PBKDF2(20 万次迭代)派生密钥,文件带ORKVAULT1魔数头,防止明文被云备份 OCR、崩溃转储或文本编辑器误读。

此外还有两个配套机制:

  • 密钥轮换:rekey-user-local-secrets工具可在更换设备密钥后批量重加密旧文件;
  • 日志脱敏:src/main/util/log-redact.ts 会在日志中把密钥(sk-、ghp_、github_pat等模式)替换为***REDACTED***,路径哈希化、ID 打码,确保敏感信息从不落盘。

命令沙箱:默认拒绝 + 隔离执行

Orkas 的命令沙箱位于 src/core-agent/src/sandbox/,设计原则写在 command-policy.ts 开头:"有界的准入检查,不是 shell 解释器,更不是操作系统沙箱"——它只做保守的拒绝匹配:

防护层级机制示例
内置黑名单危险命令形状匹配rm -rf /、mkfs、dd if=、shutdown、fork 炸弹
保守规则含$、反引号等"不透明"命令一律从严变量展开、管道嵌套
自定义规则用户可追加blockedCommands在 executor.ts 中按会话注入

针对 AI 代理执行脚本的场景,Orkas 还内置了 QuickJS 隔离运行时 run-program.ts,用硬性配额防失控:

  • 墙钟超时 10 分钟、内存 64MB、栈 1MB;
  • 工具调用上限 100 次、并发 8 次;
  • 单次工具结果 8MB、总输出 8MB。

每次执行都会产出"执行回执"(源文件 SHA-256、改动文件清单与哈希),让每一次变更可追溯、可审计。相关行为由 sandbox.test.ts 回归覆盖。

CLI 权限审批:人在回路的完整流程

这是 Orkas 最有特色的环节。当你让 Claude Code 等本地 CLI 代理干活时:

  1. Orkas 通过 backends/claude.ts 以--permission-prompt-tool模式启动 CLI,把权限请求转发给自己;
  2. CLI 触发敏感操作时暂停,runner.ts 在界面上弹出审批提示(多语言内置,如"请求执行许可");
  3. 你逐条查看命令详情,点批准或拒绝;
  4. 未审批的操作保持等待状态,且按会话粒度隔离,互不干扰。

接口安全边界:最后一道门

除了上述三层,Orkas 还堵住了应用内部通道:src/main/ipc/security.ts 只允许来自内置渲染进程(index.html/preview.html)的受信请求进入特权 IPC,通道名严格白名单校验,防止任意网页或注入代码调用敏感接口。技能市场侧则由 src/main/quality/ 的静态质量门在技能落盘前拦截明显恶意内容(详见 README)。

核心安全模块速查

能力文件
密钥加密存储src/main/util/crypto-vault.ts
密钥门面与轮换src/main/util/local-secret-store.ts、src/main/util/rekey-user-local-secrets.ts
命令黑名单策略src/core-agent/src/sandbox/command-policy.ts
沙箱执行器src/core-agent/src/sandbox/executor.ts
隔离运行时src/core-agent/src/tools/run-program.ts
日志脱敏src/main/util/log-redact.ts
IPC 安全边界src/main/ipc/security.ts
CLI 审批后端src/main/features/local_agents/backends/claude.ts

一句话总结:密钥加密不出本地、命令默认拒绝再加资源配额、CLI 敏感操作必须人工点头——Orkas 用"本地优先"把 AI 代理的每一步都放回你的掌控之中。想深入验证?docs/test/ 下的回归文档(如 connectors-regression.md)展示了各安全场景的测试基线。

【免费下载链接】OrkasOrkas is an open-source, local-first AI desktop app: a commander LLM directs specialist sub-agents, and runs your installed coding CLIs — Claude Code, Codex, OpenCode, OpenClaw, Hermes — as local sessions. Agents self-evolve via reflection and skill crystallization. BYO keys. macOS / Windows / Linux.项目地址: https://gitcode.com/gh_mirrors/or/Orkas

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询