← 최신 논문
💻 computer science

PatchIsland: Orchestration of LLM Agents for Continuous Vulnerability Repair

PatchIsland는 다양한 LLM 에이전트의 앙상블과 2단계 중복 제거 전략을 활용하여 노이즈가 많고 실패가 빈번한 지속적 퍼징 파이프라인 환경 내에서 효과적으로 지속적인 취약점 수정을 오케스트레이션하는 자율 시스템으로, AIxCC 경연 대회에서 72.1%의 수정률을 달성했습니다.

원저자: Wonyoung Kim, Seunggi Min, Minjae Gwon, Dowoo Baik, Haein Lee, Hyeon Heo, Minjae Lee, Min Woo Baek, Yonghwi Jin, Younggi Park, Yunjae Choi, Taesoo Kim, Sangdon Park, Insu Yun

게시일 2026-07-17
📖 5 분 읽기🧠 심층 분석

원저자: Wonyoung Kim, Seunggi Min, Minjae Gwon, Dowoo Baik, Haein Lee, Hyeon Heo, Minjae Lee, Min Woo Baek, Yonghwi Jin, Younggi Park, Yunjae Choi, Taesoo Kim, Sangdon Park, Insu Yun

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

인터넷을 코드로 만들어진 거대하고 북적이는 도시라고 상상해 보세요. 이 도시에서 "퍼징(fuzzing)"은 수천 개의 작고 혼란스러운 로봇들을 보내 벽에 부딪히고, 전선에 걸려 넘어지고, 찾을 수 있는 모든 문을 두드려 보는 것과 같습니다. 이들의 임ка는 해커들이 침입하기 위해 사용할 수 있는 숨겨진 틈새, 즉 소프트웨어 취약점을 찾는 것입니다. 수년 동안 이 로봇들은 틈새를 찾는 데 매우 뛰어난 성능을 보였으며, 매년 오픈 소스 프로젝트에서 수천 개의 보안 구멍을 찾아냈습니다. 하지만 여기에는 함정이 있습니다. 로봇들은 구멍을 찾는 데는 탁월하지만, 이를 수정하는 것은 여전히 인간 전문가들의 느리고 수동적인 작업이라는 점입니다. 이는 마치 도시의 모든 도로에 생긴 포트홀(구멍)을 찾아내는 로봇 군단은 있지만, 그 후에는 엔지니어 팀을 고용하여 각 구멍을 하나씩 개별적으로 메워야 하는 것과 같습니다. 도시가 성장함에 따라, 이 수동 복구 프로세스는 거대한 병목 현상이 되어 도시를 오랫동안 취약한 상태로 방치하게 됩니다. 이것이 바로 "자동 취약점 복구(Automated Vulnerability Repair)"라는 아이디어가 등장한 배경입니다. 즉, 포트홀을 찾을 뿐만 아니라 자동으로 패치까지 할 수 있는 시스템을 구축하려는 시도입니다.

여기에 바로 이 문제를 해결하기 위해 설계된 새로운 시스템인 PatchIsland가 등장합니다. 연구진들은 기존의 자동 복구 도구들이 마치 조용한 차고에서 한 번에 자동차 한 대씩 테스트하는 단독 정비사와 같다는 점을 깨달았습니다. 하지만 실제 연속적인 퍼징이 일어나는 세상은 자동차가 끊임없이 고장 나는, 시끄럽고 혼란스러우며 예측 불가능한 고속도로와 같습니다. 이를 처리하기 위해 연구팀은 PatchIsland를 구축했습니다. 이 시스템은 고독한 정비사라기보다 고도로 조직화된 24시간 상시 복구 팀처럼 작동합니다. 그들은 AIxCC(AI Cyber Challenge)라는 주요 대회에서 이 시스템을 테스트했는데, 이 대회에서는 인간의 도움 없이 일주일 동안 완전히 자율적으로 운영되어야 했습니다. 결과는 인상적이었습니다. PatchIsland는 43개의 실제 취약점 중 31개를 성공적으로 수정하여 72.1%의 성공률을 달est했으며, 심지어 PDFBox라는 유명한 프로젝트에서 이전에 본 적 없는 새로운 "제로 데이(zero-day)" 버그까지 패치해 냈습니다.

문제점: "원 사이즈 피츠 올(One-Size-Fits-All)"의 함정

댐의 누수를 고치려고 한다고 상상해 보세요. 당신에게는 망치, 렌치, 글루건이 들어 있는 도구 상자가 있습니다. 만약 망치만 사용한다면, 균열은 고칠 수 있겠지만 파이프가 부서진 경우라면 실패할 것입니다. 대부분의 이전 자동 복구 시스템은 그러한 망치와 같았습니다. 즉, 통제된 단일 실행 테스트 환경에서 완벽하게 작동하도록 설계되었습니다. 하지만 실제의 연속적인 퍼징 환경에서 "누수"는 다양하고, 환경은 무질서하며, 문제는 끊임없이 발생합니다. 단 하나의 방법에만 의존하는 시스템은 자신이 특별히 훈련받지 않은 문제에 직면했을 때 충돌하거나 멈춰버리곤 합니다. 연구진은 이러한 오래된 시스템들이 지속적이고 실제적인 복구 작업을 처리할 수 없다는 것을 발견했습니다.

해결책: 다양한 전문가들의 팀

이를 해결하기 위해 연구팀은 "에이전트 앙상블(ensemble of agents)"이라는 개념을 사용하여 PatchIsland를 구축했습니다. 이것은 한 명의 초천재 정비사를 고용하는 것이 아니라, 각기 다른 초능력을 가진 전문가 팀을 고용하는 것과 같습니다. 어떤 에이전트는 코드 읽기에 능숙하고, 어떤 에이전트는 특정 유형의 버그를 찾는 데 전문가이며, 어떤 에이전트는 빠르지만 다소 꼼꼼하지 못할 수 있고, 또 다른 에이전트는 느리지만 매우 정밀할 수 있습니다.

단일 에이전트가 모든 것을 수행하도록 맡기는 대신, PatchIsland는 이 전체 팀에게 고장 난 코드를 보냅니다. 만약 한 에이전트가 실패하거나 혼란에 빠지더라도, 다른 에이전트들이 계속해서 작업을 이어갑니다. 이는 소방서에서 소방차 한 대가 고장 나더라도 다른 차량들이 여전히 불을 끌 수 있는 것과 같습니다. 이러한 다양성은 시스템을 훨씬 더 견고하게(robust) 만듭니다. 즉, 개별 부분이 실패하더라도 시스템이 계속 실행될 수 있게 합니다.

스마트 필터: "똑같은 이야기" 피하기

연속적인 복구 시스템에서는 동일한 버그가 동일한 충돌을 반복해서 일으키는 경우가 많습니다. 만약 시스템이 똑같은 충돌을 100번 고치려고 시도한다면, 엄청난 시간과 비용을 낭비하게 될 것입니다. 연구진은 영리한 "2단계 중복 제거(two-phase deduplication)" 전략을 도입했습니다.

탐정이 범죄 보고를 받는 상황을 상상해 보세요. 전체 팀을 호출하기 전에 탐정은 다음과 같이 확인합니다: "이 정확한 범죄가 이미 해결되었는가?"

  1. 1단계 (충돌 체크): 새로운 충돌 보고가 들어오면, 시스템은 팀이 생성한 패치가 이미 해당 충돌을 해결하는지 확인합니다. 만약 그렇다면, 새로운 보고를 무시합니다.
  2. 2단계 (패치 체크): 만약 팀이 새로운 패치를 생성했다면, 시스템은 이 새 패치가 기존의 것과 중복되는지, 아니면 실제로 새로운 것을 고치는지 확인합니다. 중복이라면 폐기됩니다. 만약 더 나은 패치라면, 기존의 것을 대체합니다.

이 방식은 시스템이 동일한 문제를 두 번 해결하는 데 에너지를 낭비하지 않도록 보장하며, 이는 수천 개의 보고를 다룰 때 매우 중요합니다.

지휘자: FP2 오케스트레이션

다양한 에이전트들로 구성된 팀이 있다면, 누가 언제 어떻게 일할지를 결정할 지휘자가 필요합니다. 연구팀은 FP2(First-come first-served, Preference-based, and Provider-aware)라고 불리는 전략을 개발했습니다.

  • 선착순 (First-come first-served): 패치가 준비되면 빠르게 제출됩니다.
  • 선호도 기반 (Preference-based): 시스템은 어떤 에이전트가 올바른 수정안을 찾는 데 보통 가장 뛰어난지 알고 있습니다. 우선 이 상위 에이전트들이 먼저 시도하도록 합니다. 만약 실패하면, 다른 에이전트들을 호출합니다. 이를 통해 시간과 비용을 절약합니다.
  • 제공자 인식 (Provider-aware): 에이전트들은 서로 다른 AI "두뇌"(예: 서로 다른 대규모 언어 모델)를 사용합니다. 시스템은 특정 AI가 과부하되거나 속도 제한(rate-limit)에 걸리지 않도록 업무를 분산합니다.

이러한 오케스트레이션은 시스템이 강력한 AI 도구를 사용하는 비용과 속도 사이에서 균형을 맞추며 효율적으로 작동하도록 보장합니다.

결과: 실제 환경에서의 테스트 드라이브

진정한 시험대는 AIxCC 결승전이었습니다. 이 대회는 일주일 동안 팀들이 인간의 개입 없이 53개의 서로 다른 오픈 소스 프로젝트에서 취약점을 찾아내고 수정해야 하는 이벤트였습니다.

  • 성적: PatchIsland는 다른 어떤 팀보다 많은 31개의 취약점을 찾아내고 패치했습니다.
  • 성공률: **72.1%**의 성공률(확인된 43개 취약점 중 31개)을 달성했습니다.
  • 제로 데이 승리: 놀라운 순간에, PatchIsland는 PDFBox 프로젝트에서 완전히 새로운 버그를 해결했습니다. 대회 종료 후, 프로젝트 관리자들은 시스템이 생성한 패치를 그대로 채택했으며, 이는 AI가 단순히 추측한 것이 아니라 실제적이고 올바른 해결책을 찾아냈음을 증명했습니다.

연구진은 또한 시스템이 매우 효과적이었지만 완벽하지는 않았다는 점도 언급했습니다. 예를 들어, systemd 프로젝트의 끊어진 링크로 인해 해당 작업을 위한 초기화가 중단되는 등의 "단일 장애점(single points of failure)"이 발생하기도 했습니다. 그러나 다른 시스템들이 더 자주 충돌했던 것과 비교하면, PatchIsland의 설계는 대부분의 혼란 속에서도 시스템이 계속 실행될 수 있도록 유지해 주었습니다.

이것이 중요한 이유

PatchIsland는 우리가 소프트웨어가 스스로 치유되는 미래에 더 가까워지고 있음을 보여줍니다. 다양한 AI 에이전트 팀과 스마트한 관리 및 필터링을 결합함으로써, 이 시스템은 복잡하고 예측 불가능한 연속 보안 테스트의 현실을 처리할 수 있습니다. 이는 우리가 아직 모든 버그를 자동으로 제거할 수는 없을지라도, 현대 소프트웨어가 직면한 취약점의 홍수를 처리할 수 있을 만큼 견고한 시스템을 구축할 수 있음을 시사하며, 이를 통해 인간 전문가의 부담을 줄이고 우리의 디지털 도시를 더 안전하게 지킬 수 있음을 보여줍니다.

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

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

Digest 사용해 보기 →