Olma777/macos-security-audit
GitHub: Olma777/macos-security-audit
一个零依赖的 macOS 单文件安全审计脚本,55+ 项检查覆盖系统完整性、网络安全、隐私控制等,生成带评分的 HTML 报告并提供一键修复命令。
Stars: 0 | Forks: 0
# macOS 安全审计工具
一个单文件终端实用程序,可在 macOS 上运行全面的安全审计,并生成包含安全评分和一键修复命令的详细 HTML 报告。




## 功能
一个脚本。一条命令。在 30 秒内完成约 55 项安全检查。
该工具审计您的 Mac 安全配置并生成:
- **安全评分 (0–100)** — 基于检查严重程度的加权评级
- **PASS / FAIL / WARN** — 每项检查的清晰状态
- **快速修复模块** — 所有修复命令汇集一处,点击即可复制
- **HTML 报告** — 深色主题,可在任何浏览器中离线打开,保存至您的桌面
该脚本是 **只读** 的 — 它检查设置但不做任何更改。所有修复命令作为建议提供,供您手动运行。
## 检查内容
| 类别 | 检查项 |
|---|---|
| **系统完整性** | SIP, FileVault, Gatekeeper, XProtect, Rapid Security Responses, 自动更新, EFI 完整性 (Intel) / Secure Boot (Apple Silicon) |
| **网络安全** | 应用防火墙 + 隐身模式, VPN 隧道检测 (任何 VPN), DNS 泄露检查, 默认路由分析, 出站防火墙 (LuLu / Little Snitch), 7 项共享服务, AirDrop, 蓝牙, Wi-Fi 已保存网络 |
| **隐私控制** | Apple Analytics, 崩溃报告器, 个性化广告, Siri & Siri 数据共享, Spotlight 建议, Safari 建议, 定位服务, 隐私浏览器检测, 高遥测浏览器检测 |
| **访问与认证** | 屏保/休眠密码及延迟, 自动登录, 密码提示, 登录窗口配置, 显示器休眠超时, SSH, sudo 超时, 查找我的 Mac |
| **应用程序安全** | Launch Agents & Daemons 审计 (包含信任白名单的 3 个级别), 登录项, Gatekeeper 绕过检查, 隔离标志, 安全工具检测 |
| **性能与健康状况** | 内存压力, 交换分区, 磁盘空间, 用户缓存, APFS 快照, 电池健康度与循环次数, 优化充电, 运行时间 |
| **TCC 权限** *(附加项,需要 sudo)* | 摄像头, 麦克风, 屏幕录制, 完全磁盘访问权限, 辅助功能, 输入监控 — 列出哪些应用拥有权限 |
## 系统要求
- **macOS 12+** (Monterey, Ventura, Sonoma, Sequoia)
- **Intel 或 Apple Silicon** — 自动检测架构
- **无依赖** — 仅使用内置 macOS 实用工具
- **sudo** — 可选但推荐。启用防火墙、TCC 和 SSH 检查。若未提供,这些检查将被跳过
## 快速开始
```
# 下载
curl -sL https://raw.githubusercontent.com/Olma777/macos-security-audit/main/macos_security_audit.sh -o macos_security_audit.sh
# 设为可执行
chmod +x macos_security_audit.sh
# 运行
./macos_security_audit.sh
```
或者克隆该仓库:
```
git clone https://github.com/Olma777/macos-security-audit.git
cd macos-security-audit
chmod +x macos_security_audit.sh
./macos_security_audit.sh
```
脚本将请求输入一次密码(用于 sudo 检查),运行带有彩色终端输出的所有审计,在您的桌面上生成 HTML 报告,并自动在浏览器中打开它。
## HTML 报告
该报告是一个独立的 HTML 文件 — 没有外部依赖,可离线使用。
- 高对比度、极简字体的深色主题
- 带有加权安全评级可视化的评分环
- 每项检查均包含状态、描述和修复命令
- 所有修复命令支持点击复制
- 快速修复部分 — 将所有 FAIL 命令整合在一个可复制块中
- 针对脚本无法自动化事项的手动建议(浏览器加固、密码管理器、MFA 策略、备份)
## VPN 与安全工具感知
脚本自动检测您的安全设置并相应调整:
**VPN 检测** — 自动检测任何活动的 VPN 隧道 (utun 接口) 并识别 VPN 客户端:Mullvad, NordVPN, ExpressVPN, ProtonVPN, WireGuard, OpenVPN, Surfshark, Cloudflare WARP 等。如果未发现 VPN,则推荐无日志 VPN 提供商。
**DNS 泄露检查** — 将活动 DNS 服务器与已知 VPN DNS 范围和隐私友好的公共 DNS (Cloudflare 1.1.1.1, Quad9 9.9.9.9, OpenDNS) 进行比较。将 ISP DNS 标记为潜在泄露。
**出站防火墙** — 检测 LuLu 和 Little Snitch。如果两者均未找到,建议安装其中一个(macOS 没有内置的出站防火墙)。
**隐私浏览器** — 将 DuckDuckGo, Firefox, Brave, LibreWolf, Tor Browser 检测为积极信号。将 Chrome, Edge, Opera, Yandex 标记为高遥测浏览器。
**安全工具** — 检测 Objective-See 工具 (LuLu, BlockBlock, KnockKnock, OverSight, RansomWhere?) 并报告它们的存在。
**信任白名单** — VPN 进程、安全工具和 Apple 服务在 Launch Agent/Daemon 审计中被列入白名单,以避免误报。
## 安全性
- **只读** — 脚本只读取系统设置,从不修改任何内容
- 所有修复命令均为建议 — 由您决定应用哪些
- 破坏性操作(如清除缓存)带有明确的警告标记
- sudo 会话在审计结束时自动清理
- 生成的报告包含特定于系统的数据 — `.gitignore` 默认排除它们
## 可移植性
该脚本旨在跨多台 Mac 使用:
- 自动检测 Intel 与 Apple Silicon 并相应调整检查
- 无硬编码路径或用户名
- 无外部依赖(无需 Homebrew, Python, npm)
- 单个文件 — 复制到任何 Mac,运行,获取结果
## 路线图
- [ ] 通过 launchd 计划运行
- [ ] 运行间报告差异对比
- [ ] 用于自动化的 JSON 导出
- [ ] 加固配置文件 (basic / strict / paranoid)
- [ ] Homebrew formula
## 许可证
[MIT](LICENSE) — 可免费使用、修改和分发。
采用纵深防御方法构建,与 [CIS Benchmark for macOS](https://www.cisecurity.org/benchmark/apple_os) 保持一致。每一层都补偿其他层中潜在的弱点。
标签:Apple Silicon, Bash, DNS 反向解析, FileVault, HTML报告, HTTP工具, Intel, Shell脚本, SIP, 一键修复, 多模态安全, 安全基线检测, 安全评分, 应用安全, 插件系统, 无依赖, 无线安全, 系统加固, 系统完整性, 红队技术, 终端工具, 网络安全, 网络安全, 网络安全审计, 防御绕过, 防火墙, 隐私保护, 隐私保护