AgenticRepair: Multi-Faceted Program Context Engineering for Agentic Vulnerability Repair
AgenticRepair는 코드 구조, 런타임 실행, 커밋 이력이라는 이전에 간과되었던 세 가지 핵심적인 프로그램 컨텍스트를 복구 과정에 설계하고 통합함으로써 자동 취약점 복구 성공률을 73%까지 크게 향상시킨 멀티 에이전트 프레임워크입니다.
원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
인터넷을 코드로 이루어진 거대하고 북적이는 도시라고 상상해 보세요. 이 도시에서 소프트웨어는 모든 것을 계속 돌아가게 만드는 인프라—다리, 신호등, 전력망—와 같습니다. 하지만 때때로 이 구조물들의 설계도에는 아주 작고 보이지 않는 균열이 생기곤 합니다. 이것이 바로 '취약점'입니다. 도로 위의 포트홀이 단순히 자동차의 속도를 늦추는 것과 달리, 코드의 균열은 도둑이 몰래 침입하여 데이터를 훔치거나 도시 전체를 마비시킬 수 있게 만듭니다. 수십 년 동안 이러한 균열을 고치는 일은 엘리트 보안 엔지니어들의 몫이었습니다. 그들은 마치 탐정-외과의사처럼 산더ous한 코드 더미를 직접 뒤지고, 건물이 어디서 무너지는지 확인하기 위해 특별한 테스트를 실행하며, 실수가 처음에 어떻게 발생했는지 확인하기 위해 오래된 로그를 조사합니다. 이는 느리고, 기력을 소모하며, 종종 단 하나의 구멍을 메우는 데만 몇 달이 걸리는 작업입니다.
최 최근, 과학자들은 컴퓨터가 이러한 탐정-외과의사처럼 행동하도록 가르치기 시작했습니다. 그들은 코드를 읽고, 테스트를 실행하며, 심지어 스스로 파일을 다시 작성할 수 있는 스마트한 소프트웨어 프로그램인 'AI 에이전트'를 사용합니다. 이 에이드들을 인간 전문가보다 빠르게 일할 수 있는 주니어 인턴이라고 생각하면 됩니다. 하지만 이들은 인간 전문가가 잡아낼 수 있는 미묘한 단서들을 놓치곤 합니다. 이들은 오타는 고칠 수 있어도, 건물 전체가 불안정한 지반 위에 있다는 사실은 놓칠 수 있습니다. 연구자들이 던지는 핵심 질문은 이것입니다: 어떻게 하면 이 AI 인턴들이 최고의 인간 전문가처럼 생각하도록 가르칠 수 있을까? 어떻게 하면 그들에게 단순히 추측하는 것이 아니라, 왜 보안 구멍이 존재하는지에 대한 깊고 복잡한 이유를 실제로 이해할 수 있도록 적절한 '도구'와 '배경 지식'을 제공할 수 있을까?
여기에 AgenticRepair라는 새로운 연구가 등장합니다. 호주의 대학교 팀으로 구성된 연구진은 문제가 AI가 충분히 똑똑하지 않아서가 아니라, AI에게 전달되는 *맥락(context)*이 적절하지 않다는 점에 주목했습니다. 물 압력이 너무 높은지, 파이프가 녹슬었는지, 혹은 배관공이 잘못된 부품을 사용했는지 모르는 상태에서 새는 수도꼭지를 고치려고 시 노력하는 상황을 상상해 보세요. 연구팀은 슈퍼 파워를 가진 탐정 팀처럼 작동하는 새로운 시스템을 구축했습니다. 하나의 AI가 모든 것을 하려고 하는 대신, 그들은 메인 수리 AI가 작업을 시작하기도 전에 세 가지 특정 유형의 단서를 수집하기 위해 협력하는 세 명의 특화된 '미니 AI' 분대를 만들었습니다.
첫째, '구조 에이전트(Structure Agent)'는 건축가가 설계도를 확인하여 두 개의 파이프가 있어서는 안 될 방식으로 같은 공간을 공유하고 있는지 확인하는 것처럼 코드가 어떻게 구축되었는지 살펴봅니다. 둘째, '런타임 에이전트(Runtime Agent)'는 충돌 테스트용 더미처럼 작동하여, 소프트웨어가 정확히 어디서 어떻게 깨지는지 실제로 실행해 보고, 탐정이 발자국을 따라가듯 메모리를 추적합니다. 셋째, '히스토리 에이전트(History Agent)'는 프로젝트의 오래된 로그를 뒤져, 마치 역사학자가 원래 설계자의 일기를 읽듯 언제, 왜 취약한 설계가 도입되었는지 찾아냅니다.
이 세 에이전트가 단서를 수집하면, 이들은 이를 네 번째인 '수리 에이전트(Repair Agent)'에게 전달합니다. 이 에이전트는 완벽한 수정안을 작성하는 데 필요한 모든 정보를 갖추게 됩니다. 연구팀은 이 시스템을 인기 있는 소프트웨어 프로젝트들로부터 추출한 300개의 실제 보안 구멍이 포함된 SEC-Bench라는 거대한 과제로 테스트했습니다. 결과는 인상적이었습니다. AgenticRepair는 300개 중 220개의 취약점을 성공적으로 해결하며 **73%**의 성공률을 기록했습니다. 이는 이전의 가장 뛰어난 AI 방식들이 약 **34%**만을 해결했던 것에 비해 엄청난 도약입니다.
더 멋진 점은 이 시스템이 단순히 운이 좋았던 것이 아니라는 사실입니다. 연구진은 무엇이 이 시스템을 그토록 잘 작동하게 만들었는지 알아보기 위해 실험을 진행했습니다. 그들은 세 가지 유형의 단서(구조, 런타임, 히스토리)가 마치 세 다리 의자와 같다는 것을 발견했습니다. 하나를 제거하면 의자는 흔들리지만, 세 개를 모두 유지하면 바위처럼 견고해집니다. 또한, 전문화된 에이전트 팀을 보유하는 것이 단 하나의 AI가 모든 것을 혼자 하려고 하는 것보다 훨씬 낫다는 것을 발견했습니다. 실제로, 단일 에이전트로 전체 프로세스를 실행했을 때 성공률은 거의 절반 가까이 급락했습니다.
이 연구는 복잡한 보안 구멍을 고치는 비결이 단순히 AI를 더 똑똑하게 만드는 것이 아니라, AI가 보는 맥락을 설계하는 데 있다는 점을 시사합니다. AI에게 인간 보안 엔지니어가 사용하는 것과 같은 깊고 다층적인 이해를 제공함으로써, 시스템은 이전에는 기계가 풀기 너무 까다로웠던 문제들을 해결할 수 있었습니다. 이 시스템이 아직 완벽한 것은 아닙니다. 여전히 약 27%의 사례에서 어려움을 겪는데, 이는 주로 생성된 수정안이 너무 지저분하거나 규칙에 딱 맞지 않기 때문입니다. 하지만 이는 전문화된 맥락을 가진 팀 기반 접근 방식이 승리하는 전략임을 증명합니다. 이는 보안이라는 고도의 긴박한 세계에서, 최선의 해결책은 종종 단순히 고장 난 부분만이 아니라 전체 이야기를 이해하는 데서 온다는 사실을 상기시켜 줍니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.