可用终端命令直接验证macOS应用签名状态:codesign -dv --verbose=4检查valid on disk(yes为完好)、Authority(签发者)和Notarized(yes为已公证);codesign --verify --verbose无输出即有效;系统应用需查真实路径后验证;批量检查可提取核心字段快速比对。
直接用终端命令就能手动验证 macos 已安装应用的签名状态,不需要第三方工具。重点不是“全盘扫描”,而是快速确认你关心的应用是否签名有效、由谁签发、是否通过苹果公证。
查看单个应用的完整签名信息
打开终端,运行以下命令(把 XXX.app 替换为实际应用名,如 Safari.app 或 Postman.app):
codesign -dv --verbose=4 "/Applications/XXX.app"
输出中重点关注三项:
- valid on disk:显示 yes 表示文件未被篡改、签名完好;no 表示签名已失效或内容被修改
- Authority:显示签发者,例如 Apple Distribution: Apple Inc. 或 Developer ID Application: Your Company LLC;若为 unidentified developer 或为空,说明签名无效或缺失
- Notarized:值为 yes 表示已通过苹果公证;macOS Ventura 及更新系统对未公证的 Intel 应用默认拦截
快速判断签名是否正常(无输出即有效)
如果只想知道签名有没有问题,不用看细节,用这个简化命令:
codesign --verify --verbose "/Applications/XXX.app"
执行后:
- 完全没输出 → 签名有效、文件完整
- 报错如 code object is not signed 或 invalid signature → 未签名、签名损坏或证书不可信
检查系统预装应用(如 Finder、Safari)
它们不在 /Applications,而是在 /System/Applications 或 /System/Library/CoreServices。先查进程路径,再验证:
ps aux | grep -i "Safari.app" | head -1 | awk '{print $11}'
从输出中复制完整路径(如 /System/Applications/Safari.app),再代入签名命令:
codesign -dv --verbose=4 "/System/Applications/Safari.app"
系统应用的 Authority 通常显示 Apple Mac OS Application Signing,且 valid on disk 必须为 yes;若为 no,可能系统完整性保护(SIP)被禁用或系统受损。
批量检查多个常用应用
一次查几个关键应用,方便横向对比:
for app in "/Applications/Safari.app" "/Applications/TextEdit.app" "/Applications/Preview.app"; do echo "== $(basename "$app") =="; codesign -dv --verbose=2 "$app" 2>/dev/null | grep -E "(Authority|Notarized|valid on disk)"; echo; done
该命令只提取核心字段,跳过无签名或路径错误的应用,节省人工筛查时间。


















