← 최신 논문
🤖 machine learning

FuzzingBrain-Bench V1: Evaluating Open-Ended Bug Discovery by LLMs

이 논문은 43개의 오픈 소스 프로젝트에서 추출한 77개의 챌린지를 대상으로, 새니타이저(sanitizer)가 삽입된 하네스에서 서로 다른 크래시를 유발하는 입력을 생성하는 능력을 측정함으로써 대규모 언어 모델의 개방형 버그 발견 능력을 평가하기 위해 설계된 새로운 벤치마크인 FuzzingBrain-Bench를 소개한다.

원저자: Ze Sheng, Aleksandar Kezic, Zhicheng Chen, Jeff Huang

게시일 2026-08-27
📖 4 분 읽기☕ 가벼운 읽기

원저자: Ze Sheng, Aleksandar Kezic, Zhicheng Chen, Jeff Huang

원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기

현대 세계를 움직이는 거대하고 보이지 않는 소프트웨어의 풍경 속에서, 숨겨진 결함은 끊임없이 존재하는 현실입니다. 이러한 결함은 '취약점'이라 불리며, 마치 댐에 생긴 작은 균열과 같습니다. 패치되지 않은 채 방치된다면 공격자들이 시스템을 침투하거나, 데이터를 훔치거나, 중요한 서비스를 중단시키는 통로가 될 수 있습니다. 수십 년 동안 이러한 균열을 찾는 과정은 인간 전문가들이 코드를 세밀하게 조사하며 약점을 암시하는 패턴을 찾는, 수작업 중심의 노동 집약적인 과정이었습니다. 그러나 소프트웨어의 양이 급증함에 따라 보고된 결함의 수도 기록적인 수준에 도달했고, 인간의 대응 능력을 압도하고 있습니다. 이에 연구자들은 새로운 질문을 던지게 되었습니다. 코드를 작성하고 이해할 수 있는 대규모 언어 모델과 같은 인공지능이, 이전보다 더 빠르고 효과적으로 버그를 찾아내도록 학습될 수 있을 것인가? 과제는 단순히 종이 위에 결함을 포착하는 것이 아니라, 소프트웨어가 스트레스 상황에서 어떻게 작동하는지에 대한 깊은 이해를 바탕으로 소프트웨어를 실패하게 만드는 특정 입력을 생성하여 그 결함이 존재함을 증명하는 것입니다.

텍사스 A&M 대학교의 연구진은 'FuzzingBrain-Bench'라는 새로운 테스트 환경을 구축함으로써 이 질문에 답하기 위한 중요한 발걸음을 내디뎠습니다. 인공지능 모델에게 이미 알려진 약점을 단순히 식별하거나 사전에 공지된 특정 오류를 재현하도록 요구했던 기존의 테스트와 달리, 이 새로운 벤치마크는 모델들에게 '독립적인 탐험가'로서 행동할 것을 요구합니다. 연구진은 모델들에게 버그가 포함된 것으로 알려진 실제 오픈 소스 소프트웨어 프로젝트의 소스 코드와 함께, '하네스(harness)'라고 불리는 특수 테스트 도구를 제공했습니다. 이 하네스는 소프트웨어를 실행하고 실패의 징후를 면밀히 관찰하도록 설계된 통제된 환경입니다. 모델들은 버그가 어디에 있는지, 혹은 어떤 모습인지 듣지 못했습니다. 대신, 그들의 임무는 수천 개의 서로 다른 입력을 생성하여 소프트웨어에 주입하고, 이를 통해 소프트웨어가 충돌(crash)을 일으키는지 확인하는 것이었습니다. 여기서 충돌이란 소프트웨어가 예기치 않게 작동을 멈추는 순간을 의미하며, 이는 종종 숨겨진 취약점을 드러냅니다. 모델들은 특정하게 정해진 버그를 찾는 것에 대한 보상을 받는 것이 아니라, 원래 알려진 문제와 일치하는지 여부와 상관없이 최대한 많은 종류의 서로 다른 실패를 발견하는 것에 대해 보상을 받았습니다.

이 벤치마크는 이미지 처리 라이브러리, 비디오 코덱부터 데이터베이스 도구 및 웹 서버에 이르기까지 43개의 서로 다른 소프트웨어 프로젝트에서 추출한 77개의 챌린지로 구성되었습니다. 이 프로젝트들은 C, C++, Java라는 세 가지 주요 프로그래밍 언어로 작성되었습니다. 공정성을 보장하고 모델이 외부 정보에 접근하는 것을 방지하기 위해, 각 챌린지는 보안이 적용된 격리된 컨테이너 안에 패키징되었습니다. 이 컨테이너 안에서 모델은 오직 코드와 테스트 도구만을 볼 수 있었으며, 인터넷이나 버그 보고서 이력, 또는 소프트웨어가 어떻게 수정되었는지에 대한 정보에는 접근할 수 없었습니다. 모델은 시스템을 무너뜨리는 입력을 정교하게 만들기 위해 전적으로 자신의 추론 능력에 의존해야 했습니다. 연구진은 모델이 소프트웨를 충돌시키는 고유한 방식이 얼마나 많은지를 측정하여 성공 여부를 판단했습니다. 그들은 유사한 충돌들을 그룹화하는 시스템을 사용하여, 모델이 단순히 같은 실수를 반복하는 것이 아니라 새로운 유형의 실패를 발견했을 때 점수를 부여했습니다.

연구진이 고도로 발달한 인공지능 시스템의 세 가지 버전을 테스트했을 때, 결과는 이 기술의 잠재력과 현재의 한계를 동시에 보여주었습니다. 가장 유능한 버전인 'Opus'는 77개의 챌린지 중 60개에서 충돌을 유발하여, 대다수의 경우에서 소프트웨어를 파괴하는 새로운 방법을 성공적으로 찾아냈습니다. 그보다 약간 덜 강력한 버전인 'Sonnet'은 50개의 챌린지에서 성공했으며, 가장 빠르고 경제적인 버전인 'Haiku'는 35개의 충돌을 찾아냈습니다. 연구진은 모델이 버그를 찾는 데 얼마나 어려웠는지에 따라 각 챌린지에 난이도 점수를 부여했습니다. 어떤 모델도 충돌을 찾지 못한 가장 어려운 챌린지들은 가장 정교한 추론을 요구하는 문제들이었습니다. 최고 성능의 모델조차 13개의 챌린지에서는 단 하나의 버그도 찾지 못했는데, 이는 이 모델들이 강력한 도구이긴 하지만 아직 완벽하지 않으며, 가장 복잡하거나 모호한 유형의 소프트웨어 결함에 대해서는 여전히 어려움을 겪고 있음을 시사합니다.

연구는 또한 모델들이 작업에 접근하는 방식의 흥미로운 차이점을 밝혀냈습니다. 가장 강력한 모델은 다른 모델들보다 검색을 더 일찍 중단하는 경傾向을 보였는데, 종종 버그를 빠르게 찾아낸 뒤 바로 다음 단계로 넘어갔습니다. 반면 다른 모델들은 주어진 시간 허용치를 모두 사용하며 포기하기 전까지 더 많은 테스트를 수행했습니다. 이러한 행동 양식은 가장 강력한 모델이 어려운 문제에서는 비록 쉬운 문제를 더 잘 해결하더라도, 때때로 덜 철저할 수 있음을 의미했습니다. 연구진은 이 테스트를 실행하는 비용이 크게 다르다는 점에도 주목했습니다. 가장 강력한 모델은 특히 어려운 챌린지에서 더 많은 시간을 소비하고 더 많은 데이터를 생성할 때 실행 비용이 더 많이 들었습니다. 그러나 저렴한 모델들 역시 깊숙이 숨겨진 버그를 찾는 데는 덜 효과적이었습니다. 이러한 결과는 인공지능이 소프트웨어 버그를 찾는 유효한 파트너가 되어가고는 있지만, 아직 인간 전문가를 대체할 수준은 아니라는 점을 시사합니다. 모델들은 흔하거나 접근 가능한 결함을 찾는 데는 탁월하지만, 여전히 가장 까다로운 결함들은 놓치고 있으며, 이는 소프트웨어 보안의 미래가 인간 전문가와 점점 더 유능해지는 디지털 조수 간의 협업이 될 것임을 나타냅end.

궁극적으로, 이 연구는 인공지능이 현실 세계에서 소프트웨어 버그를 얼마나 잘 찾아낼 수 있는지를 판단할 수 있는 명확하고 측정 가능한 방법을 제공합니다. 모델에게 알려진 정답을 맞히도록 하는 단순한 테스트에서 벗어나, 연구진은 보안 전문가들이 실제로 작업하는 방식을 더 현실적으로 시뮬레이션했습니다. 결과는 현재의 모델들이 다양한 종류의 소프트웨어 실패를 발견할 수 있지만, 모든 결함을 찾아낼 수는 없다는 것을 보여줍니다. 이 벤치마크는 더 많은 챌린지와 더 많은 유형의 소프트웨어를 포함하도록 확장됨에 따라, 사이버 보안 분야에서 인공지능의 발전을 추적하는 데 중요한 도구가 될 것입니다. 목표는 단순히 테스트를 통과하는 모델을 만드는 것이 아니라, 우리가 의존하는 디지털 인프라를 안정적으로 보호하고, 타인에게 악용되기 전에 먼저 균열을 찾아내는 시스템을 개발하는 것입니다.

연구 분야의 논문에 파묻히고 계신가요?

연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.

Digest 사용해 보기 →