Cybench: A Framework for Evaluating Cybersecurity Capabilities and Risks of Language Models

Cybench: A Framework for Evaluating Cybersecurity Capabilities and Risks of Language Models (Zhang et al., Stanford, ICLR 2025 Oral)

Introduction

사이버 보안 LLM 시리즈에서 “자율 공격 역량”을 재는 가장 표준적인 벤치마크가 Cybench다. Claude Mythos가 보인 자율 익스플로잇 능력을 객관적으로 측정하려면, 정답을 암기로 풀 수 없고 실제로 환경과 상호작용해야만 풀리는 과제가 필요하다. CTF(Capture The Flag)가 정확히 그것이다.

CTF는 보안 대회의 표준 포맷으로, 참가자가 취약점을 찾아 익스플로잇하면 숨겨진 flag 문자열을 얻는다. flag는 정답 검증이 명확(string match)하지만, 도출 과정은 암호·웹·리버싱·바이너리 익스플로잇 등 복합적 실력을 요구한다 — GAIA의 “검증은 쉽지만 도출은 어렵다”와 같은 구조다.

Cybench는 Stanford(Dan Boneh, Percy Liang, Daniel Ho 등)가 만든 것으로, ICLR 2025 Oral에 발표되었다. 한 줄로 요약하면, “이 모델이 자력으로 풀 수 있는 CTF는 인간 전문가 기준 몇 분짜리인가?”를 좌표로 찍어주는 자(尺)다.

기존 보안 벤치마크 Cybench
과제 난이도 입문~중급(InterCode-CTF 등) 프로 대회 수준, FST 2분~24h54m(747배 범위)
난이도 기준선 주관적 라벨 인간 팀 First Solve Time — 객관적 시간 척도
부분 점수 0/1 이분법 subtask 분해로 중간 진행도 측정
평가 대상 단발 QA agentic — bash 셸을 직접 두드리는 루프
오염 위험 높음(오래된 공개 문제) 2022~2024 최신 과제로 contamination 완화

직관적으로 비유하면 Cybench는 운전면허 시험이 아니라 F1 랩타임 측정이다. “운전을 할 줄 아느냐(0/1)”가 아니라, “프로 드라이버가 11분에 끝낸 코스를 너는 끝내느냐, 24시간 54분짜리 코스에서 어디까지 가느냐”를 인간 기록과 같은 좌표 위에 올려놓는다.

핵심 기여는 다음과 같다.

  • 프로 수준 CTF 40과제를 표준화된 Docker 실행 환경으로 제공
  • 서로 다른 4개 대회 과제를 단일 벤치마크 포맷으로 통일
  • 인간 팀의 First Solve Time(FST)으로 난이도에 객관적 기준선 부여
  • subtask 분해로 0점이 속출하는 고난도 과제에서도 부분 진행도 측정
  • 통일된 cybersecurity agent로 frontier 모델 8종을 일관 평가

Background

왜 CTF인가

자율 사이버 공격 역량은 정책 결정자·모델 제공자·보안 연구자 모두가 정량화하고 싶어 하는 위험이다. 그런데 “공격을 잘하느냐”는 자유서술로 채점하기 어렵다. CTF는 이 문제를 우아하게 해결한다 — 익스플로잇이 성공하면 flag{...} 문자열이 나오고, 이것을 string match로 검증하면 끝이다. 채점은 결정론적이지만 도출 과정은 진짜 해킹 스킬(취약점 발견·익스플로잇 작성·환경 조작)을 요구한다.

contamination 우려

벤치마크가 학습 데이터에 섞이면(데이터 오염) 점수는 실력이 아니라 암기를 잰다. SWE-bench가 오래된 GitHub 이슈로 골머리를 앓았듯, 공개된 옛날 CTF write-up은 모델이 이미 외웠을 가능성이 크다. Cybench는 과제를 2022~2024년 대회에서 골라 대부분 모델의 학습 컷오프 이후로 두고, 이 위험을 줄였다.

왜 agentic 평가인가

CTF는 한 번의 질의응답으로 풀리지 않는다. 포트를 스캔하고, 바이너리를 뜯고, 익스플로잇을 짜서 던지고, 출력을 보고 다시 시도하는 다단계 상호작용이 필요하다. 따라서 Cybench는 단발 프롬프트가 아니라, 에이전트 루프로 셸을 직접 두드리는 환경에서 모델을 평가한다. 이 점에서 AgentBench·GAIA 계열의 도구 사용·장기 추론 평가와 같은 가족이다.

데이터셋 구성

40개 프로 CTF 과제 — 대회별 분포

4개 대회에서 40과제를 엄선했다. 각 과제는 자연어 설명, 시작 파일, 그리고 실행 가능한 Docker 환경을 포함한다.

출처 대회 성격 과제 수
HackTheBox (Cyber Apocalypse 2024) 대규모 종합 CTF 17
SekaiCTF (2022–23) 고난도 경쟁 CTF 12
Glacier (2023) 전문가 대회 9
HKCert (2023) 지역 대표 대회 2
합계   40

6개 범주 — 분야별 분포

논문은 CTF에서 흔한 6개 범주로 과제를 나눈다. 암호(Crypto)에 무게가 크게 실려 있다는 점이 특징이다.

범주 설명 과제 수
Crypto (암호) 암호 구현 결함 익스플로잇 16
Web (웹) 웹 애플리케이션 취약점 8
Rev (리버스 엔지니어링) 바이너리 역공학 6
Forensics (포렌식) 데이터 추출·분석 4
Misc (기타) 비정형 과제 4
Pwn (익스플로잇) 권한 상승·코드 실행 2
합계   40

난이도 — First Solve Time으로 좌표화

선정 기준은 (a) 최신(2022~2024), (b) 의미 있는 난이도, (c) 폭넓은 난이도 스펙트럼이다. 난이도는 주관적 라벨이 아니라 대회에서 인간 팀이 그 과제를 처음 푼 시간(First Solve Time, FST)으로 객관화한다. FST는 가장 쉬운 과제가 2분, 가장 어려운 과제가 24시간 54분 — 약 747배의 범위를 log-linear에 가깝게 메운다. 이 점이 입문 수준만 모은 InterCode-CTF(저자 평균 풀이 3.5분)와의 결정적 차이다.

subtask — 부분 진행도 측정

많은 CTF가 현재 LLM 능력을 넘어서 unguided로는 0점이 속출한다. Cybench는 과제를 중간 단계(subtask)로 쪼개, “최종 flag는 못 얻어도 어디까지 진행했는가”를 측정한다. 각 subtask는 자체 질문과 정답을 가지며 순차적으로 채점된다(예: “credential이 들어 있는 파일은?” → “암호화 방식은?” → … → 최종 flag). 이는 TravelPlanner의 Micro/Macro 구분과 같은 동기 — 0/1 이분법으로는 보이지 않는 능력 차이를 드러낸다.

평가 프레임워크

Cybersecurity Agent — 루프 구조

통일된 에이전트가 bash 셸이 있는 Kali Linux Docker 환경에서 작동한다. Reflexion·ReAct에서 영감받은 Act–Execute–Update 루프로, 매 스텝 다음 형식으로 응답한다.

Reflection:           # 직전 관찰 해석
Research Plan and Status:  # 고수준 계획·진행 상황
Thought:              # 행동 전 추론
Log:                  # 명령 이력
Command (or Answer):  # 실행할 bash 명령 또는 최종 답

루프를 식으로 쓰면, 시점 \(t\)에서 메모리 \(m_t\)로부터 응답과 행동을 뽑고, 행동을 실행해 관찰 \(o_t\)를 얻은 뒤 메모리를 갱신한다.

\[r_t, a_t = \mathrm{Act}(m_t), \qquad o_t = \mathrm{Execute}(a_t), \qquad m_{t+1} = \mathrm{Update}(m_t, r_t, o_t)\]

직관: 모델은 “지금까지 한 것 + 방금 결과”만 보고 다음 명령을 정한다. 단, 메모리 \(m_t\)는 초기 프롬프트 + 최근 3 스텝의 응답·관찰로 제한된다 — 무한 히스토리가 아니라 짧은 작업기억으로 장기 과제를 푸는 셈이다.

실행 한도는 다음과 같이 빠듯하다.

항목 unguided subtask 모드
반복 한도 15 iterations subtask당 5 iterations
입력 토큰 6,000 6,000
출력 토큰 2,000 (o1-preview만 32,768) 동일
메모리 최근 3 스텝 subtask 간 메모리 유지

이 한도가 의도적으로 작다는 점이 중요하다. 저자들도 “우리 스캐폴딩은 역량 프런티어와 거리가 멀다”고 인정한다 — 점수는 모델 능력의 하한으로 읽어야 한다.

4개 agent scaffold

상위 모델(Claude 3.5 Sonnet, GPT-4o)에 한해 스캐폴딩 4종을 비교한다.

  • Structured bash — 위 형식(Reflection 포함)의 기본 스캐폴드
  • Action-only — 추론 없이 명령만 출력
  • Pseudoterminal — 출력을 가상 터미널로 보내 상태 관리(대화형 셸 등)에 유리
  • Web search — 웹 검색을 도구로 추가

Metric — 세 가지 좌표

  • Unguided performance: subtask 안내 없이 최종 flag를 얻으면 1, 아니면 0. 40과제 평균.
  • Subtask-guided performance: subtask 안내를 받으며 진행했을 때 최종 flag를 얻는 비율(macro-average).
  • Subtask performance: 통과한 subtask 비율(부분 점수, macro-average).

여기에 난이도를 가중한 변형도 둔다. FST가 긴(=어려운) 과제를 풀수록 더 큰 점수를 주기 위해 \(\log_2(\text{FST})\)로 가중한 FST-weighted performance를 함께 보고한다.

\[\text{Weighted Score} = \frac{\sum_i \mathbb{1}[\text{solved}_i] \cdot \log_2(\text{FST}_i)}{\sum_i \log_2(\text{FST}_i)}\]

직관: 11분짜리를 푸는 것과 4시간짜리를 푸는 것을 같은 1점으로 치면 난이도 정보가 사라진다. 로그 가중은 “어려운 걸 푼 모델”을 더 높이 친다.

Experiments

평가 모델 (8종)

GPT-4o, OpenAI o1-preview, Claude 3 Opus, Claude 3.5 Sonnet, Mixtral 8x22B Instruct, Gemini 1.5 Pro, Llama 3 70B Chat, Llama 3.1 405B Instruct.

핵심 결과 (Structured bash, 단일 시도, 논문 Table 2)

모델 Unguided Unguided 최고 FST Subtask-Guided Subtask Subtask-Guided 최고 FST
Claude 3.5 Sonnet 17.5% 11 min 15.0% 43.9% 11 min
GPT-4o 12.5% 11 min 17.5% 28.7% 52 min
Claude 3 Opus 10.0% 11 min 12.5% 36.8% 11 min
OpenAI o1-preview 10.0% 11 min 10.0% 46.8% 11 min
Llama 3.1 405B Instruct 7.5% 9 min 15.0% 20.5% 11 min
Mixtral 8x22B Instruct 7.5% 9 min 5.0% 15.2% 7 min
Gemini 1.5 Pro 7.5% 9 min 5.0% 11.7% 6 min
Llama 3 70B Chat 5.0% 9 min 7.5% 8.2% 11 min

세 모델이 각기 다른 지표에서 1등이다 — Claude 3.5 Sonnet(unguided 17.5%), GPT-4o(subtask-guided 17.5%), o1-preview(subtask 46.8%). 단일 챔피언이 없다는 사실 자체가, 자율 공격 역량이 단일 축이 아님을 시사한다.

unguided 17.5%는 40과제 중 7과제, 12.5%는 5과제, 10.0%는 4과제, 7.5%는 3과제, 5.0%는 2과제를 푼 것이다.

scaffold가 점수를 흔든다 (Table 5, 3시도 max)

같은 모델도 스캐폴드에 따라 점수가 출렁인다. Claude 3.5 Sonnet의 unguided는 structured bash 17.5% → pseudoterminal·web search 20.0%로, subtask-guided는 structured bash 17.5% → pseudoterminal 27.5%로 뛴다. pseudoterminal에서 unguided 최고 FST는 11분에서 2시간 3분까지 올라간다.

분석 / Why

장기 추론이 병목이다

상위 모델 4종(Claude 3.5 Sonnet, GPT-4o, o1-preview, Claude 3 Opus)이 unguided로 푼 과제의 인간 FST 상한은 11분이다. 즉 “프로 팀이 11분 안에 끝낸 과제”까지는 자력으로 풀지만, 그 위로는 급격히 무너진다. 가장 어려운 과제(FST 24h54m)는 근처도 못 간다.

왜인가? subtask 안내를 주면 점수가 오르는 패턴이 답이다. o1-preview는 unguided 10.0%에 그치지만 subtask 46.8%, Claude 3 Opus는 unguided 10.0% → subtask 36.8%다. 하위 목표가 주어지면 각 단계는 꽤 수행하지만, 그 하위 목표를 스스로 세워 11분 너머의 긴 과제를 끝까지 끌고 가는 능력이 부족하다. 즉 병목은 “한 스텝의 해킹 실력”이 아니라 장기 계획·상태 추적이다 — AgentBench가 “장기 추론이 진짜 병목”이라 한 결론과 정확히 같다.

subtask 안내 효과는 모델마다 다르다

흥미롭게도 안내 효과는 일률적이지 않다. Claude 3.5 Sonnet은 unguided 17.5% → subtask-guided 15.0%로 오히려 살짝 떨어진다(이미 스스로 계획을 잘 세워 안내가 제약이 될 수 있다). 반대로 Llama 3.1 405B는 7.5% → 15.0%로 두 배가 된다(혼자선 헤매지만 길을 알려주면 따라온다). 즉 subtask는 “자율 계획 능력”과 “단계 수행 능력”을 분리해서 보여주는 리트머스다.

FST는 인간 시간으로 환산한 위험 척도

Cybench의 가장 큰 설계적 기여는 FST다. “이 모델은 위험한가?”라는 추상적 질문을, “프로 팀이 11분 걸린 과제까지 자동화한다”는 구체적 문장으로 바꿔준다. 747배에 걸친 log-linear 난이도 스케일 위에서, 신모델이 나올 때마다 “이번엔 인간 몇 분짜리까지 올라왔나”를 시계열로 추적할 수 있다. Claude Mythos의 능력 도약도 이 자 위에 올려놓아야 객관적으로 위치가 잡힌다.

한계

  • 40과제는 통계적으로 작다. 범주 편차도 크다(Crypto 16 vs Pwn 2). 범주별 결론을 일반화하기 어렵다.
  • 점수가 scaffold에 민감하다. pseudoterminal 하나로 subtask-guided가 17.5% → 27.5%로 흔들린다. “모델 점수인가 스캐폴딩 점수인가” 문제가 상존한다. 저자도 자신들의 스캐폴딩이 프런티어가 아니라고 명시 — 점수는 하한이다.
  • 메모리·반복·토큰 한도가 빡빡하다(최근 3스텝, 15 iter, 6K 토큰). 이를 풀면(128K 토큰 등) 점수가 달라진다. 즉 보고된 숫자는 “이 스캐폴딩 하에서”라는 단서가 붙는다.
  • CTF는 잘 정의된 대회 문제라 실제 운영 환경의 모호함·지속성과는 거리가 있다 → CVE-Bench가 실제 CVE로 이 간극을 메운다.

의의 / Implications

  • 자율 cyber agent 평가의 사실상 표준. CAIBench 같은 메타 벤치마크가 Cybench를 구성요소로 포함하고, US/UK AI Safety Institute도 유사 프로토콜을 채택했다.
  • FST를 통해 모델 역량을 인간 시간으로 환산 — 정책 결정자에게 직관적 위험 척도를 제공한다.
  • subtask 분해는 0점 천장에 부딪히는 고난도 평가에서 미세한 능력 차를 드러내는 일반적 도구로, 이후 agent 벤치마크의 템플릿이 되었다.
  • CTF라는 검증 가능한 과제 + 부분 점수 + 통일 agent의 조합은 SWE-bench·GAIA·AgentBench와 함께 “agentic eval”의 정석을 이룬다.

Conclusion

Cybench는 “LLM이 얼마나 위험한 해커인가”를 인간 전문가 시간이라는 직관적 단위로 측정 가능하게 만들었다. 현재 frontier 모델은 프로 팀이 11분에 끝낸 과제까지 자력으로 풀지만, 그 너머의 장기 과제에서는 무너지고 — subtask 안내가 점수를 끌어올린다는 사실은 병목이 단계별 실력이 아니라 장기 계획임을 가리킨다. CTF라는 검증 가능한 과제 + subtask 부분 점수 + 통일된 agent라는 조합은 이후 사이버 보안 agent 평가의 템플릿이 되었다. Claude Mythos의 능력 도약을 읽을 때, Cybench는 그 도약을 객관적으로 위치시키는 자(尺)다.

이어서 읽기: 사이버 보안 LLM 개관 · Claude Mythos · CVE-Bench · CAIBench · AgentBench · GAIA

참고 문헌




Enjoy Reading This Article?

Here are some more articles you might like to read next:

  • Tamper-Resistant Safeguards (TAR) — Fine-tuning 자체에 견디는 safety
  • Circuit Breakers — 유해 representation을 incoherent state로 리라우팅
  • Emergent Misalignment — 안전한 코드 학습이 모델을 전반적으로 나쁘게 만든다
  • Shallow Safety Alignment — RLHF는 첫 5개 토큰만 reshape한다
  • Exploiting Novel GPT-4 APIs — 세 가지 공격 표면을 한 번에 점검하기