首页挂着『已通过审计』徽标时:审计报告能证明什么,链上能自查什么 图 1
首页挂着『已通过审计』徽标时:审计报告能证明什么,链上能自查什么 · 图 1

项目首页挂一个某安全机构已审计的徽标,是加密圈最常用的信任素材。但审计到底是什么、能证明什么、不能证明什么,普通用户大多没概念。这篇文章先讲清机制,再给一份不懂安全也能执行的链上自查清单。不构成投资建议。

机制上,代码审计是安全公司对项目指定范围的代码做人工审阅,目标是找逻辑漏洞、权限缺陷和组合风险。要分清三件常被混着说的事:人工审计是安全工程师逐行读代码;自动化扫描工具跑静态分析,覆盖面广但深度浅;形式化验证用数学方法证明某些性质成立,成本高、覆盖的命题窄。一份审计报告的效力由三条边界框住。时效边界:审计结论只对送审的那个代码快照有效,通常精确到某个提交哈希——之后代码改了一行,结论就不再覆盖,除非追加复审。范围边界:报告里写明哪些合约在范围内、哪些依赖在范围外,周边运维脚本、管理端配置、第三方依赖不在这份报告的担保里。严重度边界:报告发现的问题分高、中、低、信息级,看发现清单和修复状态,比看首页有没有徽标有用得多。

然后是普通用户能亲自做的四项自查。第一,找报告本体:正规审计有公开可下载的 PDF 或页面,写着日期、代码版本、发现列表和修复状态;只有首页一张审计海报、或只有一个带二维码的证书图片,验证价值就很低——项目方发你的任何审计证明图片,理论上都可以伪造,必须到安全机构自己网站的公开项目列表里核对这条记录存在。第二,核对合约是否验证:在区块浏览器看该地址的源码是否已验证,未验证的合约等于审计结论没有代码可比对,审计过什么无从谈起。第三,看升级与权限:合约是否可升级、由谁触发升级——多签加时间锁的组合明显好于单一外部账户直接控制;铸造、暂停、改参数、改手续费这些特权函数握在哪些地址手里,能不能在浏览器上查最近调用记录。第四,看跟进态度:高危发现是否公开、是否注明已修复,项目方愿不愿意把报告原链接放进文档;拒绝公开或只给截图的,当作没有审计。

再校准一下预期。审计报告不是一种资格,没有”审计通过”这四个字——审计的目的是发现问题,发现了问题的报告才是正常报告。即便审计质量过硬,也拦不住这几类事故:部署密钥被盗、权限配置失手、经济模型被市场打穿、项目方自己作恶。审计改不了治理结构,也不覆盖审计报告之外的版本。所以正确的读法是一句话:这份代码在某个日期被认真看过,仅此而已;它替代不了你自己核对代码版本、升级权限、特权清单和链上行为轨迹。

最后给一条时间线习惯:重大协议出事后的复盘里,攻击者往往利用了审计报告标注过但未修复的低危项,或者干脆绕开被审计的合约走运维后门。这说明两件事——低危不等于无害,审计范围之外才是常见突破口。另外注意审计机构本身也有声誉光谱,同一句”已审计”背后可能是六周双人审阅,也可能是三天流水线产出,看报告页脚的审阅人数、周期和方法描述能大致分辨。对一个宣称要长期运行的协议,值得追问的不是有没有审计,而是谁审的、审了哪个版本、之后有没有人继续看。把审计当起点而不是终点,你在选择协议时的判断力就已经好过大多数人了。

首页挂着『已通过审计』徽标时:审计报告能证明什么,链上能自查什么 图 2
首页挂着『已通过审计』徽标时:审计报告能证明什么,链上能自查什么 · 图 2