概览
Midas Chain 是结算到以太坊的 OP Stack L2,原生 Gas 代币为 MIDS。在它承载真实资金之前,我们出资请安全研究人员找出其中的问题。
- 两个赛道:链本身的合约,以及链的配置方式和对互联网的暴露面。
- 每个高危或中危问题单独提交,并附可运行的概念验证。低危问题由每位参与者汇总在一份 QA 报告中。
- 奖励来自固定奖池,按严重性以及发现同一漏洞的人数分配。
- 提交只能通过加密门户进行,并在结果公布前保持保密。
范围
受审代码以独立仓库形式发布,固定在 Midas 单体仓库的一个提交上,并附带测试、面向审计者的链概览和已知问题。竞赛开始时,仓库链接将显示在这里。
范围仓库竞赛开始时发布
固定提交
规模924 nSLOC
链合约
MIDS 发行合约,链上发行 MIDS 的唯一途径(20,000,000,000 的终身发行上限,销毁不会腾出上限额度,以及守护者可以取消的 48 小时队列);为链上每个应用保管每位用户余额的金库;快速退出桥;以及 MIDS 代币的 ERC-20 表示。
链配置与公共端点
op-deployer 意图文件及生成的创世和 rollup 文件(自定义 Gas 代币、角色、费用接收方)、节点栈的启动参数,以及带方法白名单的公共 RPC 入口。
已知问题
范围仓库中的 KNOWN_ISSUES.md 列出了信任假设和已接受的风险。重复其中任何一项不会获得奖励;证明某项比所述更严重则属于范围之内。主要包括:
- 单一排序器。抗审查能力来自通过以太坊的强制包含,而非排序器。
- 所有升级和管理员角色均由 Safe 多签持有。管理员 Safe 可以升级 Gas 代币的预部署合约,进而改变发行合约的规则。需要 Safe 恶意行事的发现不在范围内。
- 金库上的结算引擎对其转移的资金是受信任的;金库保证的是谁能成为结算引擎,以及需要多长的提前通知。
- 快速桥信任其证明者。任何其他人释放托管资金,或在到期后阻止退款,均属于范围之内。
- Gas 费由费用金库收取并转入国库,而不是销毁。
- 针对公共 RPC 的流量型拒绝服务攻击不在范围内。能让节点停止、回滚或访问被禁止命名空间的请求属于范围之内。
范围之外
- 未修改的上游 OP Stack 合约和客户端。Midas 对它们的配置方式在范围内;其中的漏洞请提交到 Optimism 自己的漏洞赏金计划。
- 应用:Pactol、Predikon、Lydos,以及 Midas Dollar(MDLR)和 Midas Gold(MGLD)稳定币。它们将在各自主网上线前单独审查。
- 仅用于测试网的代码、模拟合约和水龙头,以及范围仓库中标记为上下文的文件。
- 第三方服务、各网站以及本门户(请通过 security.txt 报告)。
- 任何需要已被攻破的管理员多签、运营方密钥或主机,或依赖社会工程、网络钓鱼或物理接触的问题。
严重性
严重性由影响和可能性共同决定,基于已部署的范围评判,并以已知问题为前提。
| 可能性 | 高影响 | 中影响 | 低影响 |
| 高 | 高 | 高 | 中 |
| 中 | 高 | 中 | 低 |
| 低 | 中 | 低 | 低 |
高影响资金被盗或永久冻结、超出上限或绕过所有者铸造 MIDS、夺取所有者或管理员角色、使链停止或回滚,或访问公众绝不应访问的节点命名空间。
中影响资金被临时冻结、用户退出被阻止的时间超过文档规定的通知期、让用户付出金钱代价的恶意干扰,或在没有直接盗窃的情况下破坏协议规则。
低影响状态处理问题、不会导致损失的缺失检查、事件、注释以及与代码不一致的文档。
可能性是指触发条件出现的难易程度和频率:谁可以触发、成本多少、需要先满足什么条件。
奖励
奖池以美元计价,按 90% 分配给高危和中危发现,10% 分配给 QA 报告。每笔奖励均以美元计算,并以附带锁仓的 MIDS 支付,详见下方的支付说明。
- 同一漏洞的有效发现组成一个组。在有 n 位发现者的组中,每位发现者获得的积分为:高危 10、中危 3,乘以 0.9 的 (n - 1) 次方,再除以 n。
- 每组中写得最好的报告将被选入最终报告,并额外获得 30%。部分重复的发现可获得完整份额的 25%、50% 或 75%。
- 高危和中危奖池按积分比例支付。
- QA 奖池由评为 A 级的报告平分;最佳 QA 报告按两份计算。B 级和 C 级不获得奖励。
- 如果没有有效的高危或中危发现,高危和中危奖池将并入 QA 奖池。
示例:一个高危问题由三人发现,一个中危问题由一人发现。每位高危发现者获得 10 x 0.81 / 3 = 2.7 积分,被选中的那位获得 3.51;中危发现者获得 3 积分。总计 11.91 积分,因此中危发现者获得高危和中危奖池的 3 / 11.91。
以 MIDS 支付
- 奖励的 MIDS 数量等于其美元金额除以参考价格,即竞赛开始前公布的每枚 MIDS 的美元价格。竞赛开始后不再变更。
- MIDS 自 Midas Chain 主网起才存在。主网创世之后,奖励将铸造到 Midas Chain 上的锁仓合约中,每位获奖者一份锁仓额度。
- 每份锁仓额度都有 12 个月的锁定期,自结果公布之日起算。锁定期结束前不能释放任何部分。
- 只有通过 KYC 并在门户中设置了收款地址的获奖者,才会获得锁仓额度,且该额度只支付到该地址。
- 锁仓合约部署后,其地址和源代码将在本页公布。
参考价格参考价格将在竞赛开始前公布
时间线
报名现已开放
竞赛日期待公布
评审竞赛结束后约两周
申诉窗口初步结果公布后三天
结果与支付所有申诉都得到答复后公布结果。Midas Chain 主网创世之后,将为通过 KYC 的获奖者创建锁仓额度,最早在结果公布之日起 12 个月后释放。
评审与申诉
- 评审会对每份提交进行分类、归并重复项、确定最终严重性、为 QA 报告评级,并选出每组中写得最好的报告。
- 评审是不参赛的具名审查人员。如果评审的钱包同时注册为参与者,在冲突解决之前将同时失去两种角色。
- 评审结束后,你可以看到自己提交的状态、严重性和评级,并有三天时间对每份提交申诉一次,理由须结合代码和本规则。
- 只有在申诉窗口关闭且所有申诉均已答复后才会公布结果。申诉后的评审决定为最终决定。
规则
- 只能在竞赛进行期间通过 onmidas.xyz/audit/portal 门户提交。通过其他任何渠道发送的内容均不计入。
- 每份提交一个高危或中危问题,并附可在固定提交的范围仓库上运行的概念验证。每位参与者用一份 QA 报告提交所有低危发现。
- 用英文撰写。说明什么出了问题、在哪里、影响谁,以及你会如何修复。
- 在本地或分叉上测试。切勿针对公共测试网、其 RPC、任何在线系统或他人的资金进行测试。
- 在结果公布前对发现保密。提前公布或分享发现,将使该发现及其作者失去资格。
- 每人只能有一个身份。重复账户、串通和抄袭将使所有相关账户失去资格。
- 在不理解的情况下生成的发现(例如未经核实的工具输出)无效。屡次提交垃圾内容可能导致被暂停参赛。
- 评审依据本规则决定严重性、有效性和重复项。Midas 可在竞赛开始前修改规则;适用于你的是你报名时接受的版本。
参赛资格与 KYC
- 任何人都可以参加,但 Midas 员工、承包商及其家属、评审,以及此前为 Midas 审查过这些代码的人员除外。
- 获奖者在创建锁仓额度前必须通过身份验证(KYC)。位于受制裁司法管辖区或列入制裁名单的人员无法获得支付。
- 你需自行承担奖励的相关税费。Midas 可能需要你的税务信息才能付款。
- 创建锁仓额度前,必须在门户中设置一个能在 Midas Chain 上持有 MIDS 的收款地址。锁仓额度只支付到该地址。
安全港与披露
只要你在本规则范围内开展研究,Midas 即视你的工作为已获授权:我们不会对你采取法律行动,也不会要求他人这样做;如有第三方这样做,我们会公开说明。维持这一承诺的规则如下:
- 只使用你自己的账户、测试网络、本地部署和分叉。不得访问、更改或破坏他人的数据或资金。
- 不得降低或中断任何在线服务的运行,包括测试网及其公共 RPC。
- 通过门户报告,并在结果公布前,或在 Midas 书面同意提前披露之前,对发现保密。
- 在竞赛之外发现的在线系统漏洞,请发送到 security.txt 中的地址,而不是提交到门户。
安全港涵盖你在本规则下开展的研究,不涵盖违反任何其他法律的行为。
常见问题
我需要钱包吗?不需要。你可以使用邮件验证码登录。钱包登录只是一次签名,绝不是交易。
可以在开始前提交吗?不可以。现在就报名;竞赛开始后门户将开放提交。
可以编辑提交吗?在竞赛进行期间撤回后重新提交即可。以新提交的时间为准。
谁能看到我的报告?只有你和评审。报告和附件在存储时均加密;发给团队的通知只包含提交编号,从不包含内容。
如何证明我提交了什么?每份提交都会显示你报告的 SHA-256。请妥善保存。
我什么时候能收到奖励?Midas Chain 主网创世之后,你的奖励将被铸造为一份锁仓额度,自结果公布之日起满 12 个月的锁定期后才能释放。
稳定币和各应用呢?它们不在本次范围内,将在各自主网上线前单独审查。