后审计安全:为什么审计只是一个提交哈希,而不是安全态势

  • zealynx
  • 发布于 1天前
  • 阅读 25

文章强调:审计只能证明某个提交点在限定时间内未发现特定漏洞,并不等于协议安全。由于代码升级、依赖变化、治理参数调整、EVM/编译器变更与密钥失守,审计结果会迅速“过期”。真正的后审计安全应包含持续监控、自动暂停与撤权、实时不变量检查、严谨的多签与签名流程、应急响应演练以及白帽协作机制。文章通过 Euler、Nomad、Ronin、Radiant、Bybit 等案例说明,能否在前两小时内发现并阻断攻击,往往决定资金损失是可控还是灾难性。

每一份你曾经收到的审计报告都只证明了一件事:在 commit 0xdeadbeef 时,一组特定的审查者在有限的时间预算内,没有发现某些类别的 bug。那是一个有用的产物,但它不是安全态势。

这两种观念之间的距离,就是协议开始亏钱的地方。Euler 通过了六次审计,拥有 1000 万美元的 Sherlock 覆盖政策,并且持续数月挂着 100 万美元的 Immunefi bounty,却仍在 2023 年 3 月因一个修复引入的漏洞损失了 1.97 亿美元——而这个修复本身也是经过审计的,用于修复通过该 bounty 报告的另一个 bug。Nomad 致命的 confirmAt[0x00] = 1 变更是在审计窗口期间引入的,并通过了修复后的审查。Ronin 在 2021 年 11 月加入的 allowlist,在推广 gas-sponsorship 项目结束后从未被撤销;没有人持续监控,而从漏洞利用到被发现之间隔了六天,直到一名用户投诉提款失败,问题才浮出水面。

审计能很好地回答一个狭窄的问题。“我们的协议安全吗?”并不是那个问题。

这篇文章写给那些刚刚完成——或者即将完成——审计的协议团队:接下来你们还必须搭建剩余的整套体系,包括监控、runbook、自动暂停、持续 invariant 检查、OpSec,以及确保资金在两次审计报告之间仍然安全留在合约中的组织能力。本文刻意聚焦实践。点名具体事件,给出日期、根因,以及原本什么措施会改变结果。


为什么审计会衰减

审计附着于某个世界状态,而这个状态在你发布的那一刻就不复存在。Zellic 的“audit drift”研究考察了 Rekt Leaderboard 前 20 起事件,发现其中 15 起发生在未审计或审计后被修改的代码路径中。衰减的路径是可预测的:

代码变更。Nomad 在 2022 年 5 月 26 日对 initialize() 的修改——将零哈希设为受信任的 root——是在审计中途发布的,并在修复审查中保留了下来。2024 年 8 月 Ronin 的再次被利用(1200 万美元)来自一次升级,该升级引入了一个未初始化的 _totalOperatorWeight,使最小投票权重默认为零。该版本已部署,但未经过审计。

依赖项。Vyper 0.2.15 / 0.2.16 / 0.3.0 编译器 bug 在 2023 年 7 月导致 Curve 各池损失 7300 万美元,尽管这些池本身各自都经过了审计。问题出在 toolchain,而不是源代码。Chainlink feed 弃用、Aave v2→v3 API 变更、假设 1:1 的 LST 兑换率——你所依赖的每一个集成都可能让你的模型失效。

可组合性。Penpie 在 2024 年 9 月因 2024 年 5 月新增的一个 permissionless Pendle market registration 功能损失了 2700 万美元——而那是在上一次审计之后。任何人都可以用恶意的 SY token 注册 market,而 _harvestBatchMarketRewards 路径会对其发生重入。

治理。Timelock 参数变更、新角色授予、oracle registry 切换、新 collateral 上线——这些每一项都会带来新的 threat model。

EVM 和编译器升级。EEA EthTrust 标准明确规定,一旦 EVM 版本发生变化,认证即失效。每一次 hard fork,对某些协议来说,都是一次审计衰减事件。

如果这些都不是新鲜事,那很好。关键在于,审计后的安全不是一种感觉——它是那一整套具体的控制措施,确保在后台发生这些衰减时,协议依然保持安全。如果你还没读过,请看看我们对2025 年最大漏洞教训的拆解,去年亏损中的同样模式在那里也能看到。

审计衰减时间线


监控:看什么,以及为什么

链上监控不是换了 logo 的 SIEM。遥测数据是全局可观察且不可伪造的,但对于意图而言是有损的——你看到的是 payload,而不是动机。检测必须从行为序列中进行推断。

真正重要的信号:

  • 资金流。高于滚动分位数的 outbound transfers、目的地地址创建不满 N 个 block、突发模式、你从未见过的 counterparties。这是底线,不是上限。
  • 特权调用。OwnershipTransferredUpgraded(EIP-1967 slot)、RoleGranted/RoleRevoked,任何对 setImplementation 或等价函数的调用。治理事件——ProposalCreatedQueueTransactionExecuteTransaction、delegation-weight 的跃升。
  • Oracle 健康状况。spot 与 TWAP 的偏差、heartbeats 缺失、answeredInRound < roundIdupdatedAt 过旧、L2 sequencer-uptime feed 状态。攻击侧视角可参见我们更深入的oracle 操纵分析。
  • Solvency invariants。totalDebt ≤ totalCollateral · LTVvirtual_price 单调性、N 个 block 内 ΔTVL 大于 X%、储备与账面一致。
  • 探测阶段特征。失败交易簇往往是在探测 reentrancy 或算术边界。来自 Tornado 资金 EOA 的 CREATE2 部署。与已知漏洞利用模板相似的 bytecode。针对特权 selector 的 pending-mempool 交易。

链上监控信号图谱

值得了解的平台各自覆盖了这个领域的不同部分。Forta Network 运行去中心化 detection bot,并结合 ML ensemble(Malicious Contract ML、Tornado-funding、Victim ID bots);其 Firewall 产品在 Celo、Ink 和 Plume 上以 L2 sequencer 级别进行 pre-chain screening。OpenZeppelin Defender(Monitors + Actions + Relayers)与基于 Safe 的治理集成最紧密——Compound、Synthetix、dYdX 和 Yearn 都依赖它。Hosted Defender 将于 2026 年 7 月 1 日停止服务;Relayer 和 Monitor 组件将开源。

Hypernative 和 Hexagate(于 2024 年 12 月被 Chainalysis 收购)是当前专有 ML 与 pre-transaction policy enforcement 的前沿。Hypernative 的 Guardian 和 Hexagate 的 GateSigner 都可作为 Safe 交易的 co-signer,在交易真正签名前拒绝违反 policy 的 payload——考虑到 2025–2026 年攻击实际发生的位置,这一点尤为重要。Tenderly 仍然是 simulation 和 war room 的首选,但有一个重要 caveat:它的 simulations 在 Radiant 和 WazirX 两次事件中都被欺骗了;模拟 tx 和签名 tx 并不是同一笔。

一个难看的事实是:典型的 DeFi exploit 在 60 秒内就能完成。平均人工主导的 incident response 约为 37 分钟。如果你还没有预先接好自动化,检测就只是取证,而不是防御。


暂停按钮的局限

Auto-pause 是必要的,但并不充分。它对代码 bug 型 exploit 非常有效——reentrancy、flash-loan 操纵、oracle 偏移。但它对 access-control 攻击毫无用处,因为一旦攻击者接管了 ownership,就可以绕过你的 pause guard 直接升级。Radiant,2024 年 10 月:Hypernative 的自动 incident response 在 Ethereum 和 BSC 上触发了,但攻击者在同一笔交易中通过 multicall([transferOwnership, upgradeTo]) 在 Arbitrum 上完全绕过了 pause gate,而那里的资金抽干已经完成。当被攻陷的是具有控制权的主体时,pause 并不能提供保护。

教训是,监控应该接到 revocation 上,而不只是接到 pause 上。如果你的 IR 自动化检测到恶意治理动作正在进行,它应该移除被攻陷的 signer、通过 guardian role 撤销 ownership,或者触发类似 Arbitrum 的 Security Council freeze——而不是仅仅切换 pause 标志然后寄希望于一切无事发生。

暂停 vs 撤销决策树

值得照搬的生产模式:

  • Compound 的 Pause Guardian——按 market 粒度,可禁用 mint/borrow/transfer/liquidate,但永远不能禁用 redeem/repay,也不能 unpause(只有 governance 可以)。
  • Aave v3 的 Guardian 架构——5-of-9 multisig,按资产暂停和冻结,以及独立的 EmergencyAdminFreezingStewardLiquidationsGracePeriodSentinel 角色。
  • MakerDAO 的 Emergency Shutdown Module——在 2024 年 7 月提高到 300,000 MKR 阈值,并附带 48 小时 GSM Pause Delay。
  • Arbitrum 的 Security Council——9-of-12 的紧急阈值,绕过所有 timelock,于 2026 年 4 月 21 日通过临时 Inbox 升级冻结了与 KelpDAO exploit 相关的 7150 万美元。

关于这个问题的升级路径侧,请参见我们的proxy 安全清单UUPS vs Transparent vs Beacon 对比


永久在线的 invariants

审计后最被低估的控制措施,就是持续 invariant 检查。不是你的审计套件。不是你的 CI fuzzing。而是每个 block 都运行、并在被违反时让协议停下来的 live-state invariants。

三种互补模式,都已在某些生产环境中运行:

链上 view-function invariants。一个返回 bool 的纯函数——totalDebt <= totalSupply * maxLTVsum(userBalances) == totalSupplyvirtualPrice >= lastVirtualPrice——由 Forta bot 或 Defender Sentinel 每个 block 轮询一次,违反时自动 pause。

按计划运行 forked-mainnet invariant suites。Tenderly Web3 Actions 或 Defender Actions 每晚 fork mainnet,用真实状态运行你的 Echidna 或 Medusa 任务,在 regression 时发出警报。Trail of Bits 的 Curvance 合作中运行过一个持续 43 天的 Echidna/Medusa campaign;底层工具现在支持在 mainnet fork 上以这种节奏运行。

可 revert 的运行时 invariants。EIP-7265 已将其标准化:一个在 outflow 超过配置阈值时停止出金的 circuit breaker,可在硬性 revert 与延迟结算之间选择。MakerDAO 的 DAI 基本方程检查和 Aave Shield 是生产中的前例。这种模式本可以阻止 2023–2024 年许多最大规模的 exploit。

在 CI 侧,Aave、Morpho、Liquity 和 Gearbox 使用的大致分层是:

  • PR 触发——forge test --fuzz-runs 10000 加上五到十分钟的 Medusa 测试。
  • nightly cron——运行一小时 Medusa,Echidna 使用 testLimit: 500k–1M
  • pre-release——多小时 campaign,通过 actions/cache 持久化 corpus。

Invariant 分层流水线

自 2022 年 3 月起,Certora 在 Aave 的每个 commit 上运行,在 Compound 上持续运行,在 Lido 的 Dual Governance Escrow 上运行,在 MakerDAO 的 Fundamental Equation of DAI 上运行。这里的模式是:formal verification 不是交付物,而是一个 CI 步骤。关于实际入门点,请参见我们关于fuzz 测试结合 fuzzing 的形式化验证的文章。


没人愿意谈的部分:keys

Private-key compromise 占 2024 年加密损失的 43.8%。个人钱包被攻破的比例从 2022 年的 7.3% 增长到 2024 年的 44%。前线已经转移到链下。

Radiant 是典型案例。2024 年 9 月 11 日,一名 contractor 收到了一条带有 ZIP/PDF 附件的 Telegram 消息。该附件投放了 InletDrift,这是一种具备 OS-level 持久性的 macOS 后门。当这名 contractor 之后签署 Safe multisig 交易时,Safe{Wallet} 的前端显示的是合法 payload,而 Ledger 收到的却是恶意的 transferOwnership calldata。Ledger 对 Gnosis Safe 交易的 blind-sign 模式意味着设备上无法验证交易内容。Tenderly simulations 没有发现任何问题,因为它们模拟的是界面上显示出来的那笔交易。攻击者触发“retry”循环,从一个 11 人 multisig 中收集到了 3 份签名——阈值也正好是 3——只用 27% 的签名者就接管了协议。5300 万美元就这样没了。

Multisig key-compromise 攻击路径

在 SEAL 和各大审计公司中逐渐固化下来的最佳实践:

  • Multisig math ≥60%。3-of-11 不是冗余,而是攻击面。要么提高阈值,要么缩小 N。
  • 多样化硬件。Ledger、Trezor 和 GridPlus 混合用于同一个 multisig,并进行地理分布,这样单一 firmware 向量就无法一次性攻破所有人。
  • 禁止 Safe multisig blind-sign。使用 Ledger Clear Sign JSON descriptors 来处理 EIP-712。在设备上确认之前,先通过 etherscan.io/inputdatadecoder 进行带外 calldata 验证。
  • co-signer policy enforcement。Hypernative Guardian 和 Hexagate GateSigner 都可以作为可编程 co-signer,在人类 signer 看到之前就拒绝违反 policy 的交易——例如 calldata selector allowlist、destination allowlist、size limit。
  • 原子化 swapOwner rotation。以原子交易而不是顺序交易轮换 signer,以避免出现被攻陷 signer 仍可行动的窗口。
  • 重复失败即中止。如果一个 Safe 交易“失败”并要求某个 signer 重试,那就是 incident,而不是一次普通重试。

Timelock 的规范已经相当稳定:Compound 的 canonical MINIMUM_DELAY = 2 days, MAXIMUM_DELAY = 30 days, GRACE_PERIOD = 14 days;Uniswap 为 2 天;MakerDAO 的 GSM 为 48 小时;Aave v3 Executor L1 约 1 天、L2 core 约 7 天;Lido 为 48–72 小时。OpenZeppelin 的 TimelockController 搭配 saltpredecessor 进行排序,是参考实现。


前两个小时就是全部战场

点名事件比任何 framework 都更能说明问题。下面是 0–2 小时内的结果:

事件 损失 结果
Ronin(2022 年 3 月) 6.25 亿美元 六天检测间隙。零响应。
Wormhole(2022 年 2 月) 3.26 亿美元 网络约 16 小时内恢复;Jump Crypto 当天完成资本补充;2 月 2 日通过 Oasis counter-exploit 回收 1.4 亿美元。
Poly Network(2021 年 8 月) 6.11 亿美元 Tether 在数小时内冻结 3300 万美元;15 天内资金全数返还。
Euler(2023 年 3 月) 1.97 亿美元 war room + TRM + 执法机构 + 链上谈判;全部追回。
Balancer(2023 年 8 月) 1170 万美元处于风险中 通过按比例退出在 48 小时内回收 97%+;是后续复盘的黄金标准。
Munchables(2024 年 3 月) 6250 万美元 当天全额返还;Blast 的 14 天提款延迟提供了谈判时间。
Venus(2025 年 9 月) 节省 1300 万美元 Hexagate 在攻击前 18 小时检测到异常,DAO-mediated freeze 让攻击者净亏损。
Radiant(2024 年 10 月) 5300 万美元 auto-pause 被 multicall 绕过;未追回;TVL 从 3 亿美元以上跌到 580 万美元。
Bybit(2025 年 2 月) 15 亿美元 有史以来最大加密劫案;Safe{Wallet} UI 层面的 OpSec 失败。

这种相关性并不微妙。那些预先接好了自动化、在文件中留有 SEAL 911 联系方式、已采用 Safe Harbor Agreement、并且演练过 runbook 的协议,往往能追回 80–100% 的资金。那些只有经济杠杆的协议——例如 CurveDAO 只能关闭 gauges——则不得不依赖白帽 MEV bot 和交易所冻结。什么都没有的协议,就只能承受 Ronin 那样的六天空窗。

前两个小时时间线

SEAL 的 playbook 总结出一套有效的 incident response 结构:一名 Incident Commander 负责时间线,一名 Technical Lead 负责复现和修补,一名 Comms Lead 把控外部声明(不要过早说“资金是安全的”),一名 Legal/Regulatory Lead 负责执法和交易所联络,一名 Whitehat/External Liaison 对接 SEAL 911,以及一名 Scribe 用 UTC 记录一切。严格角色分离,一人一职,时钟持续运行。

SEAL 911 本身也值得在真正需要之前就加入。它基于 Telegram(@seal_911_bot),由大约 40 名经过筛选的 whitehat 组成,通过 bot 里的关键词复述来验证真实性,邀请制,免费。自 2024 年 2 月 14 日上线以来,已帮助整个生态追回超过 1.5 亿美元。Safe Harbor Agreement 是一项公开的单边承诺,覆盖 active 或 imminent 的 exploit(不是 bug bounty);标准条款是获救资金的 10%,上限为 100 万美元,返还窗口为 72 小时,并在决策后进行 KYC/OFAC。已有 20 多个协议采用,覆盖超过 680 亿美元。Uniswap、Aave、Pendle、Balancer、zkSync、Silo、Polymarket 和 PancakeSwap 都在其中。

关于治理攻击侧的 incident response,请参见我们关于DAO 治理攻击的文章。


值得真正去读的 frameworks

大多数安全 frameworks 对协议团队来说都太宽泛,不够可操作。只有少数真正有用:

  • The Rekt Test(Trail of Bits,2023)——以 Joel Test 为模型的十二个问题。“你是否有书面且经过测试的 incident response 计划?”“你是否要求生产系统使用 hardware security keys?”“你的关键 invariants 是否在每个 commit 上都被测试?”如果你不能对全部十二项回答 yes,那你就有了一份优先级清单。
  • SEAL 在 frameworks.securityalliance.org 上的 framework 集合——war room 指南、沟通模板、playbook。免费。
  • OWASP SCSVS(当前 steward:CredShields 和 OWASP,2024 年在 Ethereum Foundation ESP funding 支持下重构)——涵盖 architecture、governance、oracle、bridge、DeFi、composability 的 11 个 control group。配套的 SCWE 采用 CWE 风格且可搜索。
  • EEA EthTrust Security Levels(v2,2023 年 12 月)——三个级别:[S] automatic(可由 Slither 检查的 baseline)、[M] manual audit review、[Q] quality,包括 MEV protection 和文档化行为。认证明确绑定到特定的 EVM 和编译器版本。
  • OWASP Smart Contract Top 10——2025 版本将 access control 排在第一(它占 2024 年损失的 9.53 亿美元)。2026 草案新增 Proxy 和 Upgradeability 作为独立类别,并将 Business Logic 提升到第 2 位。

NIST Cybersecurity Framework 2.0 覆盖链下边界;Smart Contract Security Field Guide(scsfg.io)覆盖链上内部;ISO 27001 / SOC 2 则为供应商审查提供锚点。对精简的 Web3 团队而言,实际优先级很窄:专用签名硬件、前端上的 SRI、CSP 和 DNSSEC,以及审查持有你 RPC 或 CDN 的任何服务商的 SOC 2 报告。


“成熟”到底长什么样

一个协议安全成熟度模型,提炼自那些在首次重大 incident 之后依然存活下来的协议真正做的事情:

  • Tier 0(不成熟)。单次上线前审计。2-of-3 EOA multisig。无 timelock。无 bounty。无监控。私有 Telegram 中的临时 IR。
  • Tier 1(基础)。年度审计加升级时的 spot review。4-of-7 Safe,使用 hardware wallet。24–48 小时 timelock。10 万到 100 万美元范围的 Immunefi bounty。针对管理函数的 Defender 或 Forta。带明确角色的文档化 runbook。
  • Tier 2(成熟)。每次重大变更都进行按模块审计,并保留 lead-auditor。5-of-9 multisig,硬件厂商多样化,已缓解 blind-sign,且地理分布。分层 timelock(48 小时到 7 天)加 Emergency Shutdown Module。按 TVL 规模设置的 bounty,金额为 100 万到 500 万美元。多供应商监控,带自定义 invariant bot 和 auto-pause。针对关键 invariants 使用 Certora。专职 security engineer 加一名 head of security。季度 IR 演练。文件中有 SEAL 911 联系方式。
  • Tier 3(最佳实践)。CI 中持续轮换的 firms。角色分离的 Safe,在适用时使用 MPC;经选举产生的 security council。带 rage-quit 的 Dual Governance。500 万到 1000 万美元 bounty,加上链上采用的 Safe Harbor。多供应商监控,带自动化响应和运行时强制 invariants。每个 commit 上持续 formal verification。保留多个 IR vendor。三人及以上的 security team、red team、公开 post-mortem 文化、SEAL-ISAC 成员资格。

安全成熟度层级

达到 Tier 3 的协议极少。Aave 的 BGD Labs retainer、Lido 的 GRAPPA reviewer-in-residence 加上非对称的 4/6-or-1/6 Deposit Security Committee、MakerDAO 专门的 Immunefi Security Core Unit、Euler 在被黑后进行的重设计——在 7 个月内由 13 家 firm 做了 45 次审计——这些都是在经历了生存级 incident 后存活或恢复并完成适应的协议。Tier 2 和 Tier 3 之间的差距不在钱,而在组织 ownership。关于各层级预算背后的数学,请参见我们关于2026 审计定价audit vs DeFi insurance的文章。


经济层面的论证

年度 DeFi 损失:2021 年约 24.4 亿美元。2022 年约 38 亿美元(Ronin、BNB Bridge、Wormhole、Nomad、Mango)。2023 年约 17 亿美元。2024 年约 22 亿美元,其中与 DPRK 相关的活动占总量的 61%。2025 年为 34 亿美元,其中 Bybit 的 15 亿美元单独占了 44%。

2026 年中市场价格:中等复杂度的 DeFi 审计为 6–12 万美元;post-launch retainers 为每月 5000–3 万美元;基础持续监控为每月 2000–1 万美元;enterprise monitoring 为每年 5–50 万美元;专职 security engineer 为 20–40 万美元;head of security 为 35–60 万美元。一次 1000 万美元的 exploit,大致相当于二十年每年 50 万美元的 monitoring 成本。Radiant 的 TVL 在其 5300 万美元被黑后暴跌 98%——从 3 亿多美元跌至 580 万美元。该协议实际上已被摧毁。

这个数学并不复杂。它只要求把审计看作 20 步中的第 1 步,而不是 20 步中的第 20 步。面向投资者的版本见我们的audit ROI 指南投资者尽调拆解


闭环

Detect → triage → respond → learn → harden。每一次 incident 都会告诉你,本该检查的是哪个 invariant、应该移除哪个 signer、应该限制哪个 rate limit、应该把哪段 calldata 交给 co-signer。每一份 post-mortem,都是下一季度控制措施的 spec。那些能存活下来的协议会不断积累这些知识;那些没能活下来的,则把每次 incident 都当成孤例。

审计是一个 commit hash。安全是你在 commits 之间所做的事。


协议团队的下一步

在你开始给正在运行的协议加装监控之前,先确保你不是在为本可以在上游节省掉的审计时间买单。阅读我们的审计前清单纵深防御工作流,看看“between commits”这一层在完整安全生命周期中的位置。


联系我们

Zealynx 把审计后的这一层与审计本身一起构建——监控 invariants、runbook、co-signer policy,以及持续 review retainer,让整套栈在 commits 之间持续运转。如果你的协议刚刚上线,或者即将上线,我们可以帮助你接好其余控制措施。

与 Zealynx 开始对话


FAQ:审计后安全

1. “audit decay” 到底是什么意思?

Audit decay 指的是审计报告对应的某个时间点,与线上协议之间逐渐出现的偏差。报告证明的是某个特定 commit,以及特定假设(编译器、EVM 版本、依赖项、信任模型)下的状态。此后的每一次变化——热修复、新 collateral、依赖升级、治理参数调整——都超出了审计者审查的范围。Zellic 的研究显示,Rekt 损失前 20 名中有 15 起发生在从未审计或审计后被修改的代码路径中。衰减是默认状态;要保持安全,就需要能在报告之外持续存在的控制措施。

2. 我已经有审计和 multisig 了。这还不够吗?

审计加 multisig 只是入场门槛,不是完整态势。审计覆盖某个 commit 上的逻辑;multisig 覆盖权限。两者都不能检测 live exploit,都不能在 solvency invariants 被破坏时暂停出金,都不能阻止 signer 对恶意 calldata 进行 blind-sign,也不能保证 37 分钟的平均人工响应时间能快过 60 秒的 exploit 完成时间。完整栈包括带自动响应的监控、持续 invariants(有些按 EIP-7265 在运行时强制执行)、key-compromise 控制(clear-sign、co-signer policy、多样化硬件),以及一个经过演练、并在文件中留有 SEAL 911 联系人的 incident-response runbook。Audit + multisig 是底线;成熟协议会在其上再叠加 5–6 个控制措施。

3. 什么是 runtime invariant,它和 invariant test 有什么不同?

Invariant test 是离线 fuzzing——Echidna、Medusa、Foundry——针对你定义的 property(例如“总债务永远不超过总 collateral 乘以最大 LTV”)随机尝试调用序列。它在部署前和 CI 中运行。Runtime invariant 则是在 live mainnet 状态上,每个 block 检查同一个 property,并在被违反时自动采取行动。这个 property 要么由 Forta bot 或 OpenZeppelin Defender Sentinel 在链下轮询(然后触发 pause),要么按 EIP-7265 的 circuit-breaker 标准在链上强制执行(当 invariant 即将被破坏时交易 revert)。MakerDAO 的 DAI 基本方程和 Aave Shield 是生产中的前例。Invariant test 防止你发布一个坏协议;runtime invariant 防止你把一个正在运行的协议抽干。

4. 什么是 SEAL 911 和 Safe Harbor Agreement,我们应该加入吗?

SEAL 911 是由 Security Alliance 运营的基于 Telegram 的紧急联络网络——约 40 名经过筛选的 whitehat responders,可通过 @seal_911_bot 联系,邀请制,免费。自 2024 年 2 月上线以来,它已帮助协调了超过 1.5 亿美元的追回。Safe Harbor Agreement 是一个独立的、公开的、单边的 offer,协议在链上采用后,会明确授权 whitehat 在 active 或 imminent 的资金抽干期间进行 counter-exploit,作为交换收取有上限的费用(通常为获救资金的 10%,上限 100 万美元),并附带 72 小时返还窗口和决策后 KYC/OFAC 检查。已有 20 多个协议(合计超过 680 亿美元 TVL)采用,包括 Uniswap、Aave、Pendle 和 Balancer。要在需要之前加入。等到 incident 发生时再采用,就太晚了。

5. 为什么 Radiant 的 auto-pause 失败了,我们该如何避免同样的错误?

Radiant 的 pause 在 Ethereum 和 BSC 上正确触发了,但攻击者使用 multicall([transferOwnership, upgradeTo, ...]) 将整次攻击压缩进了一笔 Arbitrum 交易。等到 pause 本应触发时,ownership 已经转移,合约也已经升级到了恶意实现。修复方法是设计权限架构,使 pause 不再是你唯一的杠杆。使用可以撤销 ownership 的 guardian role,给 transferOwnershipupgradeTo 加上 timelock,设置一个在 multisig 签名前就能拒绝特权 calldata 的 co-signer policy(Hypernative Guardian 或 Hexagate GateSigner),以及一个具备紧急冻结能力的 Arbitrum 风格 security council。Pause 保护你免受逻辑 bug 侵害;revocation 和 co-sign 保护你免受被攻陷 signer 的侵害。

6. 我如何向领导层证明审计后的安全预算是合理的?

用具体数字,而不是抽象概念来比较。一次中等复杂度的审计成本为 6–12 万美元。Enterprise monitoring 每年 5–50 万美元。专职 security engineer 为 20–40 万美元。Head of Security 为 35–60 万美元。一次 1000 万美元的 exploit,相当于一条 50 万美元/年的 monitoring 预算线二十年的支出。Radiant 在其 5300 万美元被黑后损失了 98% 的 TVL——协议实际上已经被摧毁。Bybit 在 2025 年 2 月因前端/OpSec 失败损失了 15 亿美元,而不是 smart-contract bug。预先接好自动化并有演练过 runbook 的协议能追回 80–100% 的资金;没有这些的协议则一无所获。这不是“如果发生会怎样”——这是 2021–2025 年的基准发生率。面向投资者的版本见我们的audit ROI 文章


术语表

术语 定义
Audit Decay 随着代码、依赖项和治理变化,审计报告与线上协议之间逐渐出现的偏差。
Incident Response 检测、分诊并从活跃的协议 exploit 或被攻陷状态中恢复的协调流程。
Circuit Breaker 当预定义 invariants 被违反时,停止或延迟 outflows 的运行时控制。
Invariant 协议必须始终满足的属性;被违反的 invariant 表明存在 bug 或 exploit。
Blind Signing 对硬件钱包无法验证其内容的交易进行签名,从而使 payload-swap 攻击成为可能。
Timelock 治理操作从提出到执行之间强制施加的延迟,为用户提供反应窗口。

查看完整术语表 →

  • 原文链接: zealynx.io/blogs/post-au...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
zealynx
zealynx
江湖只有他的大名,没有他的介绍。