고급 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를 초기화하기 전에 환경이 올바르게 준비되었는지 확인하세요.
- Google Cloud 프로젝트 설정: 필수 API 및 IAM 역할로 your Google Cloud project를 설정합니다.
- CodeMender CLI 다운로드: 운영체제용 CodeMender CLI 바이너리를 다운로드하고 설치합니다.
- Google Cloud 사용자 인증 정보 구성: CLI를 인증하도록 Google Cloud 애플리케이션 기본 사용자 인증 정보 (ADC)를 구성합니다.
- 소스 코드 프로비저닝: 스캔할 프로젝트의 소스 코드를 작업 공간에 클론하거나 복사합니다.
- 샌드박스 구성: 샌드박스 환경의 디렉터리 마운트, 네트워크 액세스 프로필, 보안 예외를 정의합니다.
모델 지정
기본적으로 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 findcm verifycm fix
이러한 명령어를 실행할 때 모델을 지정하려면 다음 구문을 사용하세요.
cm COMMAND TARGET --model MODEL_NAME
보안 및 데이터 개인 정보 보호
다음 섹션에서는 CodeMender의 보안 모델, 데이터 보관 정책, 액세스 제어를 간략하게 설명합니다.
CodeMender는 어떤 데이터를 클라우드로 전송하나요?
CodeMender를 사용하면 로컬 CLI 도구가 코드에 대한 액세스를 중재하므로 전체 소스 코드 저장소를 Google 서버에 업로드하지 않으며 호스팅된 에이전트가 이를 독립적으로 클론하지 않습니다.
대신 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 리소스 주위에 안전한 보안 경계를 정의하여 로컬 데이터가 클라우드 추론 엔진으로 전송되는 동안 데이터 무단 반출 위험을 완화할 수 있습니다.
다음 단계
자세한 안내는 다음 가이드를 참고하세요.