AI가 만든 가짜 리포트에 버그 바운티 폐지
오픈소스 데이터베이스 기업인 Turso가 데이터 오염 버그에 대해 1,000달러를 지급하던 버그 바운티 프로그램을 폐지했습니다. AI 도구를 악용해 대량의 가짜 버그 리포트와 PR(풀 리퀘스트)이 생성되면서 프로젝트 유지보수자들이 이를 처리하는 데 한계에 부딪혔기 때문입니다. 이 사건은 오픈소스 생태계와 기업의 보안 정책에 AI가 미치는 부작용이 현실화되었음을 보여줍니다.
지금 Turso Cloud의 동시 쓰기(Concurrent Writes) 기능에 대한 얼리 액세스를 등록하세요. 대기자 명단에 합류해 주세요.
2026년 5월 12일
AI의 경이로움: 우리가 버그 바운티 프로그램을 폐지하는 이유
거의 1년 동안 Turso는 데이터 오염으로 이어질 수 있는 버그를 증명한 사람에게 1,000달러를 지급하는 프로그램을 운영해 왔습니다. 오늘, 우리는 이 프로그램을 폐지합니다.
글라우버 코스타(Glauber Costa)
거의 1년 동안 Turso는 데이터 오염으로 이어질 수 있는 버그를 증명한 사람에게 1,000달러를 지급하는 프로그램을 운영해 왔습니다. 오늘, 우리는 매우 안타까운 마음으로 이 프로그램을 폐지합니다.
이유는 간단합니다. 모든 사람이 저품질 AI 생성물(Slop) 제조 기계의 홍수에 시달리고 있기 때문입니다. 이 점에서 우리만 예외는 아닙니다. 하지만 특정 클래스의 버그에 대해 돈을 제공하는 프로그램은 이른바 '쓰레기 생성자(Slop makers)'들에게 너무나 매력적인 표적이 될 수밖에 없습니다.
며칠 동안 우리 프로젝트 유지보수자들은 Turso에서 데이터 오염을 유발하는 버그를 발견했다고 주장하는 AI 생성 저품질 PR(Pull Request)들을 닫는 것 외에는 거의 아무것도 하지 못했습니다. 수많은 오픈소스 소프트웨어(OSS) 프로젝트들이 외부 기여자들의 문을 닫고 있는 이 시기에, 우리는 Turso의 문을 열어두기 위해 모든 노력을 다하고자 합니다. '오픈 기여(Open Contribution)' 프로젝트는 우리 DNA의 일부이며, 이것이 Turso가 탄생한 방식이기 때문입니다.
하지지만 안타깝게도 금전적 보상은 이것을 거의 불가능하게 만들고 있으며, 따라서 보상 제도는 폐지되어야만 합니다. 우리가 이 사실을 공개적이고 큰 목소리로 알리는 이유는, 우리 모두가 이 새로운 시대에 양호한 거버넌스를 확립하기 위한 새로운 방법을 찾아야 하며, 서로에게서 배워야 한다고 믿기 때문입니다. 이 글이 그 대화에 대한 우리의 기여가 되기를 바랍니다.
우리가 이 프로그램을 시작한 이유
우리가 이 프로그램을 시작한 이유는, 세계에서 가장 신뢰할 수 있는 소프트웨어 중 하나로 알려진 SQLite를 다시 작성(rewriting)하고 있었기 때문입니다. 커뮤니티는 이러한 야심 찬 프로젝트에 높은 기준을 요구하며, 우리는 SQLite의 전설적인 안정성과 일치하거나 능가할 수 있도록 막대한 노력을 투자하고 있습니다.
Turso는 기본적으로 결정론적 시뮬레이터(Deterministic Simulator), 다양한 퍼저(Fuzzer) 모음, SQLite를 대상으로 하는 오라클 기반 차등 테스팅 엔진, 동시성 시뮬레이터를 제공하며, 그 위에 Antithesis에서 광범위한 테스트를 실행하고 있습니다. 우리는 테스트 원칙을 매우 중요하게 생각합니다. 그리고 우리의 이러한 자신감을 알리고 싶었습니다.
반면, 이 모든 테스트 인프라는 결국 소프트웨어일 뿐이며 완벽하지 않습니다. 세상의 모든 퍼저와 시뮬레이터를 작성할 수 있지만, 실제로 생성되는 조합 내에서만 버그를 포착할 수 있습니다. 예를 들어, 퍼저가 인덱스를 생성하지 않는다면, 시스템의 나머지 부분을 얼마나 잘 스트레스 테스트하든 상관없이 정의상 인덱스와 관련된 버그를 발견할 수 없습니다.
실제 사례로, 우리는 1GB보다 큰 데이터베이스에서만 나타나는 버그를 발견했는데, 매 실행 시마다 적극적으로 결함(Fault)을 주입했기 때문에 데이터베이스가 버그를 트리거할 만큼 커지기 전에 테스트가 종료되곤 했습니다.
자동화된 테스트의 가장 큰 장점은, 테스트 생성기를 개선하면 버그가 검증을 통과하더라도 전체 버그 클래스가 사라진다는 것입니다. 따라서 우리는 이 프로그램이 두 가지 목적을 달성하는 훌륭한 방법이라고 구상했습니다. 이는 우리가 테스트 방법론에 가지고 있던 자신감을 확립하는 데 도움을 주었지만, 동시에 누군가 우리 시뮬레이터가 잘 다루지 못하는 영역을 발견한다면 기꺼이 그 대가를 지불할 준비가 되어 있었습니다!
우리는 Turso의 1.0 버전을 출시할 때까지 데이터 오염으로 이어지는 버그에 대해 1,000달러의 보상을 제공하는 것으로 프로그램을 시작했습니다. 우리의 계획은 1.0 버전에 도달하면 보상의 규모를 상당한 수준으로 점진적으로 늘리고, 보상할 이슈의 범위도 확대하는 것이었습니다.
'싱귤래리티(Singularity)' 이전에는, 이 방식이 훌륭했습니다
우리는 이 프로그램에 만족했습니다. 총 5명에게 보상금을 지급했으며, 상금을 받은 모든 사람은 놀라운 능력을 갖춘 분들이었습니다. 특히 알페렌(Alperen)의 작업을 돋보이게 할 만한데, 그는 실제로 우리 시뮬레이터의 핵심 기여자 중 한 명이었습니다 (따라서 개선할 수 있는 부분을 몇 가지 알고 있는 것은 당연한 일이었습니다). 그리고 미카엘(Mikael)은 LLM(대형 언어 모델)을 매우 창의적인 방식으로 사용해 시뮬레이터가 닿지 않는 영역을 찾아내기도 했습니다 (우리는 나중에 미카엘을 고용했습니다).