Anthropic은 Project Glasswing에서 Claude로 취약점을 찾아낸 경험을 바탕으로, 오픈소스 생태계를 위한 참여형 취약점 스캐너 OSS Scanner를 선보입니다. 참여를 신청한 프로젝트는 Anthropic의 가장 강력한 모델이 정기적으로 수행하는 정밀 보안 스캔을 무료로 받을 수 있습니다.
그동안 이 블로그에서 여러 차례 소개해 드렸듯이, 언어 모델의 취약점 탐지 능력은 빠르게 발전했습니다. 학계의 취약점 탐지 벤치마크인 CyberGym에서 LLM이 찾아낸 취약점 비율은 작년 초 20% 미만이었지만 올해는 85%를 넘어섰습니다. 그 결과 오픈소스 메인테이너가 LLM에서 받는 보고도 대부분 쓸모없는 결과물에서 품질 높은 버그 리포트로 바뀌었습니다.
지난 6개월 동안 Anthropic은 최신 모델로 세계에서 가장 중요한 소프트웨어 프로젝트 여럿을 스캔했습니다. 그 결과 2만 9,000건이 넘는 취약점 후보를 발견했지만, 사람이 직접 검토하고 분류한 것은 약 6,000건에 그쳤습니다. 6,000건도 적은 수는 아니지만, 결과를 검증할 사람의 역량이 여전히 병목입니다.
Anthropic은 취약점 공개 규모를 늘리기 위해 노력하고 있습니다. 한편 첫 보고를 받은 메인테이너들이 검증되지 않은 보고서까지 패치 제안과 함께 한꺼번에 보내 달라고 요청하는 경우가 점점 늘고 있습니다. 지금까지 검증 여부와 관계없이 가진 것을 전부 달라는 요청을 받고 메인테이너에게 직접 전달한 보고서만 5,000건에 가깝습니다. 이제 익스플로잇을 몇 분 만에 만들 수 있는 만큼, 취약점을 더 빨리 찾아 대응하는 프로젝트가 같은 약점을 노리며 경쟁하는 공격자로부터 소프트웨어를 더 잘 지킬 수 있습니다.
사람이 검증한 취약점 보고서는 앞으로도 기존 조율된 취약점 공개(CVD) 절차에 따라 직접 전달할 예정이며, 보고서를 스스로 분류할 여력이 없는 프로젝트에는 특히 그렇게 하겠습니다. 다만 취약점 보고서를 나오는 즉시 받아 보고 싶은 프로젝트를 위해 선택형 패스트트랙도 새로 마련했습니다.
퍼저(fuzzer)로 오픈소스 소프트웨어의 취약점을 찾는 Google의 OSS-Fuzz가 오픈소스 생태계에 긍정적인 영향을 준 데서 영감을 얻어, Anthropic은 가장 강력한 언어 모델로 오픈소스 코드의 취약점을 찾는 OSS Scanner를 출시합니다. 일반에 공개된 코드 스캔·패치 제품인 Claude Security가 기업의 시스템 방어를 돕는 데 초점을 맞춘다면, OSS Scanner는 오픈소스 프로젝트에 보안 감사를 무료로 제공합니다.
이 참여형 취약점 스캐너의 결과물은 사람의 검토나 분류 없이 모델이 전부 생성합니다. 덕분에 더 빠르고 더 자주 스캔할 수 있지만, 보고서가 틀렸거나 유효하지 않을 가능성도 있습니다. 오픈소스 프로젝트가 방어에서 가장 큰 이점을 얻을 수 있도록, 보고서는 Claude Mythos를 비롯한 가장 강력한 모델이 생성합니다.
Anthropic은 지난 몇 주 동안 수십 개 오픈소스 프로젝트와 함께 이 파이프라인을 검증했습니다. 초기 공개에서 수백 건의 버그 리포트가 나왔고, 그중에는 여러 취약점을 연결해 인증 없는 원격 코드 실행 익스플로잇으로 이어 가는 데 성공한 사례도 있었습니다. 각 보고서에는 독립적으로 실행 가능한 재현 코드, 취약점 설명(가능하면 버그가 언제 유입됐는지 찾아낸 이분 탐색 결과 포함), 그리고 가능한 경우 수정 방법을 담은 패치 후보가 들어 있습니다. 이제 이 서비스를 더 많은 오픈소스 프로젝트에 제공합니다.
OSS Scanner 초기 버전과 모델 원본 출력을 테스트한 프로젝트들의 피드백을 일부 소개합니다.
OSS Scanner 초기 버전을 검증하기 위해, CVD 결과를 검토하는 전문 침투 테스터들에게 48개 프로젝트에서 스캐너가 찾은 치명적·고위험 취약점 97건의 확인을 맡겼습니다. 이 중 85건(88%)이 CVD 절차의 기준을 충족했습니다. 나머지 12건 가운데 11건은 실제 문제였지만 이미 알려진 이슈이거나 같은 스캔의 다른 결과와 중복이었고, 유효하지 않은 이른바 '오탐(false positive)'은 단 한 건이었습니다. 이후 이 결과 중 상당수를 메인테이너에게 전달했는데, 이전 오픈소스 작업 때와 마찬가지로 고위험·치명적 결과가 유효하지 않다고 알려 온 경우는 드물었습니다. 심각도 등급이 과하게 매겨졌거나 스캐너가 프로젝트의 위협 모델을 잘못 이해했다는 의견은 일부 있었습니다. 스캐너가 완벽하다고 장담할 수는 없지만, 메인테이너의 피드백과 모델 개선을 반영해 시스템을 계속 다듬겠습니다.
참여 대상 프로젝트의 핵심 메인테이너는 표준 프로젝트 템플릿에 맞춰 이 GitHub 저장소에 PR을 제출해 신청할 수 있으며, 자세한 안내는 상세 FAQ에서 확인하실 수 있습니다. 참여 자격은 OSS-Fuzz와 비슷한 기준을 따릅니다. 간단히 말해 “인프라와 사용자 보안에 중대한 영향을 미치는” 프로젝트여야 하며, 개별 사례별로 판단합니다.
OSS Scanner가 맞든 맞지 않든, 새로 선보이는 Cyber Verification Program을 통해 자격을 갖춘 보안 전문가는 고급 사이버 보안 기능을 이용할 수 있고 차단 분류기도 덜 적용받습니다. Claude for OSS는 취약점을 해결하고 오픈소스 프로젝트를 개선하는 데 쓸 수 있도록 Claude Max 20x 구독을 무료로 제공합니다.