OZ5 Guardian 是一个安全优先的 codemod 工具,用于帮助 Solidity 项目从 OpenZeppelin Contracts v4 迁移到 v5。它会自动处理低风险、规则明确的迁移,例如升级 OpenZeppelin 依赖、清理 SafeMath、将简单 SafeMath 运算改为 Solidity 原生运算符、将 SafeMath.try* 迁移到 Math.try*,以及将 ECDSA helper 迁移到 MessageHashUtils。对于高风险场景,例如 upgradeable 合约、storage gap、proxy 模式、initializer / reinitializer、ERC20 / ERC721 / ERC1155 token hooks,以及复杂 SafeMath / ECDSA 用法,它不会盲目改写代码,而是生成带风险等级和人工处理建议的 report-only 结果。工具默认 dry-run,不会修改文件;只有显式使用 --write 才会写入变更,并会生成 Markdown migration report 和 JSON 输出,方便开发者 review 或接入 CI。核心原则是:安全确定的地方自动迁移,高风险的地方只报告不乱改。