Code4rena 是一个 智能合约 安全市场,由一个 25 人的远程团队运营,为安全研究人员提供有竞争力的审计,以发现漏洞。 [1][2]
Code4rena 通过提供更广泛的协议覆盖和有保障的补偿,区别于传统的审计和漏洞赏金。zkSync、ENS、Chainlink 和 Opensea 等著名的 DeFi 和 NFT 行业领导者已与 Code4rena 合作,以保护其协议并加速进入市场。该平台提供 48 小时的审计启动,已在 280 次审计中发现了超过 950 个高危漏洞,每次竞赛平均有 70 名专业审计员参与。[1][3]
在 Code4rena 生态系统中,守护者进行审计以保护 DeFi 空间,而赞助者建立奖金池以激励守护者审计他们的项目。法官在评估调查结果的重要性、有效性和质量以及评估守护者的表现方面发挥着关键作用。独特的 C4 审计不同于漏洞赏金和传统的审计方法。[3]
管理员的主要职责是通过进行全面的代码审计来保护去中心化金融(DeFi)生态系统。这些审计为具有不同技能的人提供了获得奖励的机会,同时展示了他们为更安全的DeFi环境所做的贡献。 [4]
任何个人都可以申请成为守卫者并参与 Code4rena 的审计。申请流程结束后,获得批准的守卫者可以加入 Discord 社区,并表达他们对正在进行的审计的兴趣。Code4rena 网站是访问开放和即将进行的审计详情的中心,包括奖金池大小、开始和结束日期以及相关信息。鼓励守卫者在参与代码审计之前熟悉 Code4rena 的行为准则。 [5]
对于希望注册团队的用户,流程包括首先注册个人 Warden 账号,然后创建团队。Code4rena 网站允许团队负责人管理成员和更新付款信息。所有团队注册都需要经过 Code4rena 团队的审核。 [6]
大多数 Code4rena 审计通常运行 3-7 天,于 UTC 时间 20:00 开始和结束。 [7]
赏金猎人遵循明确的提交政策,确保负责任和合乎道德地披露漏洞。报告可以在审计停止时间之前提交,并遵守指定的格式和指南。高危、中危和QA报告可以单独或集体提交,分析报告则提供对代码库的整体审查。Code4rena 强制执行严格的审计截止日期,不接受延迟提交。如果意外提交到错误的审计,赏金猎人可以重新提交到正确的审计,并遵循特定的撤回步骤。 [8]
Code4rena鼓励在指定的渠道中提出问题和进行讨论,以确保清晰度和理解。社区积极协作以解决疑问,并欢迎对政策改进提出建议。 [9]
守护者对其发现中包含的背景知识产权授予 Creative Commons 0 1.0 许可,以确保透明度和协作。Code4rena 授权并认可守护者的善意努力,提供支持,并且不会就授权的研究活动采取法律行动。 [10]
赞助商通过购买竞争性审计参与Code4rena,这包括创建奖励池以激励审计员审查其项目的代码。任何寻求Code4rena审计的项目都可以提交赞助请求,启动合作流程。 [11]
在提交请求后,Code4rena 团队会评估项目存储库,审查响应和合约,并推荐合适的审计包。范围界定阶段涉及技术细节,例如代码行数和测试覆盖率百分比,以准确评估审计的范围。 [12]
为了在竞争激烈的市场中吸引技术精湛的审核员,Code4rena根据审计范围确定了标准奖励池规模。奖金池的大小是吸引审核员人才的关键因素,赞助商可以灵活地增加奖励池,从而获得更多关注。 [11]
Code4rena将每次审计奖励池的一部分分配给分析(5%)和有效的gas优化(2.5%)。分析提供高级建议和审查,提供超越特定错误报告的宝贵见解。gas优化池旨在激励为用户最小化gas费用的解决方案。[11]
组织费用是独立于审计池之外的费用,用于支付 Code4rena DAO 的组织成本。该费用用于组织、推广和报告审计相关的工作。 [11]
标准的一周审计遵循固定的时间表,在工作日的UTC时间20:00:00开始和结束。赞助商必须支付押金以确认安排。审计仓库,包括代码、文档和注释,应在审计开始前至少48个工作小时设置好,以便进行高效有效的代码审查。 [11]
在整个审计过程中,赞助商必须遵守代码冻结,以维持公平的竞争环境。鼓励赞助商安排团队成员在C4 Discord服务器中私下回答审核员的问题。审计结束后,赞助商审查发现结果,协助识别重复项,并参与缓解审查阶段,以解决已发现的问题。 [11]
缓解审查是指赞助团队与表现最佳的审核员合作,以解决和验证审计期间发现的高风险和中等风险问题的缓解措施。此阶段包括类似于初始审计竞赛的审查和判断过程。 [11]
为了最大限度地发挥 Code4rena 审计的价值,建议赞助商准备一个包含工作命令的独立存储库,确保存储库和 README 的组织性,如果可能的话,分享一个视频演练,并在 C4 Discord 中保持活跃,以便快速访问 warden 的问题。 [13]
法官在 Code4rena 竞争性审计模型中扮演着关键角色,负责确定守卫者提交的发现的严重性、有效性和质量。这种公正的评估是 Code4rena 平台整体成功的根本。 [14]
为了确保与赞助商保持一致并在严重性评估中保持客观性,Code4rena为每次审计选择公正的评委。评委独立审查赏金猎人的发现和赞助商的意见,使Code4rena能够公平地对审计报告的发现进行分类。社区授予评委确定严重性的最终权力,评委根据审计池的百分比获得报酬。 [14]
法官是 Code4rena 中一个受人尊敬且至关重要的角色,他们经过仔细的选拔过程。通常是 DeFi 社区的知名成员,法官会根据之前的评审经验获得认可。社区法官从 C4 社区内部自选,必须满足特定标准,包括参与 Code4rena 审计、发现漏洞以及遵守公平和清晰沟通等非技术标准。 [14]
法官申请由C4法官选拔委员会每月审查,该委员会由排行榜上的顶级管理员和过去的法官组成。委员会评估申请,并提供“是”或“尚未”的决定。虽然管理员可以转变为法官,但他们必须放弃在同一审计中因发现而获得的奖励,以确保公正性。 [14]
评审过程理想情况下在交接后 48 小时内完成。评审员会收到关于评审工具的技术文档,评审过程会考虑赞助商的反馈、代码库验证以及对严重性和有效性的评估。评审员的角色扩展到与赞助商的讨论以及最终确定一份综合报告。 [14]
评审员遵循特定指南,审查技术文档和过去的审计报告以供参考。任何与智能合约逻辑没有直接关系的提交都被认为是 QA。评审员会权衡赞助商的反馈,但决策保持独立。鼓励与赞助商进行讨论以澄清问题,评审员必须为更改严重性评估提供理由。 [14]
在交接结果之前,评审员会在得分最高的 QA 报告顶部添加评论,指出对严重性或无效项目的不同意见。此信息有助于最终报告,评审员会向 Code4rena 竞赛管理员沟通他们已准备好进行评审后 QA 和奖励分配。在整个评审过程中,鼓励在 #judges Discord 频道或私信中进行公开沟通。 [14]
Code4rena提供了一个平台,供社区成员积极贡献,认证贡献者通过身份验证和协议享受更多机会。此认证为Code4rena生态系统内的各种角色和职责打开了大门。 [15]
认证贡献者可以参与私有或仅限邀请的竞赛,担任侦察员角色进行范围界定和赛前代码情报收集,参与赛后分类和赛后质量保证,提供缓解审查服务,甚至可以通过 Code4rena 提供单独的审计和咨询服务。正在考虑的其他机会包括特定的代币奖励和潜在的未来奖励考虑。 [15]
认证过程通过第三方 (Provenance) 执行,优先考虑隐私。贡献者提交申请,同意认证贡献者条款和条件,接受身份验证,并签署行为准则和保密协议。Code4 Corporation 收到认证确认,无需访问个人信息,从而确保贡献者的隐私。 [16]
经过认证的贡献者受到合同协议的约束,任何违规行为都可能导致 Code4rena Cayman 基金会采取补救措施。涉及漏洞的指控会触发 Provenance 向当局提供识别信息,强调遵守认证条款的重要性。\17
表现突出的认证贡献者满足特定绩效标准后,可获得 Code4rena 审计的“+Backstage”访问权限,从而可以立即访问发现结果存储库、参与审计后分类以及参与评审后质量保证。标准包括认证批准、参与至少三次 Code4rena 审计、特定严重程度的发现结果以及遵守认证贡献者条款和条件。 [18]
符合资格标准的认证贡献者可以通过指定流程提交 +Backstage 访问权限的请求。Code4rena 工作人员将在批准后协助设置。 [19]
认证贡献者必须遵守职业行为准则,确保以客观、合作和知识开放的方式对待调查结果。尊重所有社区成员,并在审计报告公开之前保持机密性,对于维持+Backstage角色至关重要。[18]
瞭望员在 Code4rena 中扮演着关键角色,他们审查和组织提交给比赛的作品,从而减轻项目团队的工作量,并为评审准备存储库。要成为一名瞭望员,个人可以由信誉良好的法官或瞭望员提名,也可以自荐。该角色要求至少参加过三次 Code4rena 审计,证明有发现,并承诺公平和有效的书面沟通。 [20]
申请人填写一份综合表格,分享一份简短的个人简介、相关经验和提交的例子。申请每月审核一次,成功的候选人会收到通知。 [20]
Code4rena 侦察员专注于范围界定和预审计情报,评估诸如图书馆依赖项、外部调用、时间锁和代码行数等因素。他们的见解有助于优化审计参数。侦察员在审计开始前审查提议的代码和存储库,就范围界定的准确性和存储库的准备情况提供反馈。在审计期间,侦察员监控公共代码存储库,确保符合指南。侦察员的报酬包括每次竞赛 500 美元 USDC 的固定费用。 [21]
由于角色的敏感性,侦察员目前由Code4rena团队精心挑选,这反映了其贡献中精确性和可靠性的重要性。 [21]
Code4rena 采用一种独特的评分系统,旨在实现双重目标:奖励参赛者发现独特的漏洞,并保护审计免受女巫攻击。该系统还鼓励参赛者之间的合作。 [22]
参赛者根据漏洞的严重程度获得份额,中风险和高风险漏洞会计算份额。评分系统采用按比例分配模型,确保公平的奖励。此外,对于包含在审计报告中的最佳提交,每个独特的高风险或中风险发现将获得30%的份额奖励。[22]
识别出相同的功能漏洞的问题被认为是重复的,并且会相应地分享奖励。未能有效合理化最高严重性案例的提交可能会获得“部分奖励”,奖励份额由法官酌情决定除以 2 或 4。 [22]
每个 Code4rena 审计的最初一小时都包含一个机器人竞赛,优先考虑高质量的自动化发现。获胜的机器人报告将与所有管理员共享,并将某些发现指定为超出奖励范围,从而简化工作并使人工审计员专注于独特的挑战。 [23]
鼓励安全审计员提交分析报告,参与奖金池的竞争。质量保证(QA)和Gas优化报告侧重于高危和中危漏洞,根据质量进行评分和奖励,以确保高质量和价值。每个类别(分析、QA报告和Gas报告)中最佳报告将获得30%的奖金。值得注意的是,即使被选中的B级报告,在比例奖励和奖金方面也会被视为A级。[22]
对QA和Gas报告进行评分涉及一个三层系统(A、B或C等级),对应于奖金池的不同部分。如果出现分数相同的情况,相应名额的总奖金将在分数相同的报告之间分配。 [24]
评委在奖励过程中起着关键作用,评估严重性、有效性、重复性和报告质量。这些决定会经过48小时的质量保证流程,以确保公平性和质量。 [25]
被认为不合格的提交作品没有资格获得奖励。合格提交的标准设定在与专业审计师的报告草案相当的水平,强调技术实质和有效的沟通。 [25]
分析分为A、B或C等级,A级报告得分为2。最佳分析会被选中并包含在审计报告中,从而有助于C4严重性标准的不断发展。 [25]
Code4rena 强调公平、公正和一致性,参与者应遵守既定角色和原则。该系统不断发展,解决挑战并改进流程,以造福所有利益相关者。 [26]
规则的持续演变受到一个准则的指导,该准则概述了有效性的主观阈值。该准则旨在为提交作品的质量建立标准,并为参赛者提供清晰度,从而促进公平和相互认可的基线。与规则改进相关的问题和建议会公开讨论并记录下来,以便进行迭代改进。 [25]