GitHub가 2026년 10월 13일(현지시간) 비밀키 탐지(secret scanning)에 문맥을 읽는 분류 모델을 적용했다고 밝혔다. 정규식으로 후보 문자열을 먼저 뽑고, 미세 조정한 ModernBERT 모델이 실제 비밀키인지 가려내는 두 단계 구조다. GitHub는 이전 LLM 기반 파이프라인과 비교해 저장소 소유자 가중 승인율이 11.5% 높고, 푸시 후 스캔의 중앙 실행 시간이 86% 짧아졌다고 설명했다. 승인율은 탐지된 경고를 고객이 받아들인 비율을 저장소 소유자별로 가중한 값이다. 이 결과는 고객 A/B 실험에서 나왔다.
서빙 비용은 원격 LLM 호출 방식보다 98% 넘게 낮다고 GitHub는 밝혔다. 모델이 작고 GitHub의 추론 인프라에서 효율적으로 돌아가기 때문이다. 속도가 빨라져 일반(generic) 비밀키 탐지를, 개발자가 푸시하기 전에 결과를 돌려주는 푸시 보호(push protection)에도 적용할 수 있게 됐다.
GitHub 비밀키 스캔은 두 시점에 작동한다. 푸시 보호는 변경 사항을 서버가 받기 전에 검사해 개발자가 먼저 조치하게 한다. 푸시 후 스캔은 커밋된 저장소 내용을 계속 훑어 의심 항목이 나오면 경고를 만든다.
접두어, 길이, 문자 구성, 체크섬이 뚜렷한 정형 자격 증명과 달리 일반 비밀키는 구문만으로 구별하기 어렵다. 빌드 ID, 체크섬, 에셋 해시, 예시 값과 모양이 겹치기 때문이다. 운영 데이터베이스 URL 옆에 놓인 비밀번호는 실제 자격 증명일 가능성이 높고, 테스트 픽스처 안의 같은 값이나 설치 안내서의 localhost 연결 문자열은 무해한 경우가 많다. 규칙을 더하면 일부 오탐은 줄지만 예외마다 진짜 비밀키를 놓칠 위험이 생긴다고 GitHub는 설명했다.
파이프라인은 네 단계다. 저장소 내용, 커밋, 풀 리퀘스트 등을 스캔하고, 정규식으로 키나 토큰처럼 보이는 후보를 넓게 모은다. 이어 ModernBERT 기반 인코더 분류기가 후보 값과 파일 경로, 변수 이름, 주변 코드를 함께 읽어 실제 비밀키일 가능성을 점수로 낸다. 신뢰도가 높은 항목만 경고가 되고, 자리표시자, 테스트 데이터, 체크섬 같은 항목은 걸러진다.
GitHub는 ModernBERT를 고른 이유로 크기가 작고 효율적이며 코드 주변 텍스트 분류에 맞는다는 점을 들었다. 이 단계는 짧은 후보 구간에 높은 처리량과 낮은 지연 시간으로 보정된 판단을 내려야 한다. GitHub는 이 모델이 후보를 주변 코드와 텍스트까지 함께 읽어, 자연어를 생성하는 데 드는 지연과 연산 부담 없이 LLM에 견줄 만한 문맥 이해를 준다고 밝혔다. 'example', 'dummy', 'fake', 'replace-me' 같은 단어에 둘러싸인 후보는 배포 파일의 환경 변수에 할당된 후보보다 위험이 낮을 수 있고, 모델은 이런 차이를 라벨 데이터로 배운다.
학습 데이터는 GitHub 저장소에서 나온 제품 기반 예시, 저장소 데이터에서 뽑은 재현율 높은 정규식 후보, 드문 사례를 겨냥한 합성 데이터를 섞었다. 제품 기반 예시는 비밀키 탐지 경험의 피드백과 추가 사람 검증을 거쳤다. 정규식 후보에는 사람이 주석을 단 예시와 범위를 넓히기 위한 약한 라벨(weak label)이 들어 있다. 합성 데이터는 문서 속 비밀키, 테스트 픽스처, 공개 키, 체크섬, 구조가 비슷한 모조 값, 거의 맞는 쌍(near-miss) 같은 사례를 다루며, 결정론적 검증과 모델 기반 품질 검토를 통과한 것만 넣었다.
모델 입력은 후보 값, 파일 경로, 비밀키 유형, 일정 범위의 주변 문맥이다. 출력은 스캐너가 후보를 다음 단계로 넘길지 정하는 분류 점수다. 학습은 실제 비밀키, 현실적인 오탐, 정규식이 자주 잡는 어려운 부정 사례(hard negative)에 집중했다. 구문은 비슷하지만 의미가 다른 후보를 넣어 비밀키의 생김새뿐 아니라 문맥 속 오탐의 생김새도 배우게 했다. 데이터를 나누기 전에 저장소, 후보 값, 예시가 같은 행을 묶어 비슷한 중복이 학습과 평가에 함께 들어가지 않게 했다.
임계값은 오프라인 평가로 정한 뒤 실제 트래픽과 비슷한 환경에서 검증하고, 그다음 더 넓은 롤아웃을 진행하는 절차를 밟는다. 목표는 재현율을 유지하거나 높이면서 오탐과 서빙 비용을 줄이는 것이었다. 학습한 모델은 8비트 양자화를 적용해 ONNX 형식으로 내보냈고, 빠른 추론이 가능하다.
평가는 두 단계로 했다. 같은 공개 트래픽에서 운영 기준선과 비교하는 오프라인 평가가 먼저였고, 이후 고객 A/B 실험으로 실제 효과를 확인했다. 오프라인 평가에서 푸시 후 스캔을 같은 공개 트래픽으로 비교했을 때 새 파이프라인은 이전 LLM 파이프라인보다 정밀도가 13%, 재현율이 19% 높았다. 이 수치는 고객 A/B 실험에서 나온 승인율 11.5%, 스캔 시간 86%와 측정 기준이 다르다.
출처
이 기사는 아래 자료를 바탕으로 정리했습니다. 제목을 누르면 원문이 새 창으로 열립니다.