AI 기반 코딩이 빠르게 보편화되고 있습니다. 개발자는 AI와 함께 더 많은 코드를 짧은 시간에 만듭니다. 코드 생산량이 늘어날수록 보안 취약점 검토 부담도 커집니다. 코드 내 취약점을 스캔하는 도구가 찾아낸 수많은 항목을 확인하는 일도 만만치 않습니다. 실제로 악용할 수 있는 취약점인지 검증하고 근본 원인을 찾아 패치를 만든 뒤 기존 기능에 문제가 없는지 다시 살펴봐야 합니다. 취약점 발견보다 검증과 수정에 더 많은 시간이 드는 이유입니다.
그렇다면 AI 코딩을 모두가 하는 시대에 맞게 코드 생성과 보안 검토 간 간극을 어떻게 메워야 할까요? 관련해 이번 포스팅에서는 구글 클라우드의 CodeMender 에이전트에 대해 알아보겠습니다. 이 에이전트는 개발자가 사용하는 로컬 환경과 CI/CD 파이프라인에서 취약점을 스캔하고 악용 가능성을 확인한 뒤 패치를 만듭니다. CodeMender 에이전트 등장 배경부터 주요 기능과 이를 프로젝트 현장에 투입하기 전 알아야 할 것들을 정리해 보겠습니다.
딥마인드의 연구에서 출발한 코드 보안 에이전트
CodeMender 에이전트는 딥마인드의 연구에서 출발했습니다. 딥마인드는 2025년 10월 AI 코드 보안 연구 성과로 CodeMender를 공개했습니다. 당시 딥마인드는 초기 6개월 동안 오픈 소스 프로젝트에 72건의 보안 수정 사항을 반영했다고 밝혔습니다. 대상에는450만 라인 규모의 코드베이스도 포함됐습니다. 구글 클라우드는 이 연구 성과를 바탕으로 2026년 7월 21일 CodeMender 에이전트를 프리뷰로 제공하기 시작했습니다. 참고로 CodeMender 에이전트는 Gemini Enterprise Agent Platform을 기반으로 운영됩니다.
CodeMender 에이전트의 특징은 취약점을 찾는 데서 작업을 끝내지 않는다는 점입니다. 악용 가능성 확인부터 근본 원인 수정, 회귀 테스트까지 이어 가는데 구체적인 흐름은 뒤에서 살펴보겠습니다. 지원 범위도 넓습니다. 2026년 8월 기준으로 C/C++와 Java, Python, JavaScript·TypeScript, Go, Rust, Ruby를 지원합니다. Flask와 React, Spring Boot, Express 같은 주요 프레임워크에도 적용할 수 있습니다.
그렇다면 CodeMender 에이전트는 어떻게 취약점의 발견과 검증, 수정을 하나의 작업 흐름으로 연결할까요? 오류가 나타난 지점만 고치는 데 그치지 않고 코드의 흐름을 따라 실제 원인을 찾는 방식으로 연결합니다.
증상이 아니라 근본 원인을 찾는 방법
취약점이 드러난 지점과 실제 원인이 있는 지점은 다를 수 있습니다. 프로그램이 중단된 코드만 고치면 같은 문제가 다른 실행 경로에서 다시 나타날 수 있습니다.
딥마인드가 2025년 10월 공개한 사례에서는 힙 버퍼 오버플로가 발견됐습니다. 실제 원인은 프로그램이 중단된 지점이 아니라 XML 요소를 파싱하는 과정의 잘못된 스택 관리에 있었습니다. CodeMender 에이전트는 오류가 발생한 코드를 찾는 데 그치지 않고 데이터가 이동한 경로를 추적해 문제의 원인을 찾아 수정했습니다.
기존 코드를 선제적으로 보강한 사례도 있습니다. 딥마인드는 이미지 압축 라이브러리인 libwebp의 일부에 경계 안전성 주석을 적용했습니다. 이 과정에서 발생한 컴파일 오류와 테스트 실패도 CodeMender 에이전트가 수정했습니다. 이는 하나의 취약점만 막는 대신 같은 유형의 메모리 안전성 문제가 발생할 가능성을 낮춘 사례입니다.
딥마인드가 예시로 밝힌 사례를 보면 CodeMender 에이전트가 취약점을 찾고, 분석하고, 수정하는 일련의 과정을 스스로 수행함을 알 수 있습니다. 이를 절차로 구분하면 스캔, 위험 확인, 해결로 나누어 볼 수 있습니다.
스캔부터 패치까지 어떻게 작업이 이어질까?
먼저 CodeMender 에이전트는 저장소를 스캔합니다. 문자열이나 알려진 취약 패턴만 비교하지 않고 코드의 제어 흐름과 데이터 경로, 애플리케이션의 목적을 함께 분석합니다.
다음은 위험 확인입니다. 의심되는 코드를 바로 위험으로 단정하지 않고 조직이 직접 관리하는 샌드박스나 격리된 가상 머신에서 빌드해 개념 증명 익스플로잇을 실행합니다. 공격이 성공하면 실제로 악용할 수 있는 취약점이라는 근거가 남습니다. 이 결과는 수정 우선순위에 반영됩니다. 잠재적 위험보다는 실제로 익스플로잇이 성공한 취약점을 먼저 처리한다고 보면 됩니다.
마지막은 해결입니다. 근본 원인을 고친 패치를 만들고 다시 빌드해 기존 테스트를 실행하며 취약점 해결과 회귀 여부를 함께 확인합니다. 패치는 자동으로 저장소에 반영되지 않습니다. 개발자가 코드 차이를 검토하고 승인해야 커밋됩니다.

이러한 절차가 실제 CI/CD 파이프라인에서 자리 잡으려면 개발자가 익숙한 환경에서 작업을 이어갈 수 있어야 합니다. 구글 클라우드는 이를 지원합니다. 개발자는 로컬 CLI로 CodeMender 에이전트를 실행하고 VS Code 같은 기존 개발 도구에서 발견 사항과 코드 변경 내역을 확인할 수 있습니다. 검증과 수정 작업은 CI/CD 파이프라인에 연계할 수 있습니다.
한편, 추론과 작업 조정은 구글 클라우드에서 처리합니다. 코드 빌드와 테스트, 개념 증명 실행은 사용자가 관리하는 로컬 환경이나 샌드박스에서 진행합니다. 추론 영역과 실행 영역이 나뉘는 만큼 어떤 데이터가 구글 클라우드로 전송되고 얼마나 오래 보관되는지도 확인해야 합니다.
소스 코드는 어디까지 구글 클라우드로 전송될까?
결론부터 말하면 저장소 전체를 구글 클라우드에 복제하지는 않습니다. 로컬 CLI가 코드 접근을 중개합니다. 작업에 필요한 코드 조각과 파일 내용, 취약점 정보, 패치 제안, 명령 실행 결과만 구글 클라우드에서 호스팅하는 CodeMender 에이전트로 전달합니다.
저장소 전체를 올리지 않는다는 말이 코드가 외부로 전혀 나가지 않는다는 뜻은 아닙니다. 분석에 필요한 일부 코드와 메타데이터는 구글 클라우드의 추론 환경으로 전송됩니다. 도입 전에 조직의 소스 코드 분류 기준과 외부 처리 정책이 이러한 데이터 전송을 허용하는지 확인해야 합니다.
구글 클라우드에 따르면 코드 조각과 추적 상태를 포함한 활성 세션 데이터는 중단된 작업을 다시 시작할 수 있도록 최대 7일 동안 보관합니다. 사용자는 보관 기간이 끝나기 전에도 세션 데이터를 직접 삭제할 수 있습니다. 사용자의 소스 코드와 프롬프트, 보안 발견 사항은 구글의 모델 학습에 사용되지 않습니다.
데이터 처리 범위는 구글 클라우드로 전송되는 정보만 확인해서는 안 됩니다. 코드 빌드와 테스트, 개념 증명 실행은 사용자가 관리하는 로컬 환경에서 진행합니다. 따라서 에이전트의 명령 실행 권한과 파일·네트워크 접근 범위도 통제해야 합니다.
로컬 실행 환경은 어떻게 보호할까?
로컬 실행 권한을 관리하는 핵심 수단이 config.yaml입니다. 이 파일은 단순한 환경 설정을 넘어 에이전트가 실행할 수 있는 명령과 접근할 파일, 샌드박스와 네트워크 사용 범위를 정하는 보안 정책 역할을 합니다.
기본 설정에서는 에이전트가 파일을 수정하거나 쉘 명령을 실행하기 전에 사용자에게 확인을 요청합니다. 로컬 샌드박스도 기본으로 사용합니다. 샌드박스는 파일 접근 범위를 제한하고 외부 네트워크 연결을 차단합니다.
빌드 과정에서 외부 패키지를 받아야 한다면 별도의 설정이 필요합니다. 가능하면 필요한 의존성을 미리 받아 두는 편이 좋습니다. 현재 샌드박스의 네트워크를 열면 특정 도메인만 허용하는 방식이 아니라 전체 아웃바운드 연결을 허용하므로 주의해야 합니다.
검사할 파일 형식도 확인해야 합니다. 프로그래밍 언어뿐 아니라 YAML, JSON, 쉘 스크립트, IaC 같은 파일에도 취약점이 있을 수 있으니 검사 대상에 포함할지 검토하는 것이 좋습니다.
사람의 확인 없이 파이프라인이 실행되는 CI/CD 환경에서는 사용자 승인 단계를 끌 수 있습니다. 이때는 CodeMender 에이전트가 명령과 코드를 자동으로 실행하므로 일회용 샌드박스나 격리된 가상 머신을 사용해야 합니다. 에이전트가 만든 패치는 로컬 diff로만 제시됩니다. 따라서 CI/CD에서도 코드 리뷰와 테스트, 배포, 승인을 거쳐 반영하도록 구성하는 것이 좋습니다.
기존 보안 도구와 함께 사용해야 하는 이유
CodeMender 에이전트 활용에 앞서 살펴야 할 것들을 모두 확인했다면 마지막으로 남은 것은 기존 도구와 에이전트를 어떻게 조화롭게 잘 활용할 것인지를 정하는 것입니다. CodeMender 에이전트는 기존 보안 도구와 코드 리뷰를 모두 대신하는 제품이 아닙니다. 취약점의 실제 위험을 확인하고 수정하는 데 필요한 시간을 줄이는 역할에 가깝습니다.
정적 분석 도구는 정해진 규칙을 바탕으로 넓은 범위의 코드를 빠르게 검사합니다. 소프트웨어 구성 분석 도구는 오픈소스 의존성과 알려진 취약점을 관리합니다. 비밀 정보 탐지 도구는 코드와 설정 파일에 노출된 인증 정보를 찾습니다.
CodeMender 에이전트는 코드의 맥락과 실행 가능성을 분석하는 데 강점이 있습니다. 개념 증명 익스플로잇으로 실제 위험을 확인하고 근본 원인을 수정하는 패치까지 만듭니다.
각 도구의 역할을 연결하면 더 효과적인 코드 보안 흐름을 구성할 수 있습니다. 기존 보안 도구가 찾은 항목을 CodeMender 에이전트로 검증하고 패치할 수 있습니다. CodeMender 에이전트가 만든 수정안은 기존 코드 리뷰와 CI/CD 파이프라인에서 다시 검사합니다.
발견과 검증, 수정, 승인을 하나의 흐름으로 연결하는 것입니다. 에이전트가 개발자를 대신하는 것이 아니라 개발자와 역할을 나눠 보안 검토의 범위를 넓힌다고 이해하면 됩니다.
늘어나는 코드에 맞춰 보안 검토에도 AI를 적용해야 할 때!
보안 검토에 에이전트를 투입하는 목적은 사람의 검토를 없애는 것이 아닙니다. 반복적인 분석과 검증, 패치 작성의 부담을 줄여 개발자가 실제 위험과 중요한 의사 결정에 집중하도록 돕는 것입니다. 기존 정적 분석과 소프트웨어 구성 분석, 코드 리뷰, CI/CD 보안 절차를 보완하는 도구로 접근해야 합니다.
늘어나는 코드에 맞춰 취약점 검증과 수정을 머신 스피드로 하고 싶다면 메가존소프트 문의 포털을 통해 상담을 신청해 주세요.



