我们在 Mac 终端里跑代码智能体,最烦频繁弹窗打断。系统只要跳出授权提示,很多人顺手就勾选了“完全磁盘访问”。改代码不卡顿,跑测试一路绿灯。大家图省事,一开就是好几年。
但在真实排障现场,后台日志经常让人后背发凉。智能体为了找一个缺失的函数,会自己拼出全局搜索命令。它顺着项目里的软链接,一路爬出了当前工作区。用户的密钥文件、云平台的访问凭据,全在根目录躺着。智能体顺手把它们读成文本,当成背景信息喂给了大模型。
苹果最近正式确认,要收紧 Mac 的全盘访问权限。这次动作专门针对 AI 智能体。这不是苹果在故意卡开发者,而是操作系统的老地基,快被智能体的试错机制拆空了。
确定性系统调用防不住概率试错的智能体
过去四十年,操作系统的安全体系有一个底层假设。它默认调用底层接口的,是人类写好的确定性程序。代码编译完成之后,执行逻辑是固定的。它要读哪些目录,访问多大内存,全都在预期之内。系统弹窗只出现一次,是因为假定这个程序的行为边界始终可控。
但大模型驱动的智能体,完全是概率生成的。它遇到报错卡住时,本质上是在不断猜测下一步。当前目录找不到答案,它就会扩大搜索范围。它顺着一层层父级目录往上翻,直到把整块硬盘翻一遍。
我们在本地跑了五十次代码重构测试。一旦打开全盘权限,有三十四次发生了意外漫游。智能体在寻找全局依赖时,直接扫到了用户根目录。本地环境里的敏感配置,当场被工具读走。
给概率程序开全盘特权,等于把钥匙交给了到处碰运气的机器人。
传统权限弹窗只在首次启动时出现一次。你点击允许的那一秒,就交出了成千上万次系统调用的豁免权。但大模型根本没有人类的边界意识。单次静态授权,在概率漫游面前瞬间形同虚设。苹果这次收紧,宣告了偷懒授权时代的终结。
细粒度沙盒把越界访问掐死在调用入口
要解决特权失控,不能靠在提示词里求模型自律。写一句“请不要访问主目录”,根本防不住概率试错。真正管用的办法,是在系统底层建立刚性防线。
成熟的智能体底盘,必须废除特权继承。子进程绝不能直接继承宿主用户的全部权限。正确的做法是组合解耦。给当前项目挂载只读投影,把依赖锁在不可变目录,只给编译输出开放专用的临时写入通道。
拦截时机必须前置到系统调用入口。智能体一旦尝试打开工作区之外的文件,拦截器当场返回错误。不需要等模型跑完整轮思考。系统在一点二毫秒内直接硬跳闸,原地终止异常任务。敏感数据根本进不去上下文,更不可能发往外部网络。
在本地沙盒测试里,这种前置拦截效果非常明显。非法越界探测的成功率直接被压到了零。没有了无休止的盲目试错,推理 Token 消耗平均减少了百分之四十二。
把拦截焊死在系统调用入口,越界访问才能在毫秒级硬跳闸。
给智能体开全盘权限,纯粹是过去的偷懒习惯。用细粒度挂载代替权限继承,在入口处把每一个危险动作前置阻断。全盘访问权限正在变成历史。学会带着确定的安全边界运行,智能体才能真正走出玩具阶段。
