Shiba Classic LogoShiba Classic

It's audited.

Legendary Klack
Legendary Klack19 10月 2026

审计到底覆盖什么、漏掉什么,以及如何为任何代币读懂一份审计报告。

Safe, they said · 2/10

创建者:

Legendary Klack

Tags:

Audit
Security
Multisig

“It's audited”这句话终结的讨论,比加密世界里任何一句话都多。

它常常是真的,多得出人意料。而它说明的东西,比听起来的要少得多。

这是我们“Safe, they said.”系列的第二篇。十句项目方用来安抚你的话,每周一句。下面拆开看第二句。

一段话说清什么是审计

项目方付钱请一家安全公司来读它的代码。这家公司拿到的是代码的一个固定版本,和一段固定的时间。它查找错误,按严重程度逐条记下,项目方再逐条答复。结果是一份标有日期的报告。

所以,审计是由可能有所遗漏的人,在某一个时间点,对某段代码的某一个版本所作的陈述。一份好的报告自己会说明这一点,通常在接近结尾的地方。

第一个局限:范围

报告覆盖的是这家公司拿到的东西。通常是合约。通常不包括网站,不包括服务器,不包括合约部署时所用的设置,也不包括控制合约的密钥。

“已审计”少了“什么”两个字,只是半句话。

第二个局限:日期

代码会变。一个可以升级的合约,在报告出具的第二天就可能被替换。那时报告描述的,是一个已经不再运行的东西。

问题不是“它审计过吗?”,而是“今天在运行的,是当初被读过的那个吗?”

第三个局限:发现不等于修复

报告会列出各项发现,每一项旁边有一个状态。“Resolved”或“fixed”表示错误已经消除。“Acknowledged”表示项目方看过了,并且保持原样。无论是哪一种状态,项目都可以说“已审计”。

第四个局限:密钥

这是造成资金损失最多的一个。

2026 年 4 月 1 日,Solana 上的一个大型交易协议损失了约 2.85 亿美元,这是安全公司 Cyfrin 的统计。Cyfrin 和该协议自己都表示,合约中没有任何漏洞被利用。

该协议的管理权限掌握在一个 multisig 手中,五名签名者中有两名签名就够了。根据该协议自己的初步调查结果,攻击者花了大约六个月的时间,当面、在各种会议上,与贡献者建立信任。他们很可能攻破了设备,并拿到了一些交易的签名,而签名者无法看到这些交易的真实内容。这些交易被扣住,之后才执行。资金被抽走的过程持续了大约十二分钟。

再怎么读代码也发现不了这一点。代码所做的,正是有效签名让它做的事。

审计检查的是锁是否管用。它不检查钥匙在谁手里,也不检查钥匙是怎样被保护的。

如何为任何代币核查

做这件事不需要相信任何网站,包括我们的。

  1. 到审计方自己的网站上找报告,不要只看项目方的网站。
  2. 把报告里的地址或代码版本,与今天实际在用的进行对比。
  3. 阅读每一项发现的状态。把“resolved”和“acknowledged”分开数。
  4. 阅读范围。找出其中没有的东西:管理员密钥、升级、Bridge、网站。
  5. 问一问合约是否还能被更改,由谁更改。如果能,这份报告就有一个没有人印在上面的有效期。

SHIBC 的情况

SHIBC 代币合约于 2024 年 12 月由 Hashlock 审计。报告在 Hashlock 的网站上公开。评级为“Secure”,有一项低严重程度的发现、一条 Gas 提示和四条质量提示。

这六项全部标为“Acknowledged”,而不是“Resolved”。它们都是小问题。合约的所有权已被放弃,因此再也没有人能更改它的代码。审计方在 2024 年读到的,就是今天在运行的。

Hashlock 为设有漏洞赏金(bug bounty)或链上监控的项目保留了更高的评级。这两项都在计划之中:一个公布了范围的漏洞披露计划,以及监控。

审计覆盖的是代币合约。围绕它正在建设的部分,在上主网之前有各自的关卡。关于 Bridge 的关卡,写在我们的白皮书第 7.6 节。审计的细节在第 8.7 节。

我们从中得到什么

审计是证据,不是保证。它回答的是“这段代码是否如它所声称的那样?”它不回答“谁能更改它,谁能动用资金?”

我们对代币应当如何运作的看法是:说明读了什么,由谁读的,什么时候读的。说明哪些保持了原样。并且把密钥当作更大的问题,因为它确实是。

下周,第三篇:“We have a multisig.”