macOS 持久化机制扫描器,具备代码签名验证和时间线追踪功能。
查看 Mac 上运行的所有内容。 了解为什么运行。 决定什么保留。


MacPersistenceChecker 向您展示Mac 上自动运行的所有内容,解释为什么重要,并帮助您决定保留或删除什么。
→ 发现恶意软件 → 检测隐藏的持久化 → 几分钟内了解您的系统
下载 MacPersistenceChecker v2.0.0 (DMG)
→ 在 30 秒内扫描您的 Mac → 无需安装向导,直接打开运行 → 原生 macOS,通用(Apple Silicon 和 Intel),macOS 13+
如果 macOS 提示应用已损坏:
xattr -cr /Applications/MacPersistenceChecker.app
该应用学习您的系统并自动分类数千个项目。
快速开始:
实际成本:活跃使用每月低于 1 美元,稳定状态为 0 美元。
该应用为 Mac 上的每个持久化项目构建一个知识图谱,并使用 Claude (Anthropic) 进行推理。快速分类数千个项目,仅升级真正重要的内容,并学习您的系统,以便无需进一步调用 AI 即可回答大多数问题。
┌──────────────────────────┐
│ Persistence scan │
│ (e.g. 6800 items) │
└─────────────┬────────────┘
▼
┌────────────────────────────────────────┐
│ Concept Extraction (deterministic) │
│ 6 extractors → vendor / software / │
│ pathCategory / pattern / mechanism / │
│ filename. No AI calls here. │
└─────────────┬──────────────────────────┘
▼
┌────────────────────────────────────────┐
│ Knowledge Graph (SQLite) │
│ • concepts (~280 typically) │
│ • concept_links (subsumes / instance) │
│ • item_concepts (m:n) │
│ • concept_verdicts │
└─────────────┬──────────────────────────┘
▼
┌────────────────────────────────────────┐
│ Concept Resolver │
│ for every item, picks the strongest │
│ verdict via a deterministic ladder: │
│ severity → confidence → specificity │
│ → source → recency. │
└─────────────┬──────────────────────────┘
│
┌───────────┴────────────┐
▼ ▼
┌──────────────────┐ ┌──────────────────────┐ │ Item is already │ │ Item is unresolved │ │ classified. │ │ → goes to a cluster. │ │ Filter hides it │ └──────────┬───────────┘ │ from "Suspicious"│ ▼ └──────────────────┘ ┌──────────────────────┐ │ Cluster Builder │ │ groups items by │ │ identical concept │ │ signature (sorted │ │ ids). 6800 items → │ │ ~280 clusters. │ └──────────┬───────────┘ ▼ ┌──────────────────────────────────────────┐ │ User decides per cluster (one click = │ │ N items decided), OR sends batch to AI: │ │ │ │ • Trust / Watch / Block (manual) │ │ • Send unresolved clusters to AI │ │ → Haiku batch (15 cluster per call) │ │ → AI returns verdicts attached to │ │ concepts (not items) — propagate │ │ to ALL items linked to those │ │ concepts, including future ones. │ └──────────────────────────────────────────┘
### AI 工具
| 工具 | 位置 | 模型 | 每次调用成本 |
|---|---|---|---|
| 使用 AI 分析(单个项目) | 项目详情 → 知识图谱 | Haiku | ~$0.003 |
| 智能分类批次 | 工具栏 → 分类 | Haiku 批次 | ~$0.005(15个聚类) |
| 系统报告 | 工具栏 → 报告 | Sonnet | ~$0.05-0.10 |
| 威胁狩猎 | 工具栏 → 狩猎 | Haiku | ~$0.003 |
| 快照差异 | 历史 → 比较 → 使用 AI 分析 | Haiku | ~$0.003 |
每日调用上限(默认30)可在“设置 → AI”中配置。硬性上限,达到后AI自动禁用。
### 信任控制
用户定义的规则**始终优先于**AI提取的规则:
- **信任此项目** — 单个项目规则,您的判断覆盖AI观察列表
- **信任此模式** — 模式规则,包含TeamID/签名锚点(仅限已签名二进制文件)
- **移除信任** — 删除您误添加的用户定义规则
- **监视/阻止** — 对整个聚类应用观察列表/恶意判定(智能分类中)
</details>
---
## 持久性扫描
### 核心扫描器
- **启动守护进程** - 系统范围服务(`/Library/LaunchDaemons`, `/System/Library/LaunchDaemons`)
- **启动代理** - 用户级别代理(`~/Library/LaunchAgents`, `/Library/LaunchAgents`)
- **登录项** - 登录时启动的应用
- **内核扩展** - 传统kext
- **系统扩展** - 现代系统扩展(DriverKit, NetworkExtension, EndpointSecurity)
- **特权辅助工具** - 具有提升权限的XPC服务
- **定时任务** - 计划任务
- **配置描述文件** - MDM和配置描述文件
- **应用支持** - 后台应用和助手
### 扩展扫描器(可选)
- **定期脚本** - `/etc/periodic/` 中的每日、每周、每月脚本
- **Shell启动文件** - `.zshrc`, `.bashrc`, `/etc/profile`,带可疑模式检测
- **登录/注销钩子** - 通过 `com.apple.loginwindow` 的传统登录钩子
- **授权插件** - `/Library/Security/SecurityAgentPlugins` 中的安全代理插件
- **Spotlight导入器** - 自定义元数据导入器
- **Quick Look插件** - 可能被滥用的预览生成器
- **目录服务插件** - 认证插件
- **Finder同步扩展** - 通过 pluginkit 的 Finder 扩展
- **BTM数据库** - 后台任务管理条目(macOS 13+)
- **Dylib劫持** - 检测 `DYLD_INSERT_LIBRARIES` 和可疑的 dylib 注入
- **TCC/辅助功能** - TCC 数据库中具有辅助功能权限的应用
---
## 风险评估
每个持久性项目都会根据多种因素获得**风险评分(0-100)**:
- 无效或缺失的代码签名
- 缺少强化运行时保护
- 临时签名二进制文件
- 可疑的文件位置
- 持久性自动启动配置(RunAtLoad, KeepAlive)
- 已知恶意软件模式
**严重级别:** 低、中、高、紧急 - 项目按风险排序以便快速识别威胁。
### 启动频率异常检测
- **微重启** - StartInterval < 60秒(可能滥用看门狗)
- **激进看门狗** - KeepAlive + 低StartInterval组合
- **无节流限制** - 没有ThrottleInterval的KeepAlive(崩溃重启循环风险)
### 已签名但危险检测
- **危险权限** - 检测风险权限(`com.apple.security.cs.disable-library-validation` 等)
- **苹果冒充** - 试图冒充苹果的非苹果软件
- **隐藏位置** - 在可疑目录中的已签名应用
- **公证缺口** - 近期应用缺少公证
- **开发者证书分析** - 针对已知供应商的Team ID验证
### LOLBins检测(Living-off-the-Land二进制)
检测在持久性上下文中滥用合法macOS二进制文件的可疑使用。**组合至关重要:**
- **osascript + 持久性** = 带自动启动的AppleScript(GUI自动滥用)
- **curl/wget + RunAtLoad** = 下载并执行模式
- **python + 特权辅助工具** = 提升的脚本执行
- **security + KeepAlive** = 凭证窃取风险
- **launchctl + 自动启动** = 元持久性安装程序
- **netcat + 持久性** = 反向shell / C2通道
追踪40多个LOLBins,带有MITRE ATT&CK映射和上下文感知的严重性评分。
### 二进制信誉与行为分析
高级启发式规则,用于检测可疑行为模式:
- **隐藏持久性守卫** - 没有明显看门狗用途的KeepAlive代理
- **激进持久性** - 非服务项目上的RunAtLoad + KeepAlive
- **隐蔽自动启动** - 来自未知供应商的后台进程
- **孤儿持久性** - Plist指向不存在的可执行文件
- **可疑位置** - 可执行文件在 `/tmp/`、`/Users/Shared/` 或隐藏目录中
- **权限提升风险** - 尝试特权操作用户代理
- **联网持久性** - 具有网络能力的持久性
- **基于脚本的持久性** - 通过解释器的内联脚本
- **系统进程冒充** - 使用类似苹果命名的非苹果项目
- **频繁重启模式** - StartInterval < 60秒
### Plist与二进制意图不匹配
检测plist声明与二进制实际行为不匹配的情况 - 这正是现代dropper所做的:
- **无害Plist,重型二进制** - 简单配置但二进制具有危险权限
- **被动辅助工具带有网络** - 具有网络客户端/服务器访问的后台辅助工具
- **被动辅助工具带有Dylib加载** - 可加载未签名代码的辅助工具
- **最小配置,最大能力** - 最小plist但广泛权限
- **简单任务带有钥匙串访问** - 具有凭证访问的简单任务
### 二进制年龄与持久性年龄
检测可疑的时间戳模式,表明安装后的恶意更新: