
AI로 19개의 OSS를 1주일간 감사하여 64개의 PR을 만들어낸 OpenAI Patch the Planet
요약
OpenAI와 Trail of Bits가 협력하여 OSS 취약점을 탐지하고 패치를 생성하는 'Patch the Planet' 프로젝트를 진행했습니다. AI가 생성하는 대량의 오탐(False Positive) 문제를 해결하기 위해 인간 엔지니어의 리뷰와 워크플로우를 결합한 운영 모델을 제시합니다.
핵심 포인트
- 19개 주요 OSS 프로젝트를 대상으로 1주일간 64개의 PR 생성
- AI의 높은 오탐율로 인한 메인테이너의 부담을 줄이는 워크플로우 설계
- 인간 엔지니어의 1차 리뷰와 모니터링 봇(Patchy)을 통한 검증 프로세스
- GPT-5.5-Cyber 및 Codex 모델을 활용한 보안 에이전트 운영
프론티어 모델 (Frontier Model)이 소프트웨어의 취약성을 '찾아내는' 것은 이제 어렵지 않다. 어려운 것은 그 이후다. AI가 쏟아낸 수백 건의 지적 중 진짜는 무엇이고, 오탐 (False Positive)은 무엇인가. 그것을 분류할 인간의 시간이 부족하다. OSS 메인테이너 (Maintainer)의 대부분은 무보수 자원봉사자로, 이미 산더미 같은 이슈 (Issue)에 쫓기고 있다. 거기에 AI가 "취약성일지도 모릅니다"를 대량으로 투하한다면, 보안은 좋아지기는커녕 노이즈에 파묻혀 악화될 수도 있다.
6월 22일에 움직이기 시작한 OpenAI와 Trail of Bits의 Patch the Planet이 흥미로운 점은, 새로운 모델을 자랑하는 이야기가 아니라, 이 "찾은 뒤의 병목 현상"을 운영으로 어떻게 해결할지에 정면으로 대응하고 있다는 점이다. 1차 정보는 Trail of Bits 측의 블로그에 상당히 구체적으로 적혀 있다.
Patch the Planet은 OpenAI가 5월에 시작한 사이버 보안을 위한 시책 「Daybreak」의 일환으로, 보안 기업인 Trail of Bits와 협력하여 진행한다. 하는 일은 심플하다. 중요한 OSS에 AI를 적용하여 취약성을 찾아내고, 인간 엔지니어가 리뷰한 뒤 메인테이너에게 패치 (Patch)로서 전달한다.
첫 1주일간의 수치를 Trail of Bits는 다음과 같이 보고하고 있다.
| 항목 | 1주차 실적 |
|---|---|
| 대상 프로젝트 | 19 |
| ... | |
| 대상에는 cURL, NATS, pyca/cryptography, Sigstore, aiohttp, Go, freenginx, Python, python.org, urllib3, PyPI, Valkey, RustCrypto 등 거의 모든 엔지니어가 간접적으로 의존하고 있는 기반 기술들이 나열되어 있다. 발표 후에는 추가로 30개 이상의 프로젝트가 참가했다고 한다. 사용된 모델은 OpenAI가 자사에서 가장 사이버 능력이 높다고 위치시키는 GPT-5.5-Cyber와 에이전트 실행 환경인 Codex이다. |
여기서 주의해야 할 점은, 보도에 따라 "대상은 8개 프로젝트"라고 하는 기사와 "19개 프로젝트"라고 하는 기사가 혼재되어 있다는 것이다. OpenAI 측의 공지가 초기 대표적인 서브셋 (Subset)을 언급하고, Trail of Bits 측이 실제로 착수한 전체를 세고 있는 차이로 보인다. 실제 수치로 파악하자면, 직접 움직인 당사자인 Trail of Bits의 19라는 숫자가 확실해 보인다.
이取り組み (시도)의 핵심은 Trail of Bits 스스로가 인정하는 한 문장에 나타나 있다.
프론티어 모델은 취약성을 찾는 것도 패치를 쓰는 것도 매우 잘하지만, 동시에 대량의 오탐을 생성하여, 이미 여력이 없는 메인테이너의 부담을 늘려버린다.
그래서 설계의 무게 중심은 "얼마나 많이 찾을 것인가"가 아니라 "어떻게 메인테이너에게 전달되기 전에 걸러낼 것인가"에 놓여 있다. 엔지니어가 지적 사항을 1차 리뷰하고, 중복 제거, 오탐 필터, 심각도 보정, 패치 생성까지 거친 후에 전달한다. 사내에는 Patchy라는 모니터링 봇을 두어, 어떤 지적이 어떤 패치로 머지 (Merge)되었는지를 추적하고 있다. AI의 출력을 그대로 던지지 않는다, 라는 당연한 일을 워크플로우 (Workflow)로 굳힌 것이다.
개인적으로 이 부분이 가장 실무에 유용하다고 생각한다. AI 보안 도구를 자신의 리포지토리 (Repository)에 넣고 "지적이 너무 많아서 운영이 돌아가지 않는다"라고 느낀 사람은 적지 않을 것이며, 문제는 모델의 똑똑함이 아니라 출력을 받아들이는 쪽의 구조였다. Patch the Planet은 그 구조를 프로덕트 (Product)화하려고 하고 있다.
여기서부터는 독자가 자신의 프로젝트에 가져갈 수 있는 이야기다. Trail of Bits는 오탐을 줄이는 데 효과적이었던 구체적인 방안으로, 리포지토리에 AGENTS.md와 같은 설명 파일과 명시적인 위협 모델 (Threat Model)을 두는 것을 꼽고 있다. pyca/cryptography에서는 기존의 보안 문서가 노이즈 제거에 "극적으로 효과가 있었다"고 한다.
생각해 보면 일리가 있다. "이 코드에서는 무엇이 공격 면 (Attack Surface)이고, 무엇은 설계상 의도적으로 그렇게 한 것인가"를 모델에게 사전에 알려두면, 예상 범위 내의 동작을 취약성으로 오인할 확률이 낮아진다. 이미지는 다음과 같은 정도다.
# AGENTS.md (보안 문맥의 예)
## 신뢰 경계 (Trust Boundary)
- 외부 입력: HTTP 요청 헤더, Cookie, 업로드 파일
...
실제로 효과를 거둔 사례도 구체적이다. aiohttp에서는 Cookie의 스코프(Scope) 문제나 다이제스트 인증(Digest Authentication)의 자격 증명 오리진 검증 등 8건의 수정 사항이 5시간 정도 만에 머지(Merge)되었으며, pyca/cryptography에서는 타 라이브러리와의 차분 테스트(Differential Testing)를 통해 AES-GCM의 버그를 발견했다. python.org에는 zizmor에 의한 CI 스캔이나 SBOM 첨부가 포함되었다. 단발적인 지적으로 끝나지 않고, 퍼징 하네스(Fuzzing Harness)나 CVE 변종 분석 파이프라인와 같은 "재사용 가능한 메커니즘"을 남겨두고 있다는 점이 이 시도의 또 다른 특징이다. 상징적인 것은 GPT-5.5-Cyber가 새니타이저 빌드(Sanitizer Build)와 seed 코퍼스(Corpus)를 포함한 퍼징 환경 일체를 하루 미만 만에 구축했다는 이야기로, Trail of Bits는 숙련자라도 수작업이라면 2~3주가 걸릴 것이라고 추정하고 있다.
다만, 무조건적으로 환영할 만한 이야기는 아니다. OpenAI가 Daybreak에서 보여준 데모에는 GPT-5.5-Cyber가 Linux 커널의 3,000만 행 이상을 분석하여, 커널 포인터(Kernel Pointer) 정보 유출 PoC 8개와 로컬 권한 상승(LPE) 익스플로잇(Exploit) 24개를 "자동 생성했다"는 내용이 포함되어 있다. Codex Security는 dnsmasq의 CVE 4건을 외부 수정(2.92rel2) 이전에 패턴으로 탐지했으며, Chrome V8에서 5건, Safari WebKit에서 10건 이상의 취약점도 찾아낸 것으로 알려졌다.
방어에 사용할 수 있는 것은 당연히 공격에도 사용할 수 있다. 24개의 LPE 익스플로잇을 작성할 수 있는 능력은 패치를 작성하는 능력과 맞닿아 있다. 그렇기에 "반드시 인간의 리뷰를 거친다", "메인테이너와 협력적으로 공개한다"라는 운영상의 제약이 기술 그 자체만큼이나 중요해진다. Patch the Planet이 지적된 개수가 아닌 머지된 패치 수를 성과로 강조하는 것은 그러한 자각의 표현일 것이다.
구도로 보면, 이는 OpenAI의 Daybreak가 Anthropic의 Project Glasswing에 대항하여 진행하고 있는 것이며, 프론티어 랩(Frontier Lab)의 경쟁 축이 "똑똑한 채팅"에서 "보안 연구를 어디까지 자동화할 수 있는가"로 확장되었음을 보여준다. 모델의 성능 비교표에 일희일비하는 국면은 이제 서서히 뒤로 물러나고 있다. 실제로 효과가 있는 것은 AI의 대량 출력을 신뢰할 수 있는 성과로 변환하는 운영 체계를 구축하는 것이다. 자신의 리포지토리에 AI 보안을 도입하기 전에, 먼저 위협 모델(Threat Model)과 AGENTS.md를 작성하라. Patch the Planet에서 얻을 수 있는 교훈은 의외로 그런 담백한 곳에 있다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기