首页/新闻资讯/正文详情

just-bash威胁模型深度拆解:AI Agent沙盒的3类攻击者与5道信任边界

发布时间:2026/9/25 3:23:51 来源:云帆数科 栏目:资讯中心
just-bash威胁模型深度拆解:AI Agent沙盒的3类攻击者与5道信任边界
just-bash威胁模型深度拆解AI Agent沙盒的3类攻击者与5道信任边界【免费下载链接】just-bashBash for Agents项目地址: https://gitcode.com/gh_mirrors/ju/just-bashjust-bash 是一个为 AI Agent 打造的沙盒 Bash 解释器——用 TypeScript 实现、内置内存虚拟文件系统让 AI 可以安全地执行 shell 命令而不触碰真实系统。它的 THREAT_MODEL.md 完整定义了这套 AI Agent 沙盒的威胁模型3 类攻击者、5 道信任边界以及层层设防的防御纵深。下面带你快速读懂这份安全设计。一、先认识 just-bash为什么 AI Agent 需要沙盒 Bash让 AI Agent 直接在你的机器上跑 bash 是危险的一条rm -rf /、一次意外的路径穿越就可能造成不可逆损失。just-bash 的思路很直接把 bash 整个虚拟化掉。它用 TypeScript 重写了解析器、解释器和约 79 个内置命令运行在一个只存在于内存中的 Unix 风格文件系统里默认提供/home/user、/bin、/tmp等目录结构整个代码库中没有任何一处导入child_process——也就是说不存在从脚本到宿主进程的路径。这一点可以从 THREAT_MODEL.md 的架构图直观看到沙盒与宿主之间的网络、文件系统、子进程通道全部被切断。核心入口在 packages/just-bash/src/Bash.ts安全相关的默认值如虚拟化的 pid/uid、资源上限也在这里注入。二、威胁模型第一步识别 3 类攻击者 官方威胁模型把攻击者划分为三类信任级别全部为零1️⃣ 不受信任的脚本作者主要攻击者这是最核心的威胁提交任意 bash 脚本的 AI Agent 或用户。它可以构造任何合法甚至非法的 bash 语法目标是逃逸沙盒、读取宿主文件、窃取密钥、执行任意代码或发起拒绝服务攻击。2️⃣ 恶意数据源攻击不一定来自脚本本身也可能来自脚本消费的数据——HTTP 响应、文件内容、stdin。这类数据会流经变量展开、变量赋值和命令参数可能被精心构造以触发原型链污染prototype pollution、IFS 注入、文件名路径穿越等漏洞。3️⃣ 被入侵的依赖供应链攻击者修改 npm 依赖的供应链攻击者可以在 import 时执行任意代码。威胁模型明确将其列为运行时防御之外的问题——它属于部署层面的关注点靠 lockfile、依赖审计等手段解决而非沙盒本身。这个三分法很实用它告诉你哪些要防、哪些要隔离、哪些要外包给供应链安全流程。三、5 道信任边界攻击者必须在哪儿过关卡 just-bash 把沙盒内部划分为 5 道关键信任边界详见 THREAT_MODEL.md#L81-L90每道边界都有明确的数据流和强制规则边界数据流攻击面核心防御TB1脚本输入 → 解析器词法炸弹、深层嵌套、超大脚本10 万 token 上限、解析深度 200、输入 1MB 封顶src/parser/types.tsTB2解释器 → 文件系统路径穿越、符号链接逃逸、写入宿主OverlayFs 内存写入、allowSymlinks默认拒绝、isPathWithinRoot()根目录校验TB3解释器 → 网络任意外联、SSRF、响应炸弹网络默认关闭开启后 URL 必须过前缀允许列表每次跳转逐一校验TB4解释器 → 宿主进程派生子进程、读环境变量、触达 Node 内部 API架构层面零路径无child_processprocess.*、eval等被纵深防御拦截TB5数据 → 变量/键空间原型链污染__proto__作键名环境变量用MapAWK/关联数组用 null-prototype 对象杜绝constructor注入其中 TB1 的资源限额集中在 packages/just-bash/src/limits.ts而 TB2 的根目录校验与符号链接策略实现在 packages/just-bash/src/fs/ 下如 overlay-fs、real-fs-utils.ts。四、防御纵深这些经典攻击会撞在哪层墙上 ️THREAT_MODEL.md 第 6 节用 23 个具体攻击场景做了攻防推演见 THREAT_MODEL.md#L354-L380几个典型判例cat /etc/passwd→ OverlayFs 判定路径不在沙盒根内 →ENOENT被文件系统层拦截ln -s /etc/passwd x符号链接逃逸→ 符号链接默认拒绝 →EPERM被链接策略拦截while true; do :; done死循环→ 循环迭代上限 10K → 抛错被执行限额拦截arr[__proto__]evil原型链污染→ 键空间使用 Map/null-prototype → 无效被数据守卫拦截import(data:text/javascript,...)动态导入→ 上下文感知的 loader hook 拦截 →纵深防御拦截[[ $str ~ evil_regex ]]正则拒绝服务→ re2js 线性时间正则引擎src/regex/user-regex.ts无灾难性回溯被引擎特性拦截特别值得一提的是 TB4 的设计哲学主防御是架构上不存在从 bash 解释到 JS 执行的路径而Function、eval、process.binding、WebAssembly、Proxy等全局对象的拦截blocked-globals.ts、defense-in-depth-box.ts只是次级纵深防御——官方坦承 monkey-patch 本身可被绕过所以它被明确定位为第二道墙而非唯一一道墙。五、诚实披露已知残余风险 ⚠️真正专业的威胁模型会承认自己的缺口THREAT_MODEL.md 第 4 节也不例外动态import()的防御强度随运行时能力变化它是语言级关键字无法被 Proxy 拦截需依赖node:module.registerHooks()上下文感知 hook部署时应调用getStatus()确认level: full提前捕获的引用若代码在纵深防御激活前就持有Function引用可绕过代理——再次印证主防御靠架构不靠 patchPython WASM 执行面可选开启风险 MEDIUM默认关闭开启后通过全新 Worker、30 秒超时、移除ctypes/动态链接等编译期裁剪实现构造上隔离信号与作业控制trap、/fg/bg安全测试覆盖有限因不派生真实进程信号仅在虚拟模型内运作Unicode 边界情况无效 UTF-8、RTL 覆盖字符属展示/混淆攻击非执行逃逸向量这些已知但可控的取舍正是评估一个沙盒能否用于生产的重要参考。六、延伸阅读跟着源码读懂这套安全体系 威胁模型全文本文底稿THREAT_MODEL.md安全防御实现packages/just-bash/src/security/含attacks/攻击样本、fuzzing/模糊测试、prototype-pollution/污染用例资源限额配置packages/just-bash/src/limits.ts安全模型使用文档packages/just-bash/README.mdSecurity Model 章节实战参考examples/bash-agent/ 展示了用 just-bash 搭建 AI Agent 终端examples/executor-tools/ 演示了将 bash 能力暴露为 Agent 工具一句话总结just-bash 的威胁模型把AI Agent 能干什么坏事拆成了 3 类攻击者 × 5 道信任边界的矩阵用架构无路径 虚拟文件系统 资源限额 纵深防御四层防线逐一收口并诚实地标注了残余风险——这就是把它交给 AI 跑命令时你可以放心的理由。【免费下载链接】just-bashBash for Agents项目地址: https://gitcode.com/gh_mirrors/ju/just-bash创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

Pot-Desktop 划词翻译与截图 OCR 快速指南:装好配顺,3 步跑通
Pot-Desktop 划词翻译与截图 OCR 快速指南:装好配顺,3 步跑通

Pot-Desktop 划词翻译与截图 OCR 快速指南:装好配顺,3 步跑通 【免费下载链接】pot-desktop 🌈一个跨平台的划词翻译和OCR软件 | A cross-platform software for text translation and recognition. 项目地址: https://gitcode.com/GitHub_… · 2026/9/25 3:23:51

Nuke 10 迁移指南:从 Nuke 9.x 平滑升级 Image Loading System 的完整实战手册
Nuke 10 迁移指南:从 Nuke 9.x 平滑升级 Image Loading System 的完整实战手册

移动开发图像处理 【免费下载链接】Nuke Image loading system 项目地址: https://gitcode.com/gh_mirrors/nu/Nuke 点击查看 免费下载 本文以 Nuke 官方 Nuke 10 Migration Guide 为骨架,面向正在从 Nuke 9.x 升级到 Nuke 10 的 Swift 开发者&#xff… · 2026/9/25 3:23:51

MikroORM 自定义驱动(Custom Driver)开发指南:基于 Platform、SchemaHelper、Connection、Driver 四大组件实现全新数据库支持
MikroORM 自定义驱动(Custom Driver)开发指南:基于 Platform、SchemaHelper、Connection、Driver 四大组件实现全新数据库支持

后端 【免费下载链接】mikro-orm TypeScript ORM for Node.js based on Data Mapper, Unit of Work and Identity Map patterns. Supports MongoDB, MySQL, MariaDB, MS SQL Server, PostgreSQL and SQLite/libSQL databases. 项目地址: https://gitcode.com/gh_mir… · 2026/9/25 3:23:51

深入理解 Harry:Apache Cassandra 的确定性模糊测试与正确性验证工具
深入理解 Harry:Apache Cassandra 的确定性模糊测试与正确性验证工具

数据库分布式数据库后端 【免费下载链接】cassandra Mirror of Apache Cassandra 项目地址: https://gitcode.com/gh_mirrors/cassandr/cassandra 点击查看 免费下载 Harry 是 Apache Cassandra 仓库中内置的一套模糊测试(fuzz testing)与验… · 2026/9/25 5:37:41

如何让AI Agent从原型走向生产:awesome-harness-engineering生产基础设施与成本优化全清单
如何让AI Agent从原型走向生产:awesome-harness-engineering生产基础设施与成本优化全清单

如何让AI Agent从原型走向生产:awesome-harness-engineering生产基础设施与成本优化全清单 【免费下载链接】awesome-harness-engineering Awesome list for AI agent harness engineering: tools, patterns, evals, memory, MCP, permissions, observability, and … · 2026/9/25 5:37:34

isomorphic-git HTTP 客户端指南:Node/Browser 客户端选型与自定义 HttpClient 实现
isomorphic-git HTTP 客户端指南:Node/Browser 客户端选型与自定义 HttpClient 实现

开发工具 【免费下载链接】isomorphic-git A pure JavaScript implementation of git for node and browsers! 项目地址: https://gitcode.com/gh_mirrors/is/isomorphic-git 点击查看 免费下载 isomorphic-git 所有发起网络请求的 API(clone、fetch、p… · 2026/9/25 5:37:34

React Native Bottom Sheet Modal Props 深度解析:从 name 到容器定制的完整配置指南
React Native Bottom Sheet Modal Props 深度解析:从 name 到容器定制的完整配置指南

前端移动开发UI组件跨平台 【免费下载链接】react-native-bottom-sheet A performant interactive bottom sheet with fully configurable options 🚀 项目地址: https://gitcode.com/gh_mirrors/re/react-native-bottom-sheet 点击查看 免费下载 Botto… · 2026/9/25 5:37:34

基于 ANTLR4 的 Z Notation(ISO 13568)文法实现:三阶段解析、运算符上下文转换与结合性处理实战指南
基于 ANTLR4 的 Z Notation(ISO 13568)文法实现:三阶段解析、运算符上下文转换与结合性处理实战指南

编程语言编译器开发工具 【免费下载链接】grammars-v4 Grammars written for ANTLR v4; expectation that the grammars are free of actions. 项目地址: https://gitcode.com/gh_mirrors/gr/grammars-v4 点击查看 免费下载 导读 本文以 grammars-v4 仓库中的 z/ … · 2026/9/25 5:37:34

Keil5选STLink就闪退?驱动更换与DLL替换全解决
Keil5选STLink就闪退?驱动更换与DLL替换全解决

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 5:37:28

数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)
数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31

创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战
创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31

MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX
MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:37

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码