Gungnir 强隔离轻量化容器执行沙箱

官方核心
@deepseek-ai/dsh-sandbox-gungnir · v2.1.2

面向不可信代码与自动化脚本执行的零信任安全沙箱。采用轻量 Linux 命名空间(Namespaces)、Seccomp 系统调用过滤与只读文件系统镜像,毫秒级启动并绝对杜绝逃逸风险。

代码沙箱零信任安全Seccomp容器隔离
GitHub Stars
128 K+
+12.4% this month
月度调用量
512 K+
Monthly registry pulls
Reach 影响力
99.4/ 100
Top Tier Ecosystem
运行环境
Cordis v3+
Node 18+ / Bun / Deno

安装与配置

支持 CLI 一键执行、包管理器以及 Cordis 总线编排

bash
manager:
$ pnpm add @deepseek-ai/dsh-sandbox-gungnir

架构解析

「Gungnir Sandbox」为自主智能体的代码运行提供无懈可击的安全保障。智能体在排查漏洞或尝试解决未知问题时,极有可能执行破坏性的终端命令(如 `rm -rf /`)、不慎泄露敏感环境变量或发起恶意网络扫描。 本沙箱通过在底层集成 Linux 命名空间、Cgroups v2 与 Seccomp-BPF 技术,在用户主机与模型执行环境之间筑起铜墙铁壁。智能体获得的是一个完整的临时沙盒容器,其文件修改仅作用于内存 Overlay 层;支持细粒度限制出站网络、禁用特权调用,并在任务结束时瞬间完成原子级销毁,保障宿主系统的绝对安全。

架构设计原则与约束

01
强类型契约隔离

基于 TypeScript 编译期深度推断,跨插件总线调用享受严格类型校验与零偏差提示。

02
毫秒级热插拔调度

支持微内核动态注册与安全平滑卸载,无需重启主宿主进程即可完成逻辑热替换。

03
确定性有限状态机

内置严谨的多阶段任务生命周期控制,防止复杂长时迭代推理场景中会话状态丢失。

04
零动态构建底层依赖

采用纯原生跨平台运行时环境设计,在 Node.js、Bun 及 Deno 容器中极速冷启动。

核心特性

01
Linux Namespaces 完整硬件级隔离:网络、进程树、挂载点与 IPC 完全解耦
02
Seccomp-BPF 核心系统调用拦截:全面封禁 ptraced、reboot、kexec 等高危内核指令
03
出站网络细粒度防火墙:支持全局断网或严格仅允许访问特定白名单域名
04
瞬时 OverlayFS 内存销毁:所有写入均为临时内存镜像,执行完毕瞬间释放且零残留

核心机制

01

沙箱镜像极速派生

从只读基础镜像秒级派生全新隔离命名空间,挂载轻量 OverlayFS。

02

安全策略规则编译

加载 BPF 过滤器,禁用内核高危系统调用与特权提升操作。

03

受控环境指令执行

在硬限制的 CPU/内存与网络配额内运行模型生成的待测脚本。

04

产物提取与原子销毁

提取 stdout/stderr 与目标构建产物后,立即强制销毁命名空间。

配置参数参考 (YAML / JSON)

参数名类型默认值说明
memoryLimitMbnumber1024沙箱容器允许占用的最大内存空间 (MB)
allowInternetbooleanfalse是否允许沙箱内部连接外部公网 (默认断网隔离)
timeoutSecondsnumber120单个脚本执行超时硬杀时限 (秒)

应用场景

企业级生产智能体运行时

依托微内核生命周期与容错状态机,保障企业复杂 Agent 全天候稳定执行不崩溃。

基准测试标准化评测运行

深度原生集成 SWE-bench 标准流程,自动化抓取代码变更并产出规范复现指标。

全自主代码工程重构演进

精准拆解模型思考流与具体操作,跨多文件自主排查并高质量完成大型模块重构。

跨系统多工具流协同自动化

在多进程沙箱间安全并发调度事件,打通研发上下游系统实现端到端自动化流转。

最佳实践

01
权限沙箱隔离机制

严格限定子进程系统调用与外部网络范围,在生产环境中建议结合 Docker 独立容器执行。

02
配置指数退避重试

针对上游模型接口限流与偶发网络抖动,建议开启自适应退避重试并设定最大执行上限。

03
长时任务状态快照

利用内核事件总线快照功能实时固化会话节点,发生不可抗意外时支持秒级断点恢复。

04
全量结构化链路追踪

开启全量 Trace 日志输出,将大模型思考过程与具体工具入参返回值集中汇聚至监控。

常见问题

Q1:长时间执行任务超时如何正确配置?

可在配置文件中调大 timeout 阈值,并通过生命周期钩子定期向总线派发心跳信号。针对长耗时推理与工具调用,建议配合持久化会话快照机制,在任务暂停或重启后无缝恢复执行上下文,避免会话被内核提前回收。

Q2:如何捕获并流式解析模型思考过程?

框架原生提供流式回调机制,会话状态机自动拦截并剥离大模型的 <think> 思考标签。开发者只需监听 onThink 事件即可实时获取推理增量,结合前端流式渲染呈现动效,并支持将完整推导链沉淀至审计日志。

Q3:多个插件依赖冲突时如何按需加载?

Cordis 微内核基于有向无环图进行拓扑排序并解析依赖树。当插件间存在同名服务或版本冲突时,可通过命名空间隔离机制按需挂载;结合上下文注入与惰性初始化技术,仅在工具唤起时动态加载资源,保障系统稳定。

Q4:生产环境中如何实施权限与沙箱隔离?

推荐结合容器沙箱与细粒度权限管控,严密禁止插件越权访问敏感文件与未授权外部网络。可通过微内核提供的权限白名单机制严格限制系统调用,并将工具执行环境置于隔离容器内,彻底阻断潜在的代码注入与提权安全风险。

相关生态插件推荐

为你推荐同分类及高度协同的 Cordis 扩展