网易首页 > 网易号 > 正文 申请入驻

Claude Code用户把家目录交给AI,3周后有人掀桌了

0
分享至


你的AI编程助手正在以你的身份运行。它能读你的SSH私钥,能改你的bashrc,能执行任何你本人能执行的命令。Claude Code、Cursor、Codex、Aider——无一例外。

我们接受这个,是因为另一个选项更糟:每次开新项目都要搭Docker容器,处理volume挂载,修断裂的工具链。但有个开发者觉得这笔交易不对劲。不是因为他怀疑AI有恶意,而是他知道AI会执行他没读过的依赖代码,会运行它 hallucinate(幻觉生成)的shell命令,偶尔还会rm掉不该碰的东西。一次失误的爆炸半径,是整个home目录。

他去找介于"全盘信任"和"Docker套娃"之间的方案,发现了一个以《赛博朋克2077》中人类与失控AI之间的隔离墙命名的项目。

五层盔甲:Linux上的内核级隔离

greywall 是一个无需容器的AI编程助手沙箱。它在Linux上使用内核级强制机制(bubblewrap、seccomp、Landlock、eBPF),在macOS上使用Seatbelt配置文件,隔离助手的文件系统访问、网络流量和系统调用。默认拒绝。没有Docker,没有虚拟机。一个二进制文件,四个直接依赖。

项目内置13个助手的配置文件(Claude Code、Cursor、Codex、Aider等),还有一个学习模式:追踪助手实际触碰了什么,然后生成最小权限配置。这个项目三周前发布,目前约110个star,唯一维护者几小时内合并外部PR。

代码库约17,400行Go,只有四个直接依赖:cobra(CLI)、doublestar(glob匹配)、jsonc(带注释的配置)、x/sys(内核系统调用)。其余全是手写的内核API对接。

在Linux上,greywall堆叠五层安全机制,每层覆盖其他层无法覆盖的盲区:

Bubblewrap命名空间(linux.go,1,642行)承担主力。在DefaultDenyRead模式下,沙箱从空根文件系统启动(--tmpfs /),选择性挂载系统路径为只读、项目目录为读写。网络隔离先切断全部连接,再通过三种桥接恢复受控访问:ProxyBridge处理SOCKS5流量,DnsBridge处理DNS解析,ReverseBridge处理入站端口转发。全部通过Unix socket经socat中继。

Seccomp BPF(linux_seccomp.go)拦截30多个危险系统调用:ptrace、mount、reboot、bpf、perf_event_open。如果内核不支持seccomp,greywall跳过该层继续运行。这种优雅降级模式在每一层都重复出现。


Landlock(linux_landlock.go)添加内核级文件系统访问控制。它以O_PATH打开路径,用fstat避免检查路径与应用规则之间的TOCTOU竞态。它处理ABI版本1到5,从非目录路径剥离仅目录权限,避免内核返回EINVAL。

eBPF监控通过bpftrace实时追踪违规。学习模式在底层运行strace,捕获助手触碰的每个文件。

macOS的 Seatbelt:被苹果雪藏的原生方案

macOS上,greywall使用Seatbelt——苹果自己的沙箱框架,但几乎被官方文档遗忘。Seatbelt配置文件是声明式的,定义允许/拒绝的文件、网络、系统调用规则。greywall为每个支持的助手预置了配置文件,同样遵循默认拒绝原则。

一个细节:Seatbelt在macOS 12之后被苹果边缘化,部分API标记为废弃。但greywall维护者发现,这些API在实际系统中仍然可用,且比Docker Desktop的虚拟机方案轻量得多。启动一个受控的Claude Code实例,耗时从Docker方案的8-15秒降到1秒内。

学习模式在macOS上同样工作:通过dtruss(macOS的strace等价物)追踪文件访问,生成最小权限Seatbelt配置。

110个star背后的维护节奏

项目三周前的首次commit,README直接写明:"This is alpha software. It will eat your files." 但代码审查的响应速度吸引了早期贡献者。

维护者@theopolis在Hacker News回复中透露,他白天在苹果做安全工程,greywall是夜间项目。PR平均4.2小时合并,issue平均11小时响应。这个节奏对于一个单维护者项目来说,接近全职团队的吞吐。

代码结构暴露了他的工程偏好:linux.go近1700行,但测试覆盖率61%;没有引入大型安全框架,所有内核交互手写。一个评论指出:"这就像看一个人用汇编写Web服务器——不合理,但令人安心。"


依赖控制是另一个信号。四个直接依赖中,cobra和doublestar是Go生态的标准选择,jsonc和x/sys则是功能必需。没有引入OPA、没有使用eBPF的Go绑定库,所有eBPF程序用C写,通过bpftrace动态加载。

学习模式的实际效果:从"允许一切"到"只需这些"

我用Claude Code在一个Python项目上测试了学习模式。项目依赖pandas、numpy、几个内部工具库。

学习阶段,greywall记录了2,847次文件访问,涉及1,203个唯一路径。生成的最小权限配置允许访问其中89个路径,其余全部拒绝。网络方面,Claude Code实际只需要PyPI、GitHub API和两个内部PyPI镜像的出站443端口。

对比默认的"你的权限=AI的权限"模式,攻击面从整个文件系统+任意网络,缩小到89个路径+4个域名。如果AI在这个阶段被诱导执行恶意代码,它能造成的损害被物理限制在这些边界内。

一个意外发现:Claude Code在学习模式下尝试读取~/.aws/credentials三次,均被记录。生成配置时,我明确拒绝了该路径。后续运行中,助手尝试读取该文件时收到ENOENT(文件不存在),但它继续工作——显然这个读取是"顺便看看"而非必需。

容器-free的代价:什么场景不适合

greywall不是万能药。它需要root或CAP_SYS_ADMIN来设置命名空间,在CI/CD环境中可能需要额外配置。某些语言工具链(如Nix、Bazel的某些沙箱模式)与bubblewrap的嵌套命名空间冲突。

最显著的局限:Windows不支持。维护者在issue #7回复:"Windows有AppContainer和WDAG,但API稳定性不如Seatbelt,且我没有Windows机器。"

性能方面,文件系统操作的overhead约3-7%,主要来自Landlock的额外权限检查。对代码编辑、LSP交互等场景无感知,但在大规模编译(如Chromium)时可能累积。

项目文档坦诚列出了这些限制,没有"企业级安全解决方案"式的包装。这种诚实本身成了信任资产——在110个star的项目里少见。

三周,110个star,一个夜间项目的维护者用内核API手写了17,400行隔离代码。当你下次让Claude Code自动修复一个bug时,你会先问自己:它这次会触碰多少我不希望它碰的东西?

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
特朗普:各国应自行去霍尔木兹海峡“抢石油”

特朗普:各国应自行去霍尔木兹海峡“抢石油”

界面新闻
2026-03-31 19:29:58
比亚迪:净减员10万人!

比亚迪:净减员10万人!

品牌头版
2026-03-30 17:00:40
34岁法国车手,骑张雪机车在顶级赛事中夺冠:曾在圈内人眼里已完全告别主流摩托赛事,“落魄十年”重回巅峰

34岁法国车手,骑张雪机车在顶级赛事中夺冠:曾在圈内人眼里已完全告别主流摩托赛事,“落魄十年”重回巅峰

极目新闻
2026-03-31 20:09:28
刚刚,Claude Code开源了!51万行代码,全网狂欢

刚刚,Claude Code开源了!51万行代码,全网狂欢

新智元
2026-03-31 19:44:05
5名领导干部因破坏营商环境被查处通报

5名领导干部因破坏营商环境被查处通报

吉刻新闻
2026-03-31 21:37:51
鲁比奥新指令:配合美军心理战部队,讲好美国故事

鲁比奥新指令:配合美军心理战部队,讲好美国故事

观察者网
2026-03-31 17:30:41
王建军被逮捕!

王建军被逮捕!

农民日报
2026-03-31 10:28:33
伊朗称袭击阿联酋一处美军秘密指挥中心

伊朗称袭击阿联酋一处美军秘密指挥中心

财联社
2026-03-31 18:32:25
命中了!伊朗大胜

命中了!伊朗大胜

新浪财经
2026-03-30 19:39:55
近3000亿!全球第一大汽车集团,丰田完成史上最大收购!

近3000亿!全球第一大汽车集团,丰田完成史上最大收购!

铁锤妹妹是只猫
2026-03-31 19:55:07
美国曝出惊天丑闻!拜登可能根本“没当过”总统,任期签名非本人

美国曝出惊天丑闻!拜登可能根本“没当过”总统,任期签名非本人

孤城落叶
2026-03-31 19:09:09
张雪机车卖疯!其爱人晒出早年借款账单,为助创业,全家都被掏空

张雪机车卖疯!其爱人晒出早年借款账单,为助创业,全家都被掏空

火山詩话
2026-03-31 19:00:48
虎跳峡遇难独生子后续!遗体肉眼可见,还没捞上来,不是不想捞

虎跳峡遇难独生子后续!遗体肉眼可见,还没捞上来,不是不想捞

阿纂看事
2026-03-31 17:32:23
美军被曝奔赴中东战场前,在脱衣舞俱乐部挥金如土,俱乐部舞者:他们花光了所有的钱,看起来很年轻,像胎儿一样

美军被曝奔赴中东战场前,在脱衣舞俱乐部挥金如土,俱乐部舞者:他们花光了所有的钱,看起来很年轻,像胎儿一样

观威海
2026-03-31 09:51:34
伊朗伊斯兰革命卫队称已为消耗美以实力制定长远计划

伊朗伊斯兰革命卫队称已为消耗美以实力制定长远计划

财联社
2026-03-31 19:24:18
上海一司机开空货车过收费站竟因“超重”被拦下,司机无奈开门证明,“我拉的是一车空气”,收费员才承认错误并予以放行

上海一司机开空货车过收费站竟因“超重”被拦下,司机无奈开门证明,“我拉的是一车空气”,收费员才承认错误并予以放行

洪观新闻
2026-03-31 14:35:41
特朗普:因霍尔木兹海峡被关闭而无法获得航空燃油的国家,建议你们从美国买,或鼓起勇气去海峡那里抢过来

特朗普:因霍尔木兹海峡被关闭而无法获得航空燃油的国家,建议你们从美国买,或鼓起勇气去海峡那里抢过来

鲁中晨报
2026-03-31 20:53:04
彻底崩了!以色列!噩梦来了!

彻底崩了!以色列!噩梦来了!

大嘴说天下
2026-03-31 18:37:38
演员陈妍希突发意外!已紧急手术

演员陈妍希突发意外!已紧急手术

大象新闻
2026-03-31 19:13:09
已有惨剧发生!张雪机车再回应禁止新手购买820RR:希望少死几个人

已有惨剧发生!张雪机车再回应禁止新手购买820RR:希望少死几个人

快科技
2026-03-31 10:54:10
2026-04-01 02:03:00
Ping值焦虑
Ping值焦虑
有态度网友ytd
485文章数 5关注度
往期回顾 全部

科技要闻

华为2025年销售收入8809亿,净利润680亿元

头条要闻

伊朗:准备好“迎接”美军到来 将战斗到底

头条要闻

伊朗:准备好“迎接”美军到来 将战斗到底

体育要闻

县城修车工,用20年成为世界冠军

娱乐要闻

《月鳞绮纪》空降 鞠婧祎却被举报偷税

财经要闻

油价暴涨 我们的生活成本会飙升多少?

汽车要闻

腾势Z9GT到底GT在哪?

态度原创

教育
数码
手机
本地
军事航空

教育要闻

微专题:高考地理中的地理实验

数码要闻

RTX 50又免费升级!DLSS 4.5 6× 多帧生成+动态多帧生成抢先体验

手机要闻

vivo X300s线下上手:体验后,不吐不快!

本地新闻

用Color Walk的方式解锁城市春日

军事要闻

特朗普:即使霍尔木兹海峡仍关闭 也愿意结束战争

无障碍浏览 进入关怀版