Skip to main content

bug bounty란 무엇인가

참고: 이 문서는 영문 원본의 자동 번역본입니다.

bug bounty란 무엇인가

bug bounty는 프로젝트가 자신의 코드에서 취약점을 발견하고 책임 있게 공개하는 독립 보안 연구자에게 금전적 보상을 제공하는 프로그램입니다. 내부 팀이나 고용된 감사인에게만 의존하는 대신, bug bounty는 버그 탐색을 전 세계 보안 커뮤니티에 개방합니다 — 능력이 있는 누구나 참여할 수 있으며, 프로젝트는 유효한 취약점이 발견되었을 때만 비용을 지불합니다.

bug bounty를 건물의 모든 자물쇠를 시험하도록 자물쇠 기술자 무리를 고용하는 것이라고 생각하세요. 상시 제안이 걸려 있습니다: 누군가 따낼 수 있는 자물쇠를 발견하면 보상을 받습니다. 실제 결함이 발견되지 않는 한 비용을 지불하지 않으며, 보상이 발견된 것의 심각도에 비례하기 때문에 기술자들은 더 열심히 찾으려는 동기를 갖습니다. 크립토에서는 동일한 원리가 스마트 컨트랙트 코드, 프로토콜 로직, 인프라 보안에 적용됩니다.

요약: bug bounty는 취약점을 발견하고 보고하는 독립 연구자에게 비용을 지불하는 크라우드소싱 보안 프로그램입니다 — 구조화된 audit을 보완하는, 지속적이고 개방적인 보안 커버리지를 제공합니다.

bug bounty가 작동하는 방식

프로그램 구조

bug bounty 프로그램은 몇 가지 핵심 요소를 정의합니다:

  • 범위(Scope) — 어떤 컨트랙트, 코드 저장소, 프론트엔드, API 또는 인프라 구성요소가 제출 대상인지. 범위 밖 항목은 노력 낭비와 잘못된 보고를 방지하기 위해 명시적으로 제외됩니다.
  • 심각도 등급(Severity tiers) — 취약점은 영향에 따라 분류되며, 일반적으로 Critical, High, Medium, Low와 같은 척도를 사용합니다. 각 등급에는 정의된 보상 범위가 있습니다.
  • 보상 금액(Reward amounts) — 지급액은 낮은 심각도의 발견에 대한 수백 달러부터, 사용자 자금 손실로 이어질 수 있는 치명적 취약점에 대한 수십만 달러(또는 그 이상)에 이릅니다. 일부 주요 DeFi 프로토콜은 치명적 버그에 대해 100만 달러를 초과하는 보상을 제공합니다.
  • 참여 규칙(Rules of engagement) — 연구자는 책임 있는 공개 관행을 따라야 합니다: 비공개로 보고하고, 취약점을 악용하지 않으며, 수정이 배포되기 전에 공개적으로 알리지 않고, 실제 사용자 자금이 있는 mainnet에서 테스트하지 않습니다. 이 규칙을 위반하면 일반적으로 제출이 자격을 잃습니다.

제출과 분류(triage)

연구자가 잠재적 취약점을 발견하면, bug bounty 플랫폼이나 프로젝트에 직접 상세한 보고서를 제출합니다. 보고서에는 취약점에 대한 설명, 익스플로잇을 시연하는 개념 증명(proof of concept), 예상되는 영향, 그리고 해당되는 경우 제안된 수정 방안이 포함됩니다.

프로젝트의 보안 팀(또는 bug bounty 플랫폼의 분류 팀)이 제출물을 검토하고, 발견을 검증하며, 심각도를 평가하고, 적절한 보상을 결정합니다. 이 과정은 문제의 복잡성에 따라 며칠에서 몇 주가 걸릴 수 있습니다. 취약점이 확인되고 수정되면, 연구자는 보상을 받고, (연구자의 동의하에) 커뮤니티의 신뢰와 지식을 구축하기 위해 발견이 공개될 수 있습니다.

bug bounty 플랫폼

여러 플랫폼이 블록체인 프로젝트를 위한 bug bounty 프로그램 관리를 전문으로 합니다:

  • Immunefi — DeFi 및 블록체인 bug bounty를 위한 지배적 플랫폼으로, 업계에서 가장 큰 보상 풀을 갖춘 주요 프로토콜의 프로그램을 운영합니다.
  • HackerOne과 Bugcrowd — 일부 크립토 프로젝트, 특히 웹 애플리케이션 및 인프라 보안에도 사용되는 범용 bug bounty 플랫폼입니다.

이 플랫폼들은 제출 관리, 분류 지원, 결제 처리를 담당하며, 연구자와 프로젝트 사이에 신뢰 계층을 제공합니다. 또한 연구자를 위한 공개 리더보드와 평판 시스템을 유지합니다.

bug bounty가 크립토 AI 프로젝트에 중요한 이유

지속적인 보안 커버리지

스마트 컨트랙트 audit은 특정 시점의 검토입니다 — 특정 순간에 존재하는 코드를 검사합니다. audit 이후 코드가 변경되고, 새 컨트랙트가 배포되며, 프로토콜이 새로운 외부 시스템과 상호작용할 수 있습니다. bug bounty는 지속적인 보안 커버리지를 제공합니다: 프로그램이 활성화되어 있는 한, 전 세계의 연구자들이 현재 실행 중인 코드 버전에서 취약점을 찾도록 동기가 부여됩니다.

다양한 전문성

단일 audit 팀이 가능한 모든 공격 벡터를 다룰 수는 없습니다. bug bounty 프로그램은 다양한 배경, 전문 분야, 관점을 가진 연구자를 끌어들입니다. 어떤 이는 reentrancy 공격을 전문으로 하고, 다른 이는 경제적 익스플로잇을, 또 다른 이는 cross-chain 브리지 취약점을, 그리고 또 다른 이는 offchain 인프라를 전문으로 합니다. 이러한 전문성의 다양성은 단일 audit 팀이 놓칠 수 있는 취약점을 발견할 확률을 높입니다.

인센티브의 정렬

bug bounty는 연구자가 취약점을 악용하기보다 보고하도록 금전적 인센티브를 만듭니다. bug bounty가 없으면, 치명적 결함을 발견한 연구자는 선택에 직면합니다: 무료로(혹은 기껏해야 작은 감사 표시를 받고) 보고하거나, 잠재적으로 큰 금전적 이득을 위해 악용하는 것입니다. 충분한 자금이 있는 bug bounty는 책임 있는 공개를 더 수익성 있는 선택지로 만들어 이 계산을 바꿉니다.

보안 의지의 신호

DecAIHub에 등재된 프로젝트의 경우, 의미 있는 보상 금액을 갖춘 활성 bug bounty 프로그램은 팀이 보안을 일회성 체크박스가 아니라 지속적인 관심사로 다룬다는 신호입니다. 완료된 audit과 활성 bug bounty를 모두 갖춘 프로젝트는 계층화된 보안 접근법을 보여줍니다 — 스마트 컨트랙트 기반 시스템에서 가능한 가장 성숙한 자세입니다.

DecAIHub 프로젝트 카드에서 이것이 나타나는 곳

  • Bug bounty 필드 (yes/no/—) — 프로젝트가 활성 bug bounty 프로그램을 운영하는지 나타냅니다. 프로그램, 플랫폼(Immunefi, HackerOne 등), 약관에 대한 링크는 links_* 필드 및/또는 Evidence 표에 들어갑니다.
  • Evidence: Bug bounty — 활성 프로그램의 존재와 그에 대한 링크를 기록하는 evidence 표의 행입니다.
  • Security and incidents 섹션 — bug bounty 상태, audit, 프로젝트의 위협 모델을 기록하는 카드의 부분입니다.

상당한 보상을 갖춘 활성 프로그램은 최소한의 지급액을 갖춘 프로그램이나 프로그램이 전혀 없는 것보다 더 강력한 보안 신호입니다. audit 상태와 bug bounty 상태의 조합은 프로젝트의 onchain 인프라의 전반적인 보안 성숙도를 평가하는 데 도움이 됩니다: 둘 다 없는 프로젝트는 더 높은 위험을 나타내고, 둘 다 있는 프로젝트는 가장 성숙한 보안 자세를 나타냅니다.

bug bounty만으로는 증명되지 않는 것

  • 취약점의 부재 — bug bounty는 연구자가 버그를 찾도록 동기를 부여하지만, 보고된 발견이 없다고 해서 코드가 안전하다는 것이 증명되지는 않습니다. 아무도 충분히 면밀히 살펴보지 않았거나, 범위가 너무 좁거나, 보상이 최고 연구자를 끌어들이기에 불충분하다는 것을 의미할 수 있습니다.
  • 코드 품질 — bug bounty는 반응형 메커니즘입니다. 버그가 존재한 후에 그것을 잡아내지만, 그것을 만들어낸 개발 프로세스를 개선하지는 않습니다. 깨끗한 코드, 철저한 테스트, 건전한 아키텍처는 별개의 문제입니다.
  • onchain 보안에만 한정됨 — 대부분의 bug bounty 프로그램은 스마트 컨트랙트 및 프로토콜 수준의 취약점에 집중합니다. offchain 인프라, 프론트엔드 애플리케이션, API 서버 또는 AI 추론 파이프라인은 다루지 않을 수 있습니다. 범위 정의가 실제로 무엇이 커버되는지를 결정합니다.
  • 공정한 보상 분배 — 심각도 분류와 보상 금액을 둘러싼 연구자와 프로젝트 간의 분쟁은 실제로 발생합니다. 모든 프로그램이 공정하게 관리되는 것은 아닙니다. 플랫폼의 평판과 제출물 처리에 대한 프로젝트의 실적이 중요합니다.
  • 탈중앙화 또는 거버넌스 품질 — bug bounty는 보안 메커니즘이지 거버넌스 구조가 아닙니다. 강력한 bug bounty 프로그램을 갖춘 프로젝트도 여전히 완전히 중앙집중화된 통제, 불투명한 거버넌스 또는 집중된 admin keys를 가질 수 있습니다.

혼동하지 마세요

용어 구분
Audit audit은 선택된 팀이 수행하는 구조화되고 기간이 한정된 코드 검토입니다. bug bounty는 누구나 취약점을 찾을 수 있도록 개방되고 지속적인 초대입니다. audit은 능동적이고, bug bounty는 반응적이며 지속적입니다. 둘은 서로를 보완합니다.
책임 있는 공개(Responsible disclosure) 책임 있는 공개는 취약점을 공표하기 전에 영향을 받는 당사자에게 비공개로 보고하는 관행입니다. bug bounty는 금전적 보상으로 책임 있는 공개를 장려하는 프로그램입니다. 모든 책임 있는 공개가 bug bounty를 통해 일어나는 것은 아닙니다.
bounty 프로그램(비보안) 일부 프로젝트는 비보안 작업 — 문서화, 번역, 커뮤니티 구축 — 에 대해 bounty를 제공합니다. bug bounty는 특히 코드와 인프라의 보안 취약점을 대상으로 합니다. "bounty"라는 용어 자체는 모호할 수 있습니다.

자주 묻는 질문

bug bounty는 audit과 어떻게 다른가요?

audit은 선택된 보안 전문가 팀이 코드를 체계적으로 검토하고 종합적인 보고서를 작성하는, 구조화되고 기간이 한정된 작업입니다. bug bounty는 자격을 갖춘 연구자라면 누구나 취약점을 찾아 보고하도록 하는 개방적이고 지속적인 초대입니다. audit은 능동적이고 계획적이며, bug bounty는 반응적이고 지속적입니다. 둘은 서로 다른 목적을 가지며 함께 사용될 때 가장 효과적입니다.

bug bounty 프로그램을 효과적으로 만드는 것은 무엇인가요?

세 가지 요소가 효과를 결정합니다: 범위(프로그램은 가장 중요한 구성요소를 다뤄야 함), 보상(지급액이 숙련된 연구자를 끌어들일 만큼 충분히 커야 함 — 특히 치명적 심각도의 발견에 대해), 응답성(프로젝트는 제출물을 신속하게 분류하고, 투명하게 소통하며, 공정하게 지급해야 함). 낮은 보상, 좁은 범위 또는 부실한 분류 평판을 가진 프로그램은 진지한 연구자를 끌어들이는 데 어려움을 겪을 것입니다.

누구나 bug bounty에 참여할 수 있나요?

일반적으로는 그렇습니다. 대부분의 블록체인 bug bounty 프로그램은 취약점을 식별할 기술적 능력을 가진 누구에게나 개방되어 있습니다. 연구자는 공식 자격증이나 소속이 필요하지 않습니다 — 중요한 것은 제출물의 품질입니다. 그러나 참가자는 프로그램의 규칙을 따라야 합니다: 책임 있는 공개, 취약점 비악용, 실제 사용자 자금이 있는 mainnet에서의 테스트 금지. 제재 대상 개인이나 단체는 법적 준수 사유로 제외될 수 있습니다.

외부 참고 자료

  • Immunefi — Bug Bounty Platform — DeFi 및 블록체인 프로젝트를 위한 선도적인 bug bounty 플랫폼으로, 업계에서 가장 큰 보상 풀을 갖춘 프로그램을 운영합니다.

함께 보기