Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
santa — 适用于 macOS 的二进制和文件访问授权系统。 | Kitploit
工具/GitHubGitHub/northpolesec/santa
身份验证与授权防御工具二进制分析入侵检测事件响应
GitHubnorthpolesec/santa

santa

适用于 macOS 的二进制和文件访问授权系统。

查看仓库
722562天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
网站

Santa

license CI latest release latest release date downloads

Santa 图标

Santa 是 macOS 的二进制及文件访问授权系统。它由一个系统扩展组成,负责监视执行和文件访问,并根据本地数据库的内容做出决策;另有一个 GUI 代理,在做出阻止决策时通知用户;一个用于与远程服务器同步配置的后台服务;以及一个用于管理系统的命令行工具。

它之所以叫 Santa(圣诞老人),是因为它负责记录哪些二进制是“顽皮的”还是“乖巧的”。

文档

Santa 文档存储在 Docs 目录中,并发布在 https://northpole.dev。

文档中包括部署选项、Santa 各部分的工作原理详情,以及开发 Santa 本身的说明。

获取帮助

如果你有问题或在入门时需要其他帮助,macadmins Slack 上的 #santa 频道 是一个很好的起点。

如果你认为自己遇到了 bug,欢迎提交 issue,我们会尽快回复。

如果你认为自己发现了漏洞,请阅读 安全策略,了解相关的披露报告说明。

功能特性

  • 多种模式:在默认的 MONITOR(监视)模式下,除被标记为阻止的二进制外,所有二进制都允许运行,同时会被记录到事件数据库中。在 LOCKDOWN(锁定)模式下,只有已列出的二进制才允许运行。

  • 事件记录:当系统扩展加载后,所有二进制启动都会被记录。在任一模式下,所有未知或被拒绝的二进制都会存储在数据库中,以便日后进行聚合分析。

  • 基于代码签名的规则,并带有覆盖级别:不依赖二进制的哈希(即“指纹”),可执行文件可以通过其代码签名(通过 CDHash、Certificate、TeamID 或 SigningID 规则)被允许/阻止。因此,你可以允许/阻止某个发布者签名的所有二进制,或某个已签名二进制的所有版本。规则按“最具体者优先”的顺序应用,这样你可以允许某个发布者的所有二进制,同时阻止某个特定的签名 ID 或二进制(反之亦然)。

  • 基于路径的规则(通过 NSRegularExpression/ICU):这提供了与 Managed Client(配置描述文件的前身,使用相同的实现机制)中通过 mcxalr 二进制实现的应用启动限制类似的功能。该实现的额外好处是可通过正则表达式配置,并且不依赖 LaunchServices。如 wiki 中所述,在评估规则时它的优先级最低。

  • 故障安全证书规则:你不能添加一条拒绝规则来阻止用于签名 launchd(即 pid 1)的证书,因此 macOS 使用的所有组件都不会被阻止。每次系统更新(在某些情况下是整个新版本)中的二进制都会自动获得允许。这不影响来自 Apple App Store 的二进制,它们使用的是会定期更换的各种证书。同样,你也不能阻止 Santa 本身。

  • 用户态组件相互校验:每个用户态组件(守护进程、GUI 代理和命令行工具)都通过 XPC 相互通信,并在接受任何通信之前检查彼此的签名证书是否一致。

  • 缓存:已允许的二进制会被缓存,因此只有在该二进制尚未被缓存时,才会执行做出决策所需的处理。

意图与期望

没有任何单一系统或进程能够阻止所有攻击,或提供 100% 的安全。Santa 的编写初衷是帮助保护用户免受自身行为的伤害。人们常常下载恶意软件并信任它,将凭据交给恶意软件,或允许未知软件窃取有关你系统的更多数据。作为一个集中管理的组件,Santa 可以帮助阻止恶意软件在大型机群中传播。独立使用时,Santa 也有助于分析你的计算机上正在运行什么。

Santa 是纵深防御策略的一部分,你仍应继续以你认为合适的任何其他方式保护主机。

已知问题

  • Santa 只阻止执行(execve 及其变体),它不防护通过 dlopen 加载的动态库、磁盘上已被替换的库,或使用 DYLD_INSERT_LIBRARIES 加载的库。只要启用了 SIP,macOS 的其他部分通常会防范这些途径。

  • 脚本:Santa 目前的设计是忽略任何非二进制的执行。这是因为在权衡管理成本与收益之后,我们发现这样做并不划算。此外,许多应用程序会使用临时生成的脚本,我们不可能将它们全部加入白名单,而不这样做又会引发问题。如果这对其他人有用,我们很乐意重新考虑这个问题(或至少将其作为一个选项)。

同步服务器

  • Santa 可以与管理服务器同步其设置和策略,从而实现非常快速的配置变更。

    有多个商业和开源服务器可供选择:

    • Workshop - Workshop 是 North Pole Security 提供的官方同步服务器。它功能齐全、快速、可扩展,且已为企业级使用做好准备。

    • Moroz - 一个简单的 golang 服务器,可从简单的配置文件提供硬编码规则。

    • Rudolph - 一个基于 AWS 的无服务器同步服务,主要构建在 API GW、DynamoDB 和 Lambda 组件之上,以降低运维负担。Rudolph 的设计目标是快速、易用且经济高效。

    • Zentral - 一种集中式服务,可从多个来源拉取数据,并部署配置到多个服务。

  • 另外,也可以使用 StaticRules 配置键或 santactl rule 命令在本地配置规则。

截图

像 Santa 这样的工具并不太适合用截图来展示,所以这里改用视频。

Santa 拦截视频

贡献

非常欢迎为本项目提交补丁。请参阅 CONTRIBUTING 文档。

免责声明

North Pole Security 和 North Pole Security Santa 与 Google 没有任何关联。

下载工具