验证 macOS 安装包完整性需三步:先用 shasum -a 256 核对官方 SHA-256 哈希值,再用 codesign -dv 验证 Apple 签名有效性,最后挂载或解包检查 BaseSystem.dmg、Archive.bom 等关键结构是否完整。
验证 macos 系统安装包的完整性,关键不是“能打开”,而是确认它既没被篡改、也没在传输中损坏,且签名链真实有效。整个过程需分三步走:先核对哈希值确认内容一致,再检查 apple 签名确保来源可信,最后挂载或解包验证内部结构完整。
核对官方发布的 SHA-256 哈希值
这是最基础也最关键的一步,用于排除下载损坏或镜像被替换的可能:
- 从 Apple 官方渠道(如支持页面或开发者门户)获取安装包对应的 SHA-256 校验字符串,注意复制完整(含大小写与空格)
- 在终端中运行:shasum -a 256 /path/to/InstallAssistant.pkg(将路径替换为实际文件位置,拖入文件可自动补全)
- 比对输出结果与官方值是否逐字符一致;若不一致,说明文件已损坏或非原始版本,应重新下载
- 批量校验可用:shasum -a 256 *.pkg > checksums.sha256,之后用 shasum -a 256 -c checksums.sha256 自动验证
检查 Apple 代码签名是否有效
哈希正确不代表安全——攻击者可重打包并保留原哈希(如通过碰撞或中间人替换)。签名才是 Apple 生态的信任锚点:
让 macOS 自动化像说话一样简单 —— 用代码控制你的 Mac,无需学习 AppleScript 系统要求 macOS 14+ (Sonoma) Python 3.9+ 需要开启:辅助功能 + 屏幕录制权限
- 对 .pkg 文件执行:codesign -dv --verbose=4 /path/to/InstallAssistant.pkg
- 重点查看:Authority 字段是否含 “Apple Root CA” 或 “Apple Distribution”;Notarized 是否为 yes;Timestamp 是否在合理时间范围内
- 对 .dmg 或挂载后的 Install macOS.app,同样运行 codesign 命令,确认其内部 bundle 签名未被剥离
- 若提示 “invalid signature” 或 “sealed resource is missing”,说明签名已损坏或被绕过,不可信任
挂载后验证文件系统与关键结构
安装包能双击打开 ≠ 内容完整。必须挂载后触发实际读取,才能暴露块级损坏或目录结构异常:
- 挂载 .dmg:hdiutil attach /path/to/image.dmg,然后进入
/Volumes/Install macOS目录 - 检查是否存在关键组件:
Install macOS.app、BaseSystem.dmg、Contents/Info.plist、_CodeSignature/目录 - 运行:hdiutil verify /path/to/image.dmg,它会扫描磁盘映像的块级 CRC 与分配表,报告具体错误位置
- 对 .pkg 可用 xar -xf /path/to/app.pkg 解包,查看是否生成
Archive.bom和Payload,并用文本编辑器打开 .bom 检查文件清单是否完整

















