vm0安全实践清单:细粒度权限、隔离执行与可审计性的落地细节
vm0安全实践清单细粒度权限、隔离执行与可审计性的落地细节【免费下载链接】okouOkou connects to the tools your team already uses and does the work — across marketing, sales, engineering, and operations, under your control.项目地址: https://gitcode.com/GitHub_Trending/vm/okouOkouvm0是一个连接团队现有工具、代为执行工作的 AI Agent 平台。当 AI Agent 真的拥有动手能力时细粒度权限、隔离执行、可审计性这三根支柱就决定了你能不能放心把任务交给它。本文用仓库里的真实设计文档和源码带你逐项看 Okou 是如何把这三件事落地的。 一分钟速览三大安全支柱支柱解决什么问题核心落点 细粒度权限凭据不经过不可信通道授权最小化SSH/VNC 权限 API、显式 grant、零化密钥️ 隔离执行一次任务 一个独立微虚拟机 资源围栏Firecracker 沙箱、四类进程、cgroup 策略 可审计性每个关键决策都可回放、可追溯只追加决策日志、事件溯源一句话概括凭据不下放、任务不放行、操作可回放。一、细粒度权限最小授权从请求侧落地很多 Agent 产品的安全隐患在于把钥匙交给 Agent 自己保管。Okou 的做法是凭据只在服务端与受信任的 Runner 之间走私有通道Agent 侧永远拿不到。1.1 SSH 权限调用方说了不算根据 docs/runner-ssh-authority.mdSSH 凭证解析接口有几个值得借鉴的细节调用方只能提供身份不能提供内容请求只能携带runnerId和heartbeatGeneration来标识是哪个 Runner 进程无法自行指定属主、Agent、主机、凭据或命令——全部由服务端联合 Run、会话、用户授权grant和连接记录解析出来。多重身份必须全部吻合Run、会话、SSH grant 与主机身份不一致就直接失败共享 Agent 永远不能使用其创建者的主机。失败返回不泄露信息缺失、隐藏、已撤销的引用统一返回不透明的unavailable结果且在解密之前就拒绝。响应即焚解析出的私钥响应标记Cache-Control: no-store且明确规定它永远不能出现在 guest RPC 输出、快照、检查点、日志或审计元数据中。撤销即时生效每次重新解析都会重查当前授权状态凭据轮换、删除、撤销后下一次调用立即失效。1.2 VNC 权限默认关闭 显式授权远程桌面是更高危的能力。在 docs/runner-vnc-authority.md 中VNC 访问默认禁用包括内部员工必须由属主通过GET/PUT /api/agents/:agentId/vnc-access显式开启授权按(orgId, userId, agentId)三元组建键重复开启幂等撤销即删行、重新授权不留历史副本Agent 令牌只有在功能开启后才获得vnc:read/vnc:write能力且能力不能替代当前有效的授权记录主机清单接口只返回 id、显示名、host、port 等元数据绝不含凭据解析出的密钥使用零化类型SecretText源码中刻意不实现Debug/Clone/Serialize从类型层面防止密钥被误打印、误复制、误序列化。️ 从产品界面也能看到这套权限体系Agent 的Authorization / Instructions页签把授权与运行指令分开管理。相关文档付费工具管控见 docs/paid-tool-controls.md。二、隔离执行每个任务跑在独立的微虚拟机里2.1 Firecracker 沙箱任务的物理边界每个 Run 的执行发生在由 Firecracker 微虚拟机承载的沙箱中实现在 crates/sandbox-firecracker/启动配置、内存气球、网络、CoW 镜像池与快照等模块一应俱全。每次任务一个干净微虚机意味着用户可影响的代码跑在独立内核边界内而不是和宿主机共享进程空间。2.2 四类进程四种信任级别docs/runner-guest-process-lifecycle.md 把 guest 内所有生产子进程穷举为四类并规定谁能选择哪一类进程类别例子资源策略沙箱服务guest-init、guest-control-server沙箱生命周期VM 级策略有界辅助程序DNS 解析、写文件、状态恢复固定程序调用方不可选受控工作负载一次性 shell 命令、存储解压每操作独立workloadcgroup标准 CPU/内存/PID/OOM 策略受控 AgentAgent CLI、托管工具controlcgroup 每工具独立tool-N叶子 cgroup关键点通用沙箱调用方只能申请受控工作负载或唯一封死的 Agent 入口——不能申请 guest-root 执行、不能自选辅助程序、不能自定义隔离策略。信任等级由调用方身份决定而不是由参数决定。2.3 内存保护让失控任务烧不穿docs/runner-memory-policy.md 配合规范策略源 crates/guest-contracts/src/process_containment.rs 给出了精确的分层内存策略Agent 运行时workload/runtime有384 MiB的memory.min保护下限控制层有128 MiB防止任务侧内存压力把 Agent 核心挤死工具进程tool-N不享受保护与运行时共享上限超限就竞争、被 OOM 处理托管 shell 工具保留oom_score_adj1000优先被杀工作负载硬上限 Guest 物理内存 − 128 MiB 控制预留。翻译成人话Agent 的大脑有保底线双手工具没有限外特权——这是防资源耗尽型攻击的直接手段。三、可审计性每个关键决策都可回放3.1 只追加的决策日志docs/account-erasure-decision-journal.md 描述了一个独立于应用主库的 PostgreSQL 决策日志决策只追加、按事务内分配的decisionSequence排序配 watermark 水位与分页读取可完整回放客户端必须显式传入独立数据库连接绝不读取应用DATABASE_URL——审计存储与应用存储从连接层面就隔离每次追加绑定权威方authorityUUID责任可追溯到人/系统。类似的审计面还有计算机使用审计事件docs/account-erasure-computer-use-audit-events.md配合 SSH 权限文档中密钥永不进入审计元数据的规则形成决策可审计、秘密不可见的平衡。3.2 事件溯源服务端事件是唯一事实源docs/event-sourcing.md 规定前端展示用的乐观事件只是页面本地投影持久化事件才是带服务端排序的事实当持久事件到达后按同一事件 ID 对账替换。请求失败、超时都不允许前端自行回滚事件。这条规则保证了 UI 上看到的 Agent 行为最终一定能与服务端事件流对得上——审计时不存在界面说做过、日志里没有的歧义。四、落地清单今天就能对照检查的 6 件事✅凭据解析走私有通道Runner/Agent/日志侧都无法直接取到密钥接口只回身份不回收据。✅高危能力默认关闭VNC 默认禁用付费工具单独立管控文档。✅授权三元组建键按组织 × 用户 × Agent精确授权撤销即时生效。✅任务隔离在微虚拟机每任务独立沙箱进程类别与调用方信任等级绑定。✅资源有硬围栏cgroup 分层 内存保护下限 可预测的 OOM 优先级。✅决策只追加、可回放独立决策日志 事件溯源对账操作全程可追溯。参考材料SSH 权限docs/runner-ssh-authority.mdVNC 权限docs/runner-vnc-authority.md进程生命周期与信任边界docs/runner-guest-process-lifecycle.md内存保护策略docs/runner-memory-policy.md决策日志docs/account-erasure-decision-journal.md事件溯源docs/event-sourcing.mdFirecracker 沙箱源码crates/sandbox-firecracker/进程容纳规范策略源crates/guest-contracts/src/process_containment.rs【免费下载链接】okouOkou connects to the tools your team already uses and does the work — across marketing, sales, engineering, and operations, under your control.项目地址: https://gitcode.com/GitHub_Trending/vm/okou创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

深入理解 Ray RLlib 中的分布式 PPO:从 Clipped Surrogate 目标到同步并行训练架构

深入理解 Ray RLlib 中的分布式 PPO:从 Clipped Surrogate 目标到同步并行训练架构

人工智能分布式训练强化学习任务调度模型推理服务 【免费下载链接】ray Ray is an AI compute engine. Ray consists of a core distributed runtime and a set of AI Libraries for accelerating ML workloads. 项目地址: https://gitcode.com/gh_mirrors/ra/ray 点…

2026/9/21 15:18:22 阅读更多 →
Material Components Web 架构解析:包划分、Sass 体系与 Foundation/Adapter 分层设计

Material Components Web 架构解析:包划分、Sass 体系与 Foundation/Adapter 分层设计

前端UI组件设计系统 【免费下载链接】material-components-web Modular and customizable Material Design UI components for the web 项目地址: https://gitcode.com/gh_mirrors/ma/material-components-web 点击查看 免费下载 本篇技术指南基于仓库中的 archite…

2026/9/21 15:18:22 阅读更多 →
OpenIM Protoc Tool v1.0.0 使用指南:定制化 Protobuf 编译器的下载、安装与代码生成实战

OpenIM Protoc Tool v1.0.0 使用指南:定制化 Protobuf 编译器的下载、安装与代码生成实战

即时通讯后端微服务WebSocket 【免费下载链接】open-im-server IM Chat OpenClaw 项目地址: https://gitcode.com/gh_mirrors/op/open-im-server 点击查看 免费下载 OpenIM 为满足自身即时通讯(IM)生态对协议编译的定制化需求,发…

2026/9/21 15:18:22 阅读更多 →

最新新闻

Swagger Codegen Bash 客户端模型文档解读:以 Petstore 的 Category 模型为例

Swagger Codegen Bash 客户端模型文档解读:以 Petstore 的 Category 模型为例

开发工具代码生成API设计 【免费下载链接】swagger-codegen swagger-codegen contains a template-driven engine to generate documentation, API clients and server stubs in different languages by parsing your OpenAPI / Swagger definition. 项目地址: http…

2026/9/21 15:50:58 阅读更多 →
GraalVM Native Image 运行时模块系统支持(Runtime Module System)深度解析

GraalVM Native Image 运行时模块系统支持(Runtime Module System)深度解析

编译器JIT编译语言运行时高性能计算内存管理 【免费下载链接】graal GraalVM compiles applications into native executables that start instantly, scale fast, and use fewer compute resources 🚀 项目地址: https://gitcode.com/gh_mirrors/gr/gra…

2026/9/21 15:50:58 阅读更多 →
Nix 二进制缓存签名密钥对生成指南:nix-store --generate-binary-cache-key 详解

Nix 二进制缓存签名密钥对生成指南:nix-store --generate-binary-cache-key 详解

Nix 二进制缓存签名密钥对生成指南:nix-store --generate-binary-cache-key 详解 【免费下载链接】nix Nix, the purely functional package manager 项目地址: https://gitcode.com/gh_mirrors/ni/nix Nix 的二进制缓存(binary cache&#xff09…

2026/9/21 15:50:58 阅读更多 →
MCP Python SDK 客户端回调(Client Callbacks)权威指南:响应服务端发起的请求与能力协商

MCP Python SDK 客户端回调(Client Callbacks)权威指南:响应服务端发起的请求与能力协商

MCP Python SDK 客户端回调(Client Callbacks)权威指南:响应服务端发起的请求与能力协商 【免费下载链接】python-sdk The official Python SDK for Model Context Protocol servers and clients 项目地址: https://gitcode.com/gh_mirrors…

2026/9/21 15:50:58 阅读更多 →
DLSS Swapper 完整指南:免费两步替换游戏内 DLSS 版本

DLSS Swapper 完整指南:免费两步替换游戏内 DLSS 版本

DLSS Swapper 完整指南:免费两步替换游戏内 DLSS 版本 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper 一个很常见的情况:游戏大更新后,你重新进入游戏,发现画质比之前更糊…

2026/9/21 15:50:58 阅读更多 →
MyBatis缓存优化与EHCache集成实战

MyBatis缓存优化与EHCache集成实战

1. MyBatis缓存机制与EHCache的价值解析作为Java生态中最受欢迎的ORM框架之一,MyBatis的缓存设计直接影响着应用性能。其内置的PerpetualCache采用简单的HashMap实现,在单机环境下表现尚可,但在分布式场景或高并发请求下就会暴露出内存限制、…

2026/9/21 15:49:57 阅读更多 →

日新闻

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 阅读更多 →