Claude Cowork SharedRoot沙箱逃逸:Mac本地AI代理虚拟机越狱原理、检测脚本与加固方案

发布时间:2026/9/14 19:36:19

Claude Cowork SharedRoot沙箱逃逸:Mac本地AI代理虚拟机越狱原理、检测脚本与加固方案 一、事件概述50万台Mac暴露的本地AI隔离失效风险2026年7月安全厂商Accomplish AI公开披露代号SharedRoot的高危攻击链。攻击者通过构造提示词诱导Claude Cowork本地执行代码依托Linux内核漏洞完成虚拟机内权限提升借助Anthropic内置的VirtioFS全盘挂载通道直接读写Mac宿主机全部文件。受影响预估约50万启用本地执行模式的Mac用户。大量开发者存在认知误区该攻击不是传统Hypervisor虚拟机逃逸。代码始终运行在AVF框架创建的Linux虚拟机内部没有直接调用macOS原生系统调用。隔离防线崩溃的核心诱因是架构设计缺陷而非Apple虚拟化框架存在漏洞。Anthropic收到漏洞报告后将报告标记为信息性Informative拒绝为本地执行分支推送针对性补丁。新版Claude Desktop调整默认策略Cowork会话默认切换云端运行用户手动开启本地模式风险持续存在。窃取目标高度集中~/.ssh私钥、云服务商凭证、Kubeconfig、项目.env密钥、浏览器本地缓存、个人文档。整个攻击流程无弹窗授权提示普通用户无法感知文件被遍历读取。二、Claude Cowork macOS原生虚拟化安全架构2.1 官方预设隔离模型Mac宿主机运行Claude Desktop客户端依托**Apple Virtualization FrameworkAVF**启动ARM64架构轻量级Linux一次性虚拟机。所有AI自动执行、代码运行操作被约束在Guest虚拟机内部。官方设计三层防护权限隔离AI会话进程在虚拟机内以普通非特权用户运行系统调用限制Seccomp BPF过滤器拦截高危内核调用文件隔离仅挂载用户手动授权的项目文件夹预期禁止访问宿主机其他目录。宿主机coworkd守护进程以root权限管理VirtioFS文件共享负责宿主机与虚拟机之间文件数据转发。2.2 致命隐藏配置全盘宿主机文件系统挂载架构设计的核心缺陷除用户手动授权目录外虚拟机内部预置隐藏挂载点/mnt/.virtiofs-root该路径完整映射Mac宿主机根目录/读写权限等同于Mac当前登录用户。挂载权限被限制为仅虚拟机内root用户可访问。Anthropic内部将该挂载通道用于组件通信开发阶段未评估权限提升攻击场景。一旦攻击者拿到虚拟机Guest-Root权限隔离边界直接失效。2.3 Mermaid架构图可直接渲染VirtioFS共享正常访问提权至Guest-Root后访问双向读写macOS HostClaude Desktop客户端coworkd Root守护进程AVF创建Linux Guest虚拟机Cowork会话非特权用户进程用户授权目录/mnt/project隐藏全盘挂载/mnt/.virtiofs-root ⇔ Mac /三、SharedRoot完整攻击链路逐环节拆解整条攻击链由Linux原生特性 内核本地提权漏洞 不合理文件共享配置串联。不需要远程网络入侵前提条件Mac安装Claude Desktop用户手动启用Cowork本地执行模式用户绑定至少一个本地文件夹用户粘贴/接收恶意提示词诱导AI执行shell代码。3.1 步骤1非特权进程创建用户命名空间会话普通用户调用unshare()生成独立usernetwork命名空间。该操作不依赖漏洞属于Linux原生特性。unshare--user--map-root-user--net进程在命名空间内部获得虚拟root身份同时拿到关键能力CAP_NET_ADMIN。Seccomp过滤器存在宽松策略未拦截unshare系统调用攻击链获得启动基础。3.2 步骤2通过Netlink触发act_pedit模块自动加载具备CAP_NET_ADMIN后攻击者通过Netlink套接字配置流量控制规则强制内核加载act_pedit数据包编辑模块。tc qdiscadddev lo root handle1: prio tc filteradddev lo parent1: protocolipu32 match u3200action pedit munge offset0u8 0x00act_pedit是后续内核漏洞触发的前置依赖。3.3 步骤3CVE-2026-46331 Pedit COW本地提权原理漏洞位于Linux内核net/sched/act_pedit.c影响5.18 ~ 7.1-rc7版本内核属于Copy-On-Write机制缺陷。内核计算可写skb缓冲区范围仅执行一次无法识别运行时动态解析的数据包偏移。部分写入区域不会生成私有副本攻击者实现越界写入共享页缓存。攻击效果篡改内存中setuid特权二进制镜像不修改磁盘文件绕过文件完整性检测。最终将虚拟机普通会话用户提升为虚拟机内部真正rootGuest-Root。重要区分权限提升范围仅限Linux虚拟机内部无法直接突破AVF虚拟化层执行macOS程序。3.4 步骤4访问隐藏挂载点实现跨沙箱文件读写拿到Guest-Root权限后直接操作路径# 读取Mac宿主机ssh私钥cat/mnt/.virtiofs-root/Users/$USER/.ssh/id_rsa# 遍历用户所有文档目录ls/mnt/.virtiofs-root/Users/$USER/Documents# 窃取云服务商凭证cat/mnt/.virtiofs-root/Users/$USER/.aws/credentialsVirtioFS通道不触发macOS权限弹窗文件读写行为在宿主机侧无明显告警日志。3.5 Mermaid攻击流程时序图恶意Prompt输入ClaudeVM内非特权进程执行unshare获取CAP_NET_ADMIN能力tc规则加载act_pedit内核模块触发CVE-2026-46331页缓存篡改权限提升至VM Guest-Root访问/mnt/.virtiofs-root全盘挂载点读取Mac宿主机所有文件四、高频认知误区澄清❌ 误区漏洞属于Apple Virtualization Framework逃逸漏洞✅ 事实AVF虚拟化隔离机制完好。漏洞根源是Anthropic主动将宿主机全盘以读写模式挂载进虚拟机。更换任意虚拟机方案只要存在同等挂载配置风险完全一致。❌ 误区黑客能远程主动入侵Mac设备✅ 事实攻击必须人机交互触发。需要用户打开Cowork本地会话接收恶意提示词。无法通过互联网主动扫描入侵终端。❌ 误区拿到Guest-Root就可以运行Mac原生程序✅ 事实虚拟机是独立Linux系统仅能读写文件。无法直接执行Mach-O二进制、调用macOS系统API。攻击者只能窃取文件不能直接植入Mac恶意程序。❌ 误区升级Claude客户端可以彻底修复本地模式风险✅ 事实官方没有修复挂载逻辑只是修改默认执行模式。用户主动切回本地执行风险原样保留。五、本地环境检测脚本Mac宿主机可直接运行脚本功能识别当前Claude运行模式、检索虚拟机挂载痕迹、检查高风险密钥文件是否暴露输出风险等级。使用方式保存为check_cowork_risk.sh终端执行bash check_cowork_risk.sh#!/bin/bash# SharedRoot漏洞风险检测脚本 MacOSset-euopipefailecho Claude Cowork SharedRoot风险检测 CLAUDE_PLIST$HOME/Library/Application Support/Claude/config.json# 检测Cowork执行模式if[-f$CLAUDE_PLIST];thenecho[1] 读取Cowork配置MODE$(jq-r.cowork.executionMode // unknown$CLAUDE_PLIST)echo当前执行模式:$MODEif[$MODElocal];thenecho⚠️ 风险警告当前启用本地虚拟机模式存在SharedRoot攻击面elseecho✅ 当前为云端模式无本地虚拟机逃逸风险fielseecho[1] 未找到Claude配置文件可能未安装Claude Desktopfi# 检测高危敏感文件echo-e\n[2] 检测本地敏感凭据文件SECRET_LIST($HOME/.ssh/id_rsa$HOME/.aws/credentials$HOME/.kube/config)forfin${SECRET_LIST[]};doif[-f$f];thenecho⚠️ 存在敏感文件$f本地模式下存在被窃取风险fidone# 检索虚拟机进程echo-e\n[3] 检索AVF虚拟机进程pgrep-fVirtualization.VirtualMachine/dev/nullif[$?-eq0];thenecho⚠️ 后台正在运行Linux虚拟机实例elseecho✅ 当前无Claude Cowork虚拟机运行fiecho-e\n[检测完成] 建议非必要不开启Cowork本地执行模式六、分层加固方案个人终端企业运维两套标准6.1 普通Mac用户加固优先级从高到低优先使用云端Cowork模式。打开Claude设置将Cowork执行模式切换为Cloud确需本地执行时仅创建空白独立文件夹授权禁止授权Home根目录、.ssh、.aws单次任务结束立刻关闭Cowork会话不要长期保持虚拟机后台运行不要在会话中粘贴来源不明、包含大量晦涩shell代码的提示词定期轮换SSH私钥、云平台访问密钥怀疑遭遇攻击立即销毁旧凭证。6.2 开发者/企业终端深度加固6.2.1 Linux虚拟机内核层面缓解手段适用于自研AI沙箱场景# 禁用非特权用户命名空间阻断攻击链第一步sysctl-wkernel.unprivileged_userns_clone0# 永久生效配置echokernel.unprivileged_userns_clone 0/etc/sysctl.confsysctl-p# 黑名单act_pedit内核模块echoinstall act_pedit /bin/false/etc/modprobe.d/blacklist-pedit.conf update-initramfs-u6.2.2 VirtioFS安全部署规范所有本地VM文件共享场景通用禁止挂载宿主机根目录仅挂载业务所需最小目录优先使用只读模式挂载项目目录virtiofsd启动参数增加沙箱隔离--seccompon --sandboxchroot禁止虚拟机内root自动访问共享文件。6.2.3 Seccomp策略优化范本基础原则由黑名单策略改为白名单策略直接拦截unshare、clone3、netlink套接字创建从源头切断攻击链路。七、延伸思考本地Agentic AI沙箱架构通用缺陷SharedRoot漏洞不是孤立事件它暴露当下本地运行AI Agent普遍存在的设计矛盾。产品团队为追求便捷性不断放宽隔离边界。厂商默认假设虚拟机内部不会出现权限提升漏洞。但Linux内核本地提权漏洞持续稳定产出。只要存在一条通往Guest-Root的路径配合不受管控的文件共享通道沙箱隔离等同于形同虚设。两套可行的安全架构方向零共享文件模型文件数据经由RPC接口中转不使用VirtioFS/SMB等原生文件共享协议能力隔离模型虚拟机内进程即便提升至root也无法访问跨宿主机共享资源很多AI桌面客户端选择折中方案默认云端执行本地模式作为高级选项并显著提示安全风险这也是Anthropic当前选择。八、行业前瞻性结论随着本地代码执行AI工具普及文件共享通道逃逸会成为高频攻击向量。传统虚拟机隔离思路已经无法适配AI自主执行多步骤任务的场景。安全从业者不能继续依赖“虚拟机天然安全”的惯性思维。评估AI沙箱安全性需要建立全新标准权限提升攻击面清单宿主机与虚拟机数据交换通道最小权限审计攻击链串联风险建模不能单独评估单个漏洞漏洞响应预案区分“可修复缺陷”与“架构硬风险”。企业落地本地AI开发助手应当建立专项准入规范。不允许员工无限制开启本地虚拟机执行模式重点管控具备文件读写、代码执行能力的Agent功能。九、互动提问你日常使用Claude Cowork本地模式还是云端模式是否留意过文件共享权限范围如果需要在Mac本地部署可运行代码的AI助手你认为什么样的沙箱架构才能平衡易用性与安全性
延伸阅读

更多相关文章

2026/9/13 7:16:27

AI拟人化与信任成本:技术实现与设计平衡

1. 人机交互中的信任悖论:当AI越来越像人类微软AI部门负责人的这句"AI越像人,信任成本越贵"道出了当前人工智能发展中的核心矛盾。作为从业十余年的技术观察者,我亲历了从早期规则系统到如今大语言模型的演进过程,发现一…

2026/9/7 13:07:58

3D格式转换之STP 转 CATIA 标准化转换技术

1. 文档概述 本文档面向机械研发工程师、结构设计人员、工科专业学生,系统讲解 STP(STEP)通用三维中性格式 转换为 CATIA(CATPart/CATProduct/CGR) 的格式特性、底层转换机制、标准化操作流程与常见故障解决方案。STP…

2026/9/14 19:35:21

LangGraph子图设计与模块化AI系统开发实践

1. LangGraph子图设计基础与核心概念在构建复杂AI系统时,模块化设计是提升可维护性和扩展性的关键。LangGraph作为基于图的编程框架,其子图(Subgraph)功能允许我们将大型工作流分解为可重用的独立组件。这种设计模式特别适合需要多步骤推理和决策的AI应用…

2026/9/14 19:35:21

网络原理-HTTP

我们已经知道了网络协议栈,接下来就学习一下每个层中的关键协议吧(重点内容)先来介绍应用层1 应用层的协议应用层是程序员打交道最多的层次,是和应用程序直接相关的,程序员写的代码只要涉及到网络通信,都可…

2026/9/14 19:35:21

Spring Boot图书借阅管理系统开发实践

1. 项目概述"springboot105图书借阅管理系统617w1"是一个基于Spring Boot框架开发的图书借阅管理平台。这个系统主要面向学校图书馆、社区图书室等场景,提供完整的图书管理、借阅、归还、查询等功能。从项目编号来看,这很可能是一个课程设计或…

2026/9/14 19:35:21

Windows系统多版本JDK共存配置与切换指南

1. 问题现象与背景分析最近在Windows 10系统上遇到了一个典型的多版本JDK共存问题:原本已经安装了JDK 8用于老项目维护,现在需要为新的Spring Boot 3.x项目配置OpenJDK 17。按照常规流程安装并配置环境变量后,命令行执行java -version却依然显…

2026/9/14 19:30:21

ArmorPaint:开源PBR贴图绘制实战,替代Substance Painter的轻量工作流

做 3D 美术或者独立游戏的朋友应该都有类似的体会:模型雕刻完、UV 展开好,最头疼的就是贴图绘制这一环。用 Substance Painter 确实舒服,但订阅价格摆在那里,个人项目或者刚入门的同学很难说服自己掏这个钱。我后来换到 armorpain…

2026/9/14 2:17:50

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/14 0:03:22

KCF目标跟踪算法与OTB工程实现:毕业设计实战解析

简介:这是一份基于KCF核相关滤波算法、融合尺度池与抗遮挡处理的目标检测跟踪MATLAB完整源码,主要面向计算机相关专业准备毕业设计、课程设计或期末大作业的学生,也适合需要项目实战练习的初学者。源码在OTB数据集上完成验证,能够…

2026/9/14 0:03:22

语音情感识别实战:Keras实现LSTM、CNN、SVM与MLP多模型对比

简介:面向语音情感识别入门与进阶开发者,这份基于Keras的项目源码完整实现了LSTM、CNN、SVM、MLP四种模型,兼容Python3.8与Keras/TensorFlow2环境。压缩包内含49个文件,大小约70.31MB,主体包括Python脚本、yaml/json配…

2026/9/14 11:59:31

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/14 13:53:59

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/14 11:22:57

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码