Mac 判断应用是否可信需综合“获得方式”“签名状态”“公证状态”及“隔离属性”:系统报告中“App Store”或“Developer ID”且“签名有效”“已公证”“无quarantine”最安全;终端用codesign和xattr命令交叉验证。
mac 上判断一个应用是否来自可信渠道,关键不是看它“能不能打开”,而是看系统是否认可它的签名和公证状态。这背后是 gatekeeper 机制在起作用——它不依赖用户记忆或文件名,而是基于代码签名、苹果公证、隔离属性等元数据做实时验证。
看系统报告里的“获得方式”
这是最直接的图形化验证方式。系统报告读取的是每个 App 内嵌的签名信息,不是靠路径或名字猜测。
- 点击苹果菜单 → “关于本机” → “系统报告”
- 左侧展开“软件”→“应用程序”,右侧列表里选中某个 App
- 重点看两个字段:“获得方式”(显示 App Store / Apple / Developer ID / 空白)和“签名状态”(显示有效/无效/未签名)
- “App Store”表示经苹果完整审核;“Developer ID”说明由注册开发者签名;空白或“未识别来源”需进一步查证
用 codesign 查签名是否真实有效
签名不是贴个标签,而是对二进制文件做密码学哈希并用私钥加密。codesign 命令能验证这个链条是否完整。
macOS 微信消息自动化工具。通过 GUI 自动化实现:发送消息给指定联系人、读取聊天内容、监控新消息。适用于需要自动化微信操作的场景,如定时发送、批量回复、消息备份等。依赖 peekaboo 进行屏幕截图和 UI 交互。仅支持 macOS。开源地址:https://github.com/chairmanmia...
- 终端运行:codesign -dv --verbose=4 /Applications/XXX.app
- 看 valid on disk:yes 表示文件没被篡改
- 看 Authority:应为 Developer ID Application: XXX 或 Apple Distribution: XXX,而非 unidentified developer
- 看 Notarized:yes 表示已通过苹果自动恶意代码扫描,macOS Ventura 及更新版本默认要求此状态
检查是否带 quarantine 隔离属性
从网页、邮件或非 App Store 渠道下载的 App,系统会自动打上 com.apple.quarantine 属性。这不是错误,而是 Gatekeeper 的触发标记。
- 终端运行:xattr -l /Applications/XXX.app
- 如果输出含
com.apple.quarantine,说明它是从外部下载的,首次运行时会弹出“无法验证开发者”提示 - 右键 → “打开”可临时移除该属性并加入信任列表;但真正安全的做法是确认签名和公证后再放行
交叉验证第三方安装渠道
Homebrew Cask、mas、Setapp 等工具安装的 App,往往不走常规签名流程,需单独确认其分发链路。
- Homebrew Cask 安装的 App:运行 brew list --cask 查看清单,再配合 codesign 检查签名
- mas(Mac App Store CLI)安装的 App:运行 mas list,这类 App 必然显示“获得方式:App Store”
- 手动拖入的 DMG 或 ZIP 解压 App:无工具记录,必须依赖签名+公证+quarantine 三重判断

















