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

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

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

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

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/google/santa
防御工具事件响应Archived
GitHubgoogle/santa

santa

一个适用于macOS的二进制授权与监控系统

查看仓库网站
4.5k28741年前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Santa

[!NOTE] 截至2025年,Santa 已不再由 Google 维护。 我们鼓励 现有用户迁移到仍在积极维护的 Santa 分支,例如 https://github.com/northpolesec/santa。


license CI latest release latest release date downloads

Santa Icon

Santa 是 macOS 上一个二进制文件和文件访问授权系统。它由一个监控执行操作的系统扩展、一个基于本地数据库内容做出执行决策的守护进程、一个在阻止决策时通知用户的 GUI 代理,以及一个用于管理系统并与服务器同步数据库的命令行工具组成。

它的名字叫 Santa,因为它会追踪哪些二进制文件是调皮的 (naughty) 还是乖巧的 (nice)。

文档

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

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

获取帮助

如果您有问题或以其他方式需要帮助来上手, santa-dev 群组是一个很好的去处。

如果您认为遇到了一个 bug,请随时报告问题,我们会在第一时间回复。

如果您认为自己发现了一个漏洞,请阅读 安全策略 以了解如何报告。

特性

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

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

  • 基于证书的规则,具有覆盖级别:可以不必依赖二进制文件的哈希(或称“指纹”),而是根据其签名证书来允许/阻止可执行文件。因此,您可以允许/阻止某个发布者使用该证书签名的所有二进制文件(包括版本更新)。只有当二进制文件的签名有效时,才能通过证书允许它;但基于二进制文件指纹的规则会覆盖基于证书的决定;即,您可以允许一个证书,同时阻止使用该证书签名的某个二进制文件,反之亦然。

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

  • 安全失效证书规则:您无法设置一条阻止规则,用于阻止用于签署 launchd(即 pid 1)以及 macOS 中所有组件的证书。因此,每个 OS 更新(以及某些情况下整个新版本)中的二进制文件都会自动被允许。这不影响来自 Apple App Store 的二进制文件,它们使用各种常规应用会定期更换的证书。同样,您也无法阻止 Santa 本身,Santa 使用与其他 Google 应用不同的独立证书。

  • 用户层组件相互验证:每个用户层组件(守护进程、GUI 代理和命令行工具)使用 XPC 进行通信,并在接受任何通信之前检查它们的签名证书是否相同。

  • 缓存:允许的二进制文件会被缓存,因此只有在二进制文件尚未缓存时,才需要执行处理请求所需的操作。

意图与期望

没有单一系统或过程能够阻止所有攻击,或提供 100% 的安全性。Santa 的编写目的是帮助保护用户免受自身行为的伤害。人们常常下载恶意软件并信任它,将凭据交给恶意软件,或允许未知软件外泄您系统的更多数据。作为一个集中管理的组件,Santa 可以帮助阻止恶意软件在大量机器间的传播。独立使用 Santa 也有助于分析您计算机上正在运行的内容。

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

安全与性能相关特性

已知问题

  • Santa 仅阻止执行(execve 及其变体),不保护针对使用 dlopen 加载的动态库、已被替换的磁盘上的库,或使用 DYLD_INSERT_LIBRARIES 加载的库。

  • 脚本:Santa 当前被设计为忽略任何非二进制文件的执行。这是因为权衡了管理成本与收益后,我们认为这样做不值得。此外,许多应用程序使用临时生成的脚本,我们不可能全部列入白名单,如果不这样做也会引发问题。如果对其他人有用,我们乐于重新考虑这一点(或至少使其成为一个选项)。

同步服务器

  • santactl 命令行客户端包含一个用于与管理服务器同步的标志,该操作会上传机器上发生的事件并下载新规则。有几个开源服务器可供同步:

    • Moroz - 一个简单的 golang 服务器,从简单的配置文件中提供硬编码的规则。
    • Rudolph - 一种基于 AWS 的无服务器同步服务,主要构建在 API GW、DynamoDB 和 Lambda 组件之上,以减少运维负担。Rudolph 设计为快速、易用且成本高效。
    • Zentral - 一种集中式服务,从多个来源拉取数据并将配置部署到多个服务。
    • Zercurity - 一种容器化服务,用于使用 Santa + Osquery 管理和监控大型机器群中的应用程序。
  • 或者,santactl 可以在本地配置规则(无需同步服务器)。

截图

像 Santa 这样的工具不太适合截图,所以这里改为视频。

Santa Block Video

贡献

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

免责声明

这不是一个正式的 Google 产品。

下载工具