AI VIDEO BRIEFING
AI 취약점 탐지 강화학습 환경 설계: 감사 과제와 크롬 V8 익스플로잇 실험 결과
카네기멜런대 데이비드 브럼리 교수가 보안 과제를 강화학습 환경으로 옮기는 설계 원칙을 정리하고, 크롬 V8 취약점 41건에 프런티어 모델을 붙여 크래시가 아니라 샌드박스 탈출까지 되는지 시험한 결과를 공개했다.

핵심 메시지
쉽게 이해하기
카네기멜런대 교수이자 버그크라우드의 AI·과학 책임자인 데이비드 브럼리가 AI 엔지니어 행사에서 보안 과제를 강화학습 환경으로 옮기는 방법을 발표했다. 그는 20년 넘게 해킹 교육을 해 온 사람으로, 매년 고교생 약 100만 명이 참가하는 해킹 대회 picoCTF를 만들었다. 그의 주장은 단순하다. 사람에게 해킹을 가르쳐 성공한 방식이 모델에게도 그대로 통한다는 것이다.
근거로 든 사례는 2016년 picoCTF 순위표에 갑자기 나타난 17세 참가자다. 수학 경시대회에 흥미를 잃고 보안으로 넘어온 이 학생은 문제를 보고 필요한 지식을 검색해 읽고 남들의 풀이를 흉내 내는 과정을 쉬운 문제부터 어려운 문제로 단계를 올리며 반복했다. 대회에서 2위를 한 뒤 2년 만에 정상급 해킹 대회 Pwn2Own에서 테슬라를 뚫었고, 상금 37만 5천 달러와 차량을 받았다. 브럼리는 이 '사다리 오르기'가 곧 강화학습 커리큘럼이라고 본다.
그가 말하는 두 축은 이렇다. 하나는 표적 난이도로, 장난감 프로그램에서 CTF·합성 문제를 거쳐 실전에서 단단히 방어된 소프트웨어로 올라간다. 다른 하나는 익스플로잇 난이도로, 버그 위치를 찾는 단계에서 크래시를 유발하는 단계, 메모리를 임의로 읽고 쓰는 단계, 마지막으로 임의 코드 실행까지 이어진다. 환경은 컨테이너로 묶어 재현성을 확보하고, 모델에는 MCP로 문제 정의를 받는 함수와 샌드박스 안의 읽기·쓰기 도구, 그리고 채점 오라클만 노출한다.
여기서 그가 가장 강하게 경고한 부분이 채점이다. 보안에서는 LLM을 심판으로 쓰면 안 된다. 모델은 자기가 해킹에 성공했다고 거의 항상 답하기 때문이다. 그래서 단계마다 결정론적 오라클을 둔다. 프로그램이 실제로 죽었는가, 제어 흐름이 실제로 탈취되어 계산기 같은 외부 프로그램이 떴는가처럼 기계가 판정할 수 있는 조건이어야 한다. 그리고 '취약점을 찾아라'가 아니라 '찾아서 익스플로잇하라'고 요구해야 환각과 실제 발견을 구분할 수 있다.
더 근본적인 문제는 기존 벤치마크가 대상 프로그램에 취약점이 하나뿐이라고 가정한다는 점이다. 현실의 프로그램은 그렇지 않다. 브럼리는 다르파가 6천만 달러를 들여 문제를 손수 설계한 사이버 그랜드 챌린지에서도 절반의 문제에 의도하지 않은 취약점이 섞여 있었고, 지난해 데프콘에서 열린 AIxCC에서도 18건이 출제자가 모르던 버그였다고 밝혔다. 그의 해법은 문제 정의를 바꾸는 것이다. 모델에게 모든 취약점을 찾아 제출하게 하고, 스택 역추적으로 서로 다른 버그를 구분한 뒤, 알려진 것 대비 찾은 비율과 제출한 것 대비 맞힌 비율을 함께 점수화한다.
발표 후반은 실제로 어디까지 되는지를 잰 실험이다. 표적은 크롬의 자바스크립트·웹어셈블리 엔진 V8이었다. V8은 엣지와 Node.js, 클라우드플레어의 엣지 워커까지 떠받치는 데다 샌드박스 안에서 크래시가 나는 것은 정상 동작으로 취급되기 때문에, 의미 있는 공격이 되려면 여러 취약점을 엮어 샌드박스를 빠져나와야 한다. 연구진은 능력을 16단계로 나눈 사다리를 만들고, 크롬 보안 담당자가 검증한 취약점 41건에 프런티어 모델을 붙였다.
주요 인사이트
- 무엇을 재느냐가 무엇을 배우느냐를 결정한다. 크래시 유발만 채점하면 상위 모델은 41건 중 39건을 성공해 95%를 찍고 작은 모델도 절반을 맞히지만, 임의 코드 실행까지 요구하자 최상위 모델 73%, 그다음 68%, 지미니·키미 계열은 0%로 갈렸다.
- 모델에 취약한 함수의 역추적을 미리 알려 주는 방식은 채점을 쉽게 만드는 대신 모델이 프로그램을 추론할 이유를 없앤다. 답을 가리켜 주면 그 함수 하나만 문맥에 넣고 끝내기 때문에 추론 능력이 자라지 않는다.
- 결과가 암기가 아니라는 근거로 브럼리는 구체적 사례를 들었다. 한 모델은 전문가들이 실무적으로 불가능하다고 여기던 경로, 즉 자바스크립트 난수 생성기를 역산해 포인터를 위조하는 방식으로 우버케이지 익스플로잇을 만들었고, 공개된 익스플로잇이 없던 웹어셈블리 취약점도 뚫었다.
- 가장 성적이 좋은 모델의 실행 기록은 공개되지 않았다. 비공개 계약 때문이기도 하지만, 공개된 적 없는 무기화된 익스플로잇을 모델이 만들어냈기 때문이다. 공개 과학과 공개 위험 사이의 이 딜레마에 대해 발표자도 답이 없다고 말했다.
- 보안 강화학습에 특별한 마법은 없다는 것이 결론이다. 필요한 것은 올바른 오라클을 설계할 실제 전문가, 그리고 실행 기록을 되짚어 모델이 암기했는지 보상을 해킹했는지 확인하는 사람의 손이다.
자주 묻는 질문
왜 LLM을 심판으로 쓰면 안 된다고 하나?
발표자는 보안 과제에서 LLM 심판은 거의 항상 자신이 해킹에 성공했다고 판정하기 때문에 신뢰할 수 없다고 말한다. 대신 크래시가 실제로 났는지, 제어 흐름이 실제로 탈취됐는지처럼 기계가 확정할 수 있는 결정론적 오라클을 단계마다 두고, 여러 버그를 구분할 때는 스택 역추적을 쓴다.
'모든 취약점을 찾아라'로 질문을 바꾸면 무엇이 달라지나?
모델이 증거가 되는 입력을 여러 개 제출할 수 있게 되고, 출제자가 몰랐던 버그도 사후에 정답 집합에 편입할 수 있다. 채점은 알려진 것 중 몇 개를 찾았는지와 제출한 것 중 몇 개가 진짜였는지를 함께 보기 때문에, 쉬운 버그만 반복 제출하거나 아무거나 무더기로 내는 전략이 모두 손해가 된다.
크롬 V8을 표적으로 고른 이유는?
V8은 크롬뿐 아니라 엣지, Node.js, 클라우드플레어 엣지 워커까지 떠받치고 공격자가 악성 웹페이지로 자바스크립트를 직접 흘려 넣을 수 있어 가치가 크다. 또 샌드박스 내부의 크래시는 정상 동작으로 취급되므로, 실제 공격이 되려면 취약점을 엮어 샌드박스를 탈출해야 해 모델의 실력 차가 드러난다.
원문과 출처
이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.
YouTube 원본 영상 보기 ↗