每一个上线运行的智能合约,都是一份长期有效的邀请。只要它持有资金又存在缺陷,迟早会有人来找。漏洞赏金改变了激励:它给发现缺陷的人一条合法、有报酬的报告途径,让披露比攻击更划算。
漏洞赏金如何运作
赏金计划会公布范围(涵盖哪些合约、网站和系统)、一套规则和一张奖励表。发现问题的研究人员提交一份私密报告,附上足以复现问题的细节。团队确认问题、修复问题,并按严重程度支付奖励。常见规则禁止针对真实用户资金进行测试,要求在修复之前对问题保密,并排除已知问题和依赖被盗密钥的攻击。
奖励如何设定
奖励通常按严重程度分级。可能直接导致资金损失的严重问题奖励最多,通常设有与风险价值相关联的上限;高危、中危和低危问题的奖励依次递减。背后的逻辑是经济性的。如果奖励与攻击者可能拿走的金额相比微不足道,一些发现者就会受到诱惑,所以 DeFi 中认真的赏金计划会提供可能相当可观的奖励。付款是否及时、公平,与奖励金额同样重要,因为研究人员会记住哪些团队说到做到。
一个简单示例
一位研究人员注意到,在一种罕见的边界情况下,某金库的提取函数会按有利于用户的方向取整。如果在一笔交易中重复多次,这个误差可能慢慢掏空金库。她私下写下复现步骤。团队复现了漏洞,暂停受影响的函数,发布修复,并支付高危级别的奖励。没有资金损失,修复上线后问题被公开披露。
漏洞赏金与审计
智能合约审计是由受聘团队在某一时间点进行的、有计划、有范围的审查。漏洞赏金则是开放式的:只要计划还在运行,任何人都可以查找,报酬取决于结果。审计在上线前作用突出;赏金则在上线之后,也就是代码运行、利害攸关之时,继续为关注付费。运行时监控通过实时观察交易,增加了第三层防护。
风险与局限
只有当研究人员抢在攻击者之前发现漏洞,而且奖励值得他们投入时间时,赏金才会起作用。范围很重要:列明合约之外的问题可能不符合条件,这可能把注意力引向别处。付款缓慢或对有效发现提出异议的计划,会失去研究社区的信任。赏金本身也不能修复任何东西;团队仍需快速响应,而且有些漏洞在报告后需要时间才能安全修补。一个计划的存在本身,说明不了它的质量。它的范围、规则和过往付款记录,比奖励上限的金额更能说明问题。
Tori Finance 如何运用这一概念
Tori Finance 运行自己的内部漏洞赏金计划,奖励负责任地报告其代码漏洞的研究人员。该计划独立于智能合约审计和运行时监控,让代码在运行期间持续接受审查。
常见问题
什么是漏洞赏金计划?
一种向私下报告系统漏洞的安全研究人员支付报酬的计划,让漏洞能在被任何人利用之前得到修复。
漏洞赏金的奖励如何确定?
通常按严重程度确定。可能直接导致资金损失的问题奖励最多,常常按风险价值确定规模,轻微问题的奖励较少。每个计划都会公布自己的奖励表和规则。
审计和漏洞赏金有什么区别?
审计是由受聘团队在某一时间点进行的有计划审查。漏洞赏金在代码运行期间持续开放,向任何发现符合条件问题的人付款。两者相辅相成。
参考来源
- ethereum.org: Ethereum bug bounty programethereum.org
- ethereum.org: Smart contract securityethereum.org
由 Tori Finance 团队撰写。不构成投资建议。收益会有波动,资金存在风险。