본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

CyberGym(사이버짐)은 실제 오픈소스 소프트웨어의 보안 취약점을 활용하여 인공지능 에이전트의 취약점 분석 및 재현 능력을 평가하는 사이버보안 벤치마크이자 자동화된 평가 프레임워크이다.

CyberGym은 미국 캘리포니아 대학교 버클리(UC Berkeley) 연구진 등이 개발한 사이버보안 평가 프레임워크이다. 인공지능(AI) 에이전트가 실제 소프트웨어의 소스코드를 분석하고, 알려진 취약점을 재현할 수 있는지 측정하기 위해 개발되었다.

2025년 6월 최초 논문이 공개되었으며, 2026년 국제학습표현학회(ICLR 2026)에서 연구 결과가 발표되었다.[1][2]

기존의 사이버보안 평가가 CTF 문제나 인위적으로 구성된 공격 환경을 활용하는 경우가 많은 데 비해, CyberGym은 실제 오픈소스 프로젝트에서 발견되어 수정된 취약점을 평가 과제로 사용한다.

  • 개발 기관: UC Berkeley 중심의 공동 연구진
  • 최초 공개: 2025년 6월
  • 평가 대상: 대형 언어 모델(LLM) 기반 AI 에이전트 및 자동화된 취약점 분석 시스템
  • 주요 평가 능력: 취약점 분석, 취약점 재현, PoC 생성
  • 평가 규모: 188개 오픈소스 프로젝트의 실제 취약점 1,507건
  • 공식 웹사이트: https://www.cybergym.io/cybergym/
  • 소스코드: https://github.com/sunblaze-ucb/cybergym

2026년 10월 기준 공식 웹사이트에서는 모델과 에이전트 시스템의 평가 결과를 비교하는 리더보드를 운영하고 있다.[3]

평가 데이터셋

편집 원본 편집

CyberGym의 평가 데이터는 구글이 운영하는 오픈소스 소프트웨어 퍼징 프로젝트인 OSS-Fuzz에서 수집한다.

연구진은 실제로 발견되어 수정된 취약점의 수정 커밋을 추적하여 취약점이 존재하던 이전 버전과 수정된 이후 버전의 소스코드를 확보한다.

각 평가 인스턴스에는 다음과 같은 자료가 활용된다.

  • 취약점이 존재하는 소프트웨어의 소스코드
  • 해당 취약점의 설명
  • 취약점 수정 이전 및 이후의 코드 버전
  • 소프트웨어를 빌드하고 실행할 수 있는 환경
  • 실제 취약점을 재현하는 정답 PoC
  • 취약점 수정 패치

평가 데이터의 품질을 확보하기 위해 취약점 설명이 불충분한 사례를 제외하고, 실제로 취약점이 재현되는지 확인하며, 중복된 취약점을 제거한다.[4]

이 과정에서 정답 PoC와 수정 패치는 평가 및 검증에 사용되며, 에이전트에 제공되는 정보는 평가 유형에 따라 제한된다.

CyberGym은 에이전트가 실제 취약점을 재현하는 데 성공했는지를 중심으로 성능을 측정한다.

공식 리더보드의 Level 1 평가에서는 에이전트에 다음 두 가지를 제공한다.

  1. 취약점에 대한 자연어 설명
  2. 취약점 수정 이전의 소스코드

에이전트는 제공된 정보를 바탕으로 소스코드를 탐색하고 취약점의 발생 조건을 분석한 뒤, 해당 취약점을 실제로 발생시키는 PoC 입력이나 테스트를 생성해야 한다.

평가 과정에서는 에이전트가 코드를 분석하고, 테스트를 실행하고, 실행 결과를 확인하면서 입력을 반복적으로 개선할 수 있다.

생성된 PoC가 실제 취약점을 재현하는 경우 성공으로 판정한다.[3]

성공 여부 검증

편집 원본 편집

평가 시스템은 취약점 수정 전후의 실행 결과를 비교하여 PoC의 유효성을 검증한다.

일반적인 검증 조건은 다음과 같다.

  • 취약점이 존재하는 버전에서 해당 PoC가 오류를 발생시킨다.
  • 수정된 버전에서는 동일한 취약점이 재현되지 않는다.
  • 실행 결과가 평가 대상 취약점과 대응되는지 확인한다.

메모리 오류 등의 탐지에는 AddressSanitizer와 같은 새니타이저가 활용된다.

이처럼 에이전트가 제출한 설명이나 코드의 외형만 평가하는 것이 아니라 실제 프로그램 실행 결과를 검증한다는 특징이 있다.[1]

CyberGym에서 대표적으로 사용하는 지표는 취약점 재현 성공률(Success Rate)이다.

성공률은 전체 평가 인스턴스 가운데 에이전트가 유효한 PoC를 생성하여 취약점을 재현한 인스턴스의 비율로 계산한다.

공식 리더보드에서는 평가 조건에 따라 다음 요소도 함께 표시한다.

  • Trials: 개별 인스턴스에 허용된 시도 횟수
  • Dynamic: 취약한 실행 환경에서 실제 실행과 검증을 수행하는 방식
  • Test-time memory: 평가 과정에서 갱신되는 지식이나 메모리를 활용하는 방식

복수의 시도가 허용된 경우 어느 한 번이라도 성공하면 해당 인스턴스를 성공으로 집계한다.

따라서 성공률을 비교할 때에는 시도 횟수, 실행 환경, 외부 도구 및 메모리 활용 조건을 함께 확인해야 한다.[3]

주요 연구 결과

편집 원본 편집

CyberGym 연구진은 실제 오픈소스 취약점을 대상으로 한 평가를 통해 AI 에이전트의 취약점 재현 능력을 측정했다.

연구 과정과 후속 평가에서 에이전트가 기존에 알려지지 않았던 취약점을 새롭게 발견하는 사례도 확인되었다.

2026년 10월 기준 공식 웹사이트에서는 CyberGym 관련 에이전트들이 총 34건의 제로데이 취약점과 과거 패치가 불완전했던 사례 18건을 발견했다고 소개하고 있다.[3]

다만 이는 벤치마크에서 사용한 에이전트들이 수행한 추가 발견 사례이며, 1,507개 평가 과제에 대한 취약점 재현 성공률과는 별도로 구분해야 한다.

CyberGym의 평가 성적은 AI 모델 자체의 성능뿐 아니라 에이전트의 실행 전략, 도구 사용, 테스트 반복 횟수 및 자원 예산에 영향을 받는다.

따라서 특정 시스템의 CyberGym 점수가 높다고 해서 해당 시스템이 모든 종류의 취약점을 탐지하거나 실제 침투 공격을 수행할 수 있다는 의미는 아니다.

관련 벤치마크

편집 원본 편집

CyberGym 연구진은 취약점 재현을 넘어 실제 공격 가능성과 취약점 수정 능력을 평가하기 위한 후속 벤치마크도 공개했다.

벤치마크 주요 평가 대상 평가 규모
CyberGym 알려진 취약점을 재현하는 PoC 생성 1,507건, 188개 프로젝트
ExploitGym 취약점을 실제 보안 침해로 연결하는 익스플로잇 생성 869개 평가 인스턴스
CyberGym-E2E 취약점 탐색부터 PoC 생성 및 패치까지의 전체 과정 920건, 139개 프로젝트

각 벤치마크는 서로 다른 능력을 평가하므로 성공률을 직접 비교하는 것은 적절하지 않다.[5]

ExploitGym은 AI 에이전트가 취약점을 실제 공격으로 연결할 수 있는지 평가하는 벤치마크이다.

CyberGym이 취약점을 재현하는 데 초점을 맞춘다면, ExploitGym은 재현 가능한 취약점으로부터 실제 보안 침해 효과를 달성하는 익스플로잇을 생성할 수 있는지 평가한다.

  • 평가 대상: 사용자 공간 프로그램, 웹 브라우저, 리눅스 커널
  • 평가 규모: 869개 인스턴스
  • 주요 평가 목표: 취약점을 활용한 비인가 코드 실행 등 실질적인 공격 효과 달성

연구진은 보안 방어 기법의 적용 여부를 달리하면서 AI 에이전트의 공격 성공 가능성을 분석했다.[6]

CyberGym-E2E(End-to-End)는 AI 에이전트가 취약점 발견부터 검증, 패치 작성까지 수행할 수 있는지 평가하는 확장 벤치마크이다.

2026년 공개되었으며 139개 오픈소스 프로젝트에서 수집한 취약점 920건을 활용한다.[7]

평가 단계는 다음과 같다.

단계 평가 내용
S1 생성된 PoC가 취약한 프로그램에서 오류를 발생시키는지 확인
S2 에이전트가 작성한 패치가 해당 오류를 해결하는지 확인
S3 패치 이후에도 기존 기능 테스트를 통과하는지 확인
S4 원래 평가 대상으로 지정된 취약점까지 해결되었는지 확인

각 단계는 이전 단계의 통과를 전제로 한다.

S1~S3을 통과하면 취약점을 발견하고 실제로 수정하는 데 성공한 것으로 평가하며, S4는 원래 지정된 취약점까지 해결했는지를 별도로 진단한다.

CyberGym-E2E는 모델이 발견한 취약점과 실제 데이터셋에 기록된 취약점이 서로 다를 가능성까지 고려한다.[8]

CyberGym은 실제 소프트웨어 취약점을 활용하지만 평가 범위에는 다음과 같은 제약이 있다.

  • 알려진 취약점 기반 평가: 기본 평가에서는 취약점 설명을 제공하므로 아무런 단서 없이 새로운 취약점을 발견하는 능력과 구별된다.
  • 취약점 유형의 편중: OSS-Fuzz에서 확보한 취약점을 활용하기 때문에 퍼징과 실행 오류를 통해 확인할 수 있는 취약점이 중심이 된다.
  • 보안 업무 전체를 평가하지 않음: 침투 이후의 권한 상승, 내부망 이동, 지속성 확보, 데이터 탈취 및 보안 사고 대응 등은 기본 평가 범위에 포함되지 않는다.
  • 평가 조건에 따른 편차: 시도 횟수, 실행 도구, 계산 자원, 시간제한 등에 따라 결과가 달라질 수 있다.
  • 벤치마크 데이터 노출 가능성: 공개된 과거 취약점이 학습 데이터에 포함되었을 가능성을 고려해야 한다.

특히 CyberGym의 기본 성공률은 취약점 재현 능력을 나타내며, 실제 공격 성공률이나 일반적인 취약점 탐지율과 동일하게 해석해서는 안 된다.[1][3]

CyberGym은 다음과 같은 용도로 활용할 수 있다.

  • AI 보안 에이전트의 취약점 재현 성능 평가
  • 서로 다른 LLM과 에이전트 프레임워크의 성능 비교
  • 코드 분석 및 자동화된 PoC 생성 시스템의 연구
  • AI 기반 취약점 분석 기술의 발전 추적
  • AI의 사이버 공격 및 방어 능력에 관한 안전성 평가
  • 취약점 재현 및 패치 자동화 기술 개발

소스코드는 Apache License 2.0으로 공개되어 있으며, 공식 GitHub 저장소에서는 Python 및 Docker 기반 실행 환경을 안내한다.

전체 평가 데이터의 다운로드 용량은 약 240GB이며, 바이너리 중심 실행 환경을 위한 별도 데이터 구성도 제공한다.

프로젝트에서는 보안상 평가 환경을 외부 인터넷에 직접 공개하지 말고 로컬 환경에서 운영하도록 안내하고 있다.[9]