# 💡Summary
> [!Info]
> 一句话说清楚
>
# 🧩 Cues
# 🪞Notes
Seatbelt 是 macOS 的**应用沙箱机制**,顾名思义就像汽车的"安全带",用来限制应用程序能做什么、不能做什么。
## 核心思想
即使一个应用被黑客攻破了,Seatbelt 也能**限制它的破坏范围**。就像把一只猛兽关在笼子里——它只能在笼子里活动。
## 它限制什么?
- **文件访问** — 只能读写指定目录,不能随意翻你的文件
- **网络** — 能不能联网、能连哪些地址
- **进程** — 能不能启动其他程序
- **硬件** — 能不能用摄像头、麦克风等
- **系统调用** — 能不能执行某些底层操作
## 工作方式
1. 每个应用有一个 **profile(沙箱配置文件)**,用类 Lisp 语法写的规则,定义了"允许/拒绝"哪些操作
2. 这些规则在**内核层面**执行(通过 macOS 的 TrustedBSD/MACF 框架),应用自己绕不过去
3. App Store 上的应用**强制要求**使用沙箱
## 简单类比
```
没有 Seatbelt: 应用像住在开放式大楼里,可以随意串门
有 Seatbelt: 应用被关在自己的房间里,只能通过规定的窗口与外界交流
```
## 常见命令
```bash
# 查看某个进程的沙箱状态
sandbox-exec -n no-network /bin/ls # 在无网络沙箱中运行 ls
```
系统自带的很多服务(Safari、Mail 等)都有各自的沙箱 profile,存放在 `/System/Library/Sandbox/Profiles/` 下。
简单来说:**Seatbelt = macOS 的最小权限执行框架**,让每个应用只拥有它完成工作所需的最少权限。