신기한 Hacker News · 2026-10-23

시험 문제 43개만 달달 외워온 DB 벤치마크 대형 치팅 적발 사건

핵심 요약
  • 데이터베이스 성능 벤치마크 '클릭벤치'에서 pgrust 프로젝트가 시험 전용 하드코딩 부정행위로 퇴출되었습니다.
  • 일반 쿼리는 에러를 뿜으며 거부하고 오직 벤치마크 43개 쿼리만 전용 커널과 결과 캐시로 돌아가도록 조작된 사실이 드러났습니다.
  • 바이너리 분석 결과 쿼리 번호가 적힌 전용 코드들이 발견되었으며, DB가 아니라 벤치마크 전용 룩업 테이블 수준이라는 비판을 받았습니다.
요약 데이터베이스 벤치마크 테스트에서 믿기 힘든 수준의 '시험 문제 맞춤형 치팅'이 발각되어 개발자 커뮤니티에서 큰 논란이 일고 있습니다. 오픈소스 분석용 DB 성능 측정 프로젝트인 '클릭벤치(ClickBench)'에서 pgrust라는 프로젝트의 벤치마크 등록을 박탈하는 풀 리퀘스트(PR)가 제출되었습니다. 적발 내용에 따르면 pgrust는 데이터베이스 전반의 성능을 측정한 것이 아니라, 오직 클릭벤치의 43개 특정 쿼리만을 통과하기 위해 조작된 '치팅 머신'에 불과했습니다. 배포 바이너리를 분석한 결과 내부에는 'q00.rs', 'q01.rs'처럼 클릭벤치 쿼리 번호가 그대로 붙은 전용 하드코딩 커널들이 들어있었으며, 환경 변수 이름마저 노골적으로 특정 쿼리를 가리키고 있었습니다. 벤치마크 쿼리 SQL 원문 역시 바이너리 내에 그대로 포함되어 있었습니다. 더 황당한 것은 일반적인 쿼리 처리 기능이 아예 없다는 점입니다. 43개 벤치마크 쿼리에서 조금만 벗어난 평범한 SQL(예: 단순 문자열 길이 측정, 기본 사칙연산, 최소값 조회 등)을 실행하면 에러를 뿜으며 실행 자체를 거부했습니다. 또한 성능을 극단적으로 끌어올리기 위해 결과 캐시를 악용하여 핫 런(반복 실행)에서는 이전 실행 결과를 그대로 재생하는 방식으로 몇 밀리초 만에 응답을 뱉어내는 꼼수를 썼습니다. 클릭벤치 측은 43개 쿼리의 반환값 자체는 일치하지만, 이는 실제 범용 데이터베이스 엔진을 측정한 것이 아니라 벤치마크 문제지를 통째로 암기한 룩업 테이블을 측정한 것에 불과하다며 룰 위반으로 퇴출 조치를 진행했습니다. 전형적인 '시험 맞춤형 부정행위'가 엔지니어링 영역에서 적나라하게 드러난 사례입니다.
Sponsored · 광고