Code4rena는 25명으로 구성된 원격 팀이 운영하는 스마트 계약(https://iq.wiki/wiki/smart-contract) 보안 시장으로, 보안 연구원들이 취약성을 발견할 수 있도록 경쟁력 있는 감사를 제공합니다. [1][2]
Code4rena는 기존 감사 및 버그 바운티와 달리 더 광범위한 프로토콜 적용 범위와 보장된 보상을 제공합니다. 주목할 만한 DeFi(디파이) 및 NFT(대체불가토큰) 업계 리더, 예를 들어 zkSync, ENS, Chainlink(체인링크), Opensea(옵픈씨)는 프로토콜 보안 및 시장 진출 가속화를 위해 Code4rena를 이용했습니다. 48시간 감사 시작을 제공하는 이 플랫폼은 280건의 감사에서 950건 이상의 심각한 취약성을 발견했으며, 각 경연 대회에는 평균 70명의 전문 감사자가 참여했습니다. [1][3]
Code4rena 생태계에서 감시자(Warden)는 DeFi(디파이) 공간을 보호하기 위해 감사를 수행하고, 후원자(Sponsor)는 감사자(Warden)의 프로젝트 감사를 장려하기 위해 상금 풀을 설정합니다. 심사위원은 발견 사항의 중요성, 유효성 및 품질을 평가하고 감사자(Warden)의 성과를 평가하는 데 중요한 역할을 합니다. 독특한 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]
워든은 자신들의 조사 결과에 포함된 배경 지적 재산에 대해 크리에이티브 커먼즈 0 1.0 라이선스를 부여하여 투명성과 협업을 보장합니다. Code4rena는 워든의 성실한 노력을 승인하고 인정하며, 승인된 연구 활동과 관련된 법적 조치를 취하지 않고 지원을 제공합니다. [10]
후원자는 경쟁 감사를 구매하여 Code4rena에 참여하며, 이는 감사자가 프로젝트 코드를 면밀히 조사하도록 장려하기 위한 상금 풀을 만드는 것을 포함합니다. Code4rena 감사를 원하는 프로젝트는 후원 요청을 제출하여 협업 과정을 시작할 수 있습니다. [11]
요청 제출 시, Code4rena팀은 프로젝트 저장소를 평가하고, 응답 및 계약을 검토하며, 적절한 감사 패키지를 권장합니다. 범위 설정 단계에는 코드 라인 수 및 테스트 적용률과 같은 기술적 세부 사항이 포함되어 감사 범위를 정확하게 평가합니다. [12]
경쟁이 치열한 시장에서 숙련된 감시자(warden)를 유치하기 위해 Code4rena는 감사 범위에 따라 표준 어워드 풀 크기를 설정합니다. 상금 규모는 감시자 인재를 유치하는 데 중요한 요소이며, 후원자는 어워드 풀을 늘려 더 많은 관심을 끌 수 있습니다. [11]
Code4rena는 각 감사 보상금 풀의 일부를 분석(5%) 및 유효한 가스 최적화(2.5%)에 할당합니다. 분석은 고급 조언과 검토를 제공하여 특정 버그 보고서를 넘어서는 귀중한 통찰력을 제공합니다. 가스 최적화 풀은 사용자의 가스 수수료를 최소화하는 솔루션을 장려하는 것을 목표로 합니다. [11]
감사 풀과는 별도로, Code4rena DAO의 조직 운영 비용을 충당하기 위한 수수료가 부과됩니다. 이 수수료는 감사의 조직, 홍보 및 보고와 관련된 노력에 기여합니다. [11]
표준 1주일 감사는 20:00:00 UTC에 시작하고 평일에 종료되는 고정된 일정을 준수합니다. 스폰서(Sponsor)는 일정을 확정하기 위해 예치금을 납부해야 합니다. 코드, 문서 및 노트를 포함한 감사 저장소(repo)는 효율적이고 효과적인 코드 검토를 위해 감사 시작 최소 48시간 전에 설정되어야 합니다. [11]
감사 기간 동안에는 공정한 경쟁 환경을 유지하기 위해 스폰서가 코드 동결을 준수해야 합니다. 스폰서에게는 감사자의 질문에 비공개로 답변하기 위해 C4 Discord 서버에 팀원을 배치할 것을 권장합니다. 감사 후에는 스폰서가 결과를 검토하고, 중복 항목을 식별하는 데 도움을 주고, 식별된 문제를 해결하기 위해 완화 검토 단계를 거칩니다. [11]
완화 검토에는 후원팀이 최고 성과를 거둔 감시자들과 협력하여 감사 중에 발견된 위험도가 높고 중간인 문제에 대한 완화 조치를 해결하고 검증하는 작업이 포함됩니다. 이 단계에는 초기 감사 경연과 유사한 검토 및 심사 과정이 포함됩니다. [11]
Code4rena 감사의 가치를 극대화하려면, 스폰서는 작동하는 명령어가 포함된 자체 포함형 저장소를 준비하고, 저장소와 README를 정리하며, 가능하면 비디오 연습을 공유하고, 감사자의 질문에 신속하게 답변할 수 있도록 C4 Discord에서 적극적으로 활동하는 것이 좋습니다. [13]
판정단은 Code4rena 경쟁 감사 모델에서 중요한 역할을 수행하며, 감시자들이 제출한 결과의 심각성, 유효성 및 품질을 결정하는 책임이 있습니다. 이러한 공정한 평가는 Code4rena 플랫폼의 전반적인 성공에 매우 중요합니다. [14]
스폰서와의 일관성을 유지하고 심각도 평가의 객관성을 유지하기 위해 Code4rena는 각 감사에 대해 공정한 심사관을 선정합니다. 심사관은 감시자의 결과와 스폰서의 의견을 독립적으로 검토하여 Code4rena가 감사 보고서에 대한 결과를 공정하게 분류할 수 있도록 합니다. 커뮤니티는 심각도 결정에 대한 최종 권한을 심사관에게 부여하며, 심사관은 감사 풀의 일정 비율에 따라 보상을 받습니다. [14]
Code4rena에서 존경받고 필수적인 역할인 판사는 신중한 선발 과정을 거칩니다. 일반적으로 DeFi 커뮤니티의 기존 멤버인 판사는 이전 판사 경험을 바탕으로 추천을 받습니다. C4 커뮤니티 내에서 자체적으로 선발된 커뮤니티 판사는 Code4rena 감사 참여, 버그 발견 및 공정성, 명확한 의사소통과 같은 비기술적 기준 준수를 포함한 특정 기준을 충족해야 합니다. [14]
판사 지원서는 상위 리더보드 감독관 및 전직 판사들로 구성된 C4 판사 선정 위원회에서 매달 검토합니다. 위원회는 지원서를 평가하여 "예" 또는 "아니오" 결정을 내립니다. 감독관은 판사가 될 수 있지만, 동일한 감사에서 발견한 내용에 대한 상을 포기해야 공정성을 유지할 수 있습니다. [14]
심사 과정은 이상적으로 인계 후 48시간 이내에 종료됩니다. 심사관은 심사 도구에 대한 기술 문서를 받으며, 검토에는 스폰서 피드백, 코드베이스 검증 및 심각도와 유효성 평가가 포함됩니다. 심사관의 역할은 스폰서와의 논의 및 종합 보고서 작성까지 확장됩니다. [14]
심사관은 특정 지침을 따르며, 참고 자료로 기술 문서 및 과거 감사를 검토합니다. 스마트 계약 로직과 직접적으로 관련 없는 제출물은 QA로 간주됩니다. 심사관은 스폰서 피드백을 고려하지만, 결정은 독립적입니다. 명확성을 위해 스폰서와의 논의가 권장되며, 심사관은 심각도 평가 변경에 대한 정당성을 제공해야 합니다. [14]
결과를 인계하기 전에 심사관은 상위 점수를 받은 QA 보고서에 심각도 또는 무효 항목에 대한 의견 불일치를 적어 댓글을 추가합니다. 이 정보는 최종 보고서에 기여하며, 심사관은 Code4rena 대회 관리자에게 심사 후 QA 및 상금 배포 준비를 알립니다. 심사 과정 전반에 걸쳐 #judges Discord 채널 또는 DM 내에서의 공개적인 소통이 권장됩니다. [14]
Code4rena는 커뮤니티 구성원들이 적극적으로 참여할 수 있는 플랫폼을 제공하며, 인증된 참여자는 신원 확인 및 계약을 통해 향상된 기회를 누릴 수 있습니다. 이 인증은 Code4rena 생태계 내 다양한 역할과 책임의 문을 엽니다. [15]
인증된 참여자는 비공개 또는 초대 전용 대회에 참여하고, 범위 설정 및 대회 전 코드 분석을 위해 스카우트 역할을 맡고, 대회 후 분류 및 심사 후 QA에 참여하고, 완화 검토 서비스를 제공하며, Code4rena를 통해 독립적인 감사 및 컨설팅 서비스를 제공할 수도 있습니다. 추가적으로 특정 토큰 보상 및 향후 보상 가능성 등이 고려되고 있습니다. [15]
제삼자 기관(Provenance)을 통해 진행되는 인증 절차는 개인 정보 보호를 최우선으로 합니다. 참여자는 신청서를 제출하고, 인증된 참여자 약관에 동의하며, 신원 확인 절차를 거치고, 행동 강령 및 비밀 유지 계약서에 서명합니다. Code4 Corporation은 개인 정보에 접근하지 않고 인증 확인을 받아 참여자의 개인 정보 보호를 보장합니다. [16]
인증된 기여자는 계약상의 의무를 준수해야 하며, 위반 시 Code4rena Cayman Foundation이 시정 조치를 취할 수 있습니다. 악용 사례 관련 주장이 제기되면 Provenance는 당국에 신원 정보를 제공하여 인증 약관 준수의 중요성을 강조합니다. [17]
특정 성과 기준을 충족하는 뛰어난 인증된 참여자는 Code4rena 감사에 대한 "백스테이지" 접근 권한을 얻어, 결과 저장소에 즉시 접근하고, 감사 후 분류 작업에 참여하고, 감사 후 QA에 참여할 수 있습니다. 기준에는 인증 승인, 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 및 가스 최적화 보고서는 곡선 등급을 받고 보상되므로 높은 수준의 품질과 가치를 보장합니다. 각 카테고리(분석, QA 보고서 및 가스 보고서)에서 가장 우수한 보고서는 30%의 보너스를 받습니다. 특히, 포함을 위해 선택된 B 등급 보고서도 비례 보상 및 보너스 고려 사항에 대해 A 등급으로 간주됩니다. [22]
QA 및 가스 보고서의 채점에는 3단계 시스템(A, B, C 등급)이 있으며, 이에 따라 상금 풀의 비율이 결정됩니다. 점수가 동점인 경우 해당 슬롯에 대한 총 상금이 동점 보고서들 사이에 분배됩니다. [24]
심사위원은 심각도, 타당성, 중복 보고 및 보고서 품질을 평가하는 과정에서 중요한 역할을 합니다. 심사 결정은 공정성과 품질을 보장하기 위해 48시간의 QA 프로세스를 거칩니다. [25]
불만족스럽다고 판단된 제출물은 수상 대상에서 제외됩니다. 만족스러운 제출물에 대한 기준은 전문 감사인이 작성한 초안 보고서 수준으로 설정되며, 기술적 실체와 효과적인 의사소통을 강조합니다. [25]
분석은 A, B 또는 C 등급으로 평가되며, A 등급 보고서는 2점을 받습니다. 최고의 분석은 감사 보고서에 포함되어 C4 심각도 기준의 발전하는 메타에 기여합니다. [25]
Code4rena는 참가자들이 정의된 역할과 원칙을 준수할 것으로 기대하며, 공정성, 공평성 및 일관성을 강조합니다. 이 시스템은 지속적으로 발전하여 모든 이해 관계자에게 도움이 되도록 과제를 해결하고 프로세스를 개선합니다. [26]
규칙의 지속적인 진화는 타당성의 주관적 기준을 제시하는 기준표에 따라 이루어집니다. 이 기준표는 제출물의 품질에 대한 표준을 설정하고 참가자들에게 명확성을 제공하여 공정하고 상호 합의된 기준을 마련하는 것을 목표로 합니다. 규칙 개선과 관련된 문제 및 제안은 공개적으로 논의되고 반복적인 개선을 위해 문서화됩니다. [25]