CodeMender 개요

고급 AI 모델의 출시로 인해 코드 취약점에 대한 광범위한 우려가 제기되었습니다. 공격자가 익스플로잇을 생성하는 새로운 기능에 액세스할 수 있게 되면서 보안팀은 익스플로잇이 악용되기 전에 취약점을 사전에 찾아 수정해야 하는 엄청난 시간적 압박을 받고 있습니다.

CodeMender는 코드베이스에서 심층적인 취약점을 찾아 확인하고 수정할 수 있는 AI 코드 보안 에이전트입니다. CodeMender는 Google DeepMind에서 설계한 프롬프트, 기술, 오케스트레이션 로직을 사용하여 LLM을 중심으로 미세 조정된 하니스를 래핑하여 모델을 코드 보안에 특화된 에이전트 시스템으로 전환합니다.

작동 방식

CodeMender는 코드가 여러 언어와 시스템 유형에 걸쳐 있는 최신 기업 환경의 규모와 다양성을 처리하도록 설계되었습니다.

  • 에이전트가 안내하는 LLM을 사용하여 코드베이스를 스캔하고 특수한 도구와 프롬프트 엔지니어링을 활용하여 모델이 보안 결함에 집중하도록 함으로써 취약점을 찾습니다. 또는 외부 보안 스캔 도구에서 취약점 목록을 가져올 수 있습니다.
  • 코드를 빌드하고 발견된 취약점을 악용하여 악용 가능한지 확인하여 취약점을 확인합니다. 이를 통해 확인된 취약점의 우선순위를 지정하고 거짓양성률을 줄일 수 있습니다.
  • 코드베이스의 언어와 호환되는 패치를 생성하고 테스트하여 취약점을 수정합니다.

세 단계 모두에서 CodeMender에 컨텍스트를 제공하여 애플리케이션 및 위협 모델의 미묘한 차이를 고려하도록 할 수 있습니다. LLM과 CodeMender의 미세 조정된 하니스를 결합하면 LLM만 사용하여 취약점을 찾고 수정하는 것보다 더 높은 품질의 결과를 얻을 수 있습니다.

시스템 아키텍처

사용자 관점에서 CodeMender 시스템은 두 가지 구성요소로 구성됩니다.

  • 에이전트: 핵심 비즈니스 로직과 추론을 실행하는 호스팅된 멀티 에이전트 시스템입니다.
  • 클라이언트: 머신에서 실행되는 클라이언트로, CLI (명령어를 실행하고 출력을 보는 데 사용)와 데몬 (코드베이스 탐색, 취약점 및 패치 확인 등 에이전트를 대신하여 명령어를 실행하는 데 사용) 역할을 모두 수행합니다.

지원되는 언어 및 프레임워크

CodeMender는 모든 주요 프로그래밍 언어(C/C++, Go, Java, Python, TypeScript / JavaScript, Rust, Ruby)에서 주요 취약점 유형을 지원합니다. 또한 이러한 언어의 표준 라이브러리와 일반적인 엔터프라이즈 프레임워크 (예: HTML/CSS, Django, Flask, React, Spring Boot, Express)를 광범위하게 지원합니다.

지원되는 취약점 유형은 애플리케이션 로직, 데이터 처리, 메모리 관리, 인증 제어 흐름 전반에 걸쳐 광범위한 소프트웨어 보안 결함을 포괄합니다.

지원되는 모델

CodeMender는 다음 모델을 지원합니다.

클릭하여 지원되는 모델 펼치기

CodeMender CLI 명령어를 실행할 때 모델을 지정하려면 모델 지정을 참고하세요.

지원되는 리전

CodeMender는 전 세계에서 사용할 수 있습니다.

토큰 사용량 추적

CodeMender는 명령어가 실행되는 동안의 실시간 상태 줄과 명령어가 성공적으로 완료될 때의 한 줄 요약이라는 두 곳에서 토큰 소비를 표시합니다. 개수는 현재 세션의 입력, 출력, 총 토큰을 포함합니다.

실시간 상태 줄

cm find, cm fix, cm verify 또는 cm session resume이 실행되는 동안 --compact 플래그를 전달하여 에이전트가 작동할 때 업데이트되는 롤링 상태 줄을 표시합니다.

cm find ./src/auth/ --compact

상태 줄은 누적 세션 총계를 보고합니다.

Tokens: 40k in / 12k out / 60k total

재개된 세션은 이전 실행이 중단된 지점부터 계속 계산됩니다. total 개수에는 모델의 내부 추론 토큰이 포함될 수 있으므로 in + out을 초과할 수 있습니다.

종료 요약

명령어가 성공적으로 완료되고 하나 이상의 도구 단계가 실행되면 CodeMender는 경과 시간과 총 토큰이 포함된 한 줄 요약을 출력합니다.

 Completed 14 tool steps in 3m 42s | Tokens: 40k in / 12k out / 60k total

청구된 토큰 사용량

your Google Cloud project 전반의 누적 청구된 토큰 사용량 및 비용 추세를 보려면 Cloud Billing에서 결제 보고서 및 비용 추세 보기를 참고하세요.

CLI 시작하기

CLI 도구를 설정하고 작업 공간을 초기화하여 스캔을 시작합니다.

기본 요건

CodeMender CLI를 초기화하기 전에 환경이 올바르게 준비되었는지 확인하세요.

모델 지정

기본적으로 CodeMender는 Gemini 3.5 Flash를 사용합니다. 기본 모델을 재정의하려면 해당 모델 식별자와 함께 --model 플래그를 전달합니다.

  • Gemini 3.5 Flash (기본값): --model gemini-3.5-flash
  • Gemini 3.1 Pro 프리뷰: --model gemini-3.1-pro-preview
  • Gemini 3 Flash 프리뷰: --model gemini-3-flash-preview

--model 플래그는 다음 명령어에서 지원됩니다.

  • cm find
  • cm verify
  • cm fix

이러한 명령어를 실행할 때 모델을 지정하려면 다음 구문을 사용하세요.

cm COMMAND TARGET --model MODEL_NAME

보안 및 데이터 개인 정보 보호

다음 섹션에서는 CodeMender의 보안 모델, 데이터 보관 정책, 액세스 제어를 간략하게 설명합니다.

클라우드로 전송되는 데이터는 무엇인가요?

CodeMender를 사용하면 로컬 CLI 도구가 코드에 대한 액세스를 중재하여 전체 소스 코드 저장소가 Google 서버에 업로드되지 않고 호스팅된 에이전트에 의해 독립적으로 클론되지 않도록 합니다.

대신 Google 호스팅 에이전트로 전송되는 데이터는 엄격하게 현지화되며 다음으로 구성됩니다.

  • 타겟팅된 파일 콘텐츠 또는 코드 스니펫, 취약점 정보, 제안된 패치, 명령어 실행 결과
  • 메타데이터, 진단, 오류, 사용량 원격 분석 (예: 사용된 토큰 및 명령어 기간)

고객 소스 코드는 기본 모델 가중치를 학습시키는 데 사용되지 않습니다.

보관 정책은 어떻게 되나요?

CodeMender는 엄격한 단기 데이터 보관 정책을 사용합니다.

  • 최대 7일 보관: 코드 스니펫 및 추적 상태를 포함한 세션 데이터는 사용자가 중단된 스캔을 원활하게 재개할 수 있도록 Gemini Enterprise Agent Platform 스토리지에 최대 7일 동안 보관됩니다. 7일 후에는 자동으로 삭제됩니다 (데이터 보관 기간 0일 참고).
  • 명시적 삭제: 고객은 7일을 기다릴 필요가 없습니다. DeleteInteraction을 호출하여 모든 세션 데이터를 즉시 정리할 수 있습니다.
  • 일시적인 발견 사항: 취약점 발견 사항 및 패치는 장기 데이터베이스에 저장되지 않고 파이프라인 중에 메모리에 누적됩니다.

누가 데이터에 액세스할 수 있나요?

CodeMender는 인간의 가시성과 관련하여 '데이터 액세스 없음' 접근 방식으로 설계되었습니다.

  • 인간 액세스 없음: 인간 그룹 또는 Google 엔지니어는 프로덕션 환경에서 고객 데이터를 읽을 수 없습니다.
  • 운영자 가시성 없음: 프로덕션 디버깅 및 오류 추적의 경우에도 Google 운영자는 제한되며 고객 소스 코드 컨텍스트 또는 일시적인 세션 상태를 볼 수 없습니다.
  • 엄격한 격리: 모든 데이터는 논리적으로 격리되고 조직 및 고객 결제 프로젝트별로 액세스 제어되어 공유 인프라 내에서 테넌트 개인 정보 보호를 위해 보호됩니다.
  • VPC 서비스 제어 (VPC-SC): 환경을 더욱 보호하기 위해 CodeMender의 아키텍처는 VPC 서비스 제어 (VPC-SC)를 완벽하게 지원합니다. 이를 통해 Google Cloud 리소스 주위에 안전한 보안 경계를 정의하여 현지화된 데이터가 클라우드 추론 엔진으로 전송되는 동안 데이터 무단 반출 위험을 완화할 수 있습니다.

다음 단계

자세한 안내는 다음 가이드를 참고하세요.