工程开发
seatbelt-sandboxer avatar

seatbelt-sandboxer

为 macOS 应用程序生成最小化 Seatbelt 沙盒配置,用于进程隔离与安全性分析。

简介

seatbelt-sandboxer 是一项专为需要在 macOS 上实施纵深防御的开发人员和安全工程师设计的安全性工具。它能够简化基于许可清单 (allowlist) 的 Seatbelt 沙盒配置文件的制作流程,从而有效限制应用程序权限。通过实践最小权限原则,用户能够隔离进程,防止未经授权的文件访问、网络攻击以及系统级的篡改。本工具协助将复杂的应用程序需求映射至特定的 Seatbelt 操作,确保产生的配置文件在维持应用程序核心功能的前提下达到最高限制等级。

  • 将应用程序资源需求映射至特定的 Seatbelt 类别,例如文件读写、网络、Mach IPC、Sysctl、IOKit 及系统调用。

  • 实施层级化分析方法,从默认拒绝 (deny-default) 基础开始,根据验证需求逐步授权。

  • 提供区分广泛权限(如 file-read-metadata)与具体数据访问(如 file-read-data)的语法指导。

  • 自动化网络过滤器设置,实现对本地服务、DNS 解析与特定外连流量的精细控制。

  • 针对具备多子指令的应用程序,提供拆分配置文件与建立自动切换沙盒配置的辅助脚本方案。

  • 当您需要在 macOS 上对敏感工具、构建系统或未受信任的二进制执行文件进行沙盒化时使用此技能。

  • 非常适合用于加固 CI/CD 流水线或供应链安全性需求较高的本地开发环境。

  • 用户需提供应用程序的资源需求与环境变量(如 WORKING_DIR、HOME 路径),以获得精确的配置文件。

  • 请注意,此工具仅适用于 macOS Seatbelt,不适用于 Linux(应使用 AppArmor 或 seccomp)或 Windows 环境。

  • 对于需要广泛系统访问的应用程序或非关键的一次性脚本,应避免使用,以免增加不必要的管理开销。

仓库统计

Star 数
4,904
Fork 数
428
Open Issue 数
21
主要语言
Python
默认分支
main
同步状态
空闲
最近同步时间
2026年4月30日 09:01
在 GitHub 查看