返回资讯中心
外部精选
软件工程
#开发者实时流

仅靠应用层护栏不够,用 bwrap 在系统内核层隔离 AI Agent

来源标题:You Cannot Trust Your Agent (and How to Isolate It)

应用层护栏不足以约束 AI Agent,需在内核层限制其文件系统访问。作者采用 Linux 工具 bwrap 创建非特权沙箱,让 Agent 只能看到项目与必要配置,无法访问系统其余路径。该方案使 Agent 对根系统只读,对用户目录的修改仅存于内存。

Hacker News 最新henriquegogo2026/11/4 · 5 天前5 分钟阅读

以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。

共识很快转变了:应用层面的防护栏是不够的。我需要真正的文件系统隔离。

解决这个问题最稳健的办法,是在 agent 还没开始运行之前,就在操作系统内核层面限制它对文件系统的可见范围。

我采用了 bwrap(bubble wrap),这是一个专门用于在 Linux 上创建非特权沙箱的强大工具。我们不再要求 AI 不要去看 /etc,而是明确告诉操作系统:这个 agent 看不到 /etc。

核心思路是重新定义 agent 可访问的文件系统结构。

结果就是一个受限的环境:agent 在自己的沙箱里运行,自以为能访问你的项目和必要的配置,但实际上它在内核层面根本没有任何路径可以去遍历系统的其余部分。

下面这个 Bash 函数使用 bubblewrap(bwrap)工具创建一个隔离且安全的沙箱来执行程序,同时不允许程序永久修改你的系统文件或你的主目录($HOME)。

核心概念是:应用程序以只读方式访问根系统,而它对用户目录尝试做出的任何修改,都只通过 overlay 发生在你的内存(临时存储)中。

confine() { if [ -z "$1" ]; then echo "Usage: confine [PATH] [COMMAND]" return 1 fi local TARGET=$(realpath "$1"); shift mkdir -p "$HOME"/{.home,.config,.local,.cache} bwrap --ro-bind / / --dev-bind /dev /dev --proc /proc
--tmpfs "$HOME" --tmpfs /var/tmp --bind /tmp /tmp
--overlay-src "$HOME/.home" --tmp-overlay "$HOME"
--overlay-src "$HOME/.config" --tmp-overlay "$HOME/.config"
--overlay-src "$HOME/.local" --tmp-overlay "$HOME/.local"
--overlay-src "$HOME/.cache" --tmp-overlay "$HOME/.cache"
--bind "$TARGET" "$TARGET" --chdir "$TARGET" "${@:-bash}"

隔离就发生在这里,逐行来看:

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →