Ringkasan CodeMender

Peluncuran model AI canggih memicu kekhawatiran luas terkait kerentanan kode. Seiring penyerang mendapatkan akses ke kemampuan baru untuk menghasilkan eksploitasi, tim keamanan berada di bawah tekanan waktu yang sangat besar untuk secara proaktif menemukan dan memperbaiki kerentanan sebelum penyerang mengeksploitasinya.

CodeMender adalah agen keamanan kode AI yang dapat menemukan, memverifikasi, dan memperbaiki kerentanan mendalam dalam codebase Anda. CodeMender menggabungkan harness yang telah disesuaikan dengan LLM, menggunakan perintah, keterampilan, dan logika orkestrasi yang dirancang oleh Google DeepMind untuk mengubah model menjadi sistem agentic yang dikhususkan untuk keamanan kode.

Cara kerjanya

CodeMender menangani skala dan keragaman lingkungan perusahaan modern, dengan kode yang mencakup berbagai bahasa dan jenis sistem:

  • Menemukan kerentanan dengan memindai codebase Anda menggunakan LLM yang dipandu oleh agen, memanfaatkan alat khusus dan rekayasa perintah untuk memfokuskan model pada kelemahan keamanan. Atau, Anda dapat mengimpor daftar kerentanan dari alat pemindaian keamanan eksternal.
  • Memverifikasi kerentanan dengan membangun kode dan mencoba mengeksploitasi kerentanan yang ditemukan untuk memverifikasi apakah kerentanan tersebut dapat dieksploitasi. Hal ini membantu memprioritaskan kerentanan yang dikonfirmasi dan mengurangi rasio positif palsu.
  • Perbaiki kerentanan dengan membuat dan menguji patch yang kompatibel dengan bahasa codebase Anda.

Selama ketiga tahap tersebut, Anda dapat memberikan konteks kepada CodeMender untuk memastikan CodeMender memperhitungkan nuansa aplikasi dan model ancaman Anda. Kombinasi LLM dengan harness CodeMender yang disesuaikan memberikan hasil berkualitas lebih tinggi dibandingkan dengan menggunakan LLM saja untuk menemukan dan memperbaiki kerentanan.

Arsitektur sistem

Dari perspektif pengguna, sistem CodeMender terdiri dari dua komponen:

  • Agen: Sistem multi-agen yang dihosting yang menjalankan logika bisnis inti dan penalaran.
  • Klien: Klien yang berjalan di komputer Anda, yang bertindak sebagai CLI (untuk mengeluarkan perintah dan melihat output) dan daemon (untuk menjalankan perintah atas nama agen, dengan isolasi opsional di dalam sandbox tingkat proses lokal untuk mengompilasi kode, menjalankan pengujian, dan memverifikasi kerentanan dengan aman).

Bahasa dan framework yang didukung

CodeMender mendukung bahasa berikut secara default: C/C++, C# / .NET, Go, Java, JavaScript dan TypeScript, Kotlin, Python, Ruby, Rust, dan PHP. Selain itu, Gemini Code Assist menyediakan dukungan luas untuk library standar dalam bahasa ini, serta framework perusahaan umum (seperti HTML/CSS, Django, Flask, React, Spring Boot, ASP.NET, dan Express).

Bahasa pemrograman yang tercantum bukanlah batas yang ketat. Karena CodeMender adalah agen keamanan kode AI, CodeMender dapat menganalisis dan memperbaiki kode dalam bahasa apa pun yang dipahami oleh model yang mendasarinya. Dukungan umumnya tersedia untuk bahasa non-hak milik.

Memindai bahasa pemrograman tambahan

Anda dapat mengonfigurasi CodeMender untuk memindai bahasa pemrograman yang tidak ada dalam set defaultnya dengan salah satu cara berikut:

  • Konfigurasi global: tambahkan ekstensi file bahasa pemrograman ke bagian scan.extensions.include pada file konfigurasi ~/.codemender/config.yaml CodeMender global.
  • Konfigurasi per repositori: tambahkan ekstensi file bahasa pemrograman ke bagian scan.extensions.include pada file konfigurasi config.yaml CodeMender di repositori.

Misalnya, untuk memindai bahasa atau format skrip tambahan:

scan:
  extensions:
    include:
      # Default languages
      - .py
      - .java
      - .go
      - .js
      - .jsx
      - .mjs
      - .cjs
      - .ts
      - .tsx
      - .c
      - .cc
      - .cpp
      - .cxx
      - .h
      - .hpp
      - .cs
      - .rs
      - .kt
      - .kts
      - .rb
      - .php
      # Additional / custom languages
      - .swift
      - .scala
      - .sh

  # Exclude build, dependency, cache, and artifact directories
  exclude_dirs:
    - node_modules
    - vendor
    - dist
    - bin
    - target
    - obj
    - build
    - .gradle

Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi opsi pemindaian, lihat Parameter konfigurasi (config.yaml).

Catatan tentang kualitas

CodeMender tidak memublikasikan evaluasi formal per bahasa. Bahasa default mencerminkan tempat kami memiliki cakupan tolok ukur terbanyak; hasil dalam bahasa lain akan bervariasi. Jika organisasi Anda memerlukan bahasa tertentu yang diprioritaskan untuk evaluasi yang lebih mendalam atau penyertaan default, hubungi tim Akun Google Anda.

Model yang didukung

CodeMender mendukung model berikut:

Klik untuk meluaskan model yang didukung

CodeMender juga mendukung Gemini 3.8 Flash Cyber dan Gemini 4 Argon Cyber Permissive untuk pelanggan yang memiliki akses melalui Program Fairwind.

Gemini 4 Argon (gemini-4-argon) menyertakan kemampuan keamanan cyber bawaan yang dapat memblokir permintaan yang melibatkan pembuatan eksploitasi atau verifikasi kerentanan. Setiap pemblokiran keamanan pada gemini-4-argon akan otomatis memicu percobaan ulang terhadap Gemini 3.8 Flash Cyber (gemini-3.8-flash-cyber), lalu kembali ke Gemini 3.8 Flash (gemini-3.8-flash) jika project Anda tidak memiliki akses ke Gemini 3.8 Flash Cyber.

Untuk menentukan model saat menjalankan perintah CodeMender CLI, lihat Menentukan model.

Region yang didukung

CodeMender tersedia secara global.

Melacak penggunaan token

CodeMender menampilkan konsumsi token di dua tempat: baris status langsung saat perintah berjalan, dan ringkasan satu baris saat perintah berhasil diselesaikan. Jumlah mencakup token input, output, dan total untuk sesi saat ini.

Baris status live

Saat cm find, cm fix, cm verify, atau cm session resume berjalan, teruskan flag --compact untuk menampilkan baris status berkelanjutan yang diperbarui saat agen bekerja:

cm find ./src/auth/ --compact

Baris status melaporkan total sesi kumulatif:

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

Sesi yang dilanjutkan akan terus dihitung dari tempat sesi sebelumnya berhenti. Jumlah total dapat mencakup token penalaran internal model, sehingga dapat melebihi in + out.

Keluar dari ringkasan

Jika perintah berhasil diselesaikan dan setidaknya satu langkah alat dijalankan, CodeMender akan mencetak ringkasan satu baris dengan waktu yang berlalu dan total token:

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

Penggunaan token yang ditagih

Untuk melihat tren biaya dan penggunaan token kumulatif yang ditagih di seluruh project Google Cloud Anda, lihat Melihat laporan penagihan dan tren biaya di Penagihan Cloud.

Mulai menggunakan CLI

Siapkan alat CLI dan lakukan inisialisasi ruang kerja Anda untuk mulai memindai.

Prasyarat

Sebelum menginisialisasi CodeMender CLI, pastikan lingkungan Anda disiapkan dengan benar:

  • Menyiapkan project Google Cloud : Siapkan project Google Cloud Anda dengan API dan peran IAM yang diperlukan.
  • Download CodeMender CLI: Download dan instal biner CodeMender CLI untuk sistem operasi Anda.
  • Konfigurasi Google Cloud kredensial dan project: Konfigurasi Google Cloud Kredensial Default Aplikasi (ADC) dan tetapkan project target Anda untuk mengautentikasi CLI.
  • Sediakan kode sumber Anda: Buat clone atau salin kode sumber project yang ingin Anda pindai ke ruang kerja Anda.
  • Configure Sandbox: Menentukan pemasangan direktori, profil akses jaringan, dan pengecualian keamanan untuk lingkungan sandbox.

Menentukan model

Secara default, CodeMender menggunakan Gemini 3.8 Flash. Untuk mengganti model default, teruskan flag --model dengan ID model yang sesuai:

  • Gemini 3.8 Flash (default): --model gemini-3.8-flash
  • Gemini 3.8 Flash Cyber: --model gemini-3.8-flash-cyber
  • Gemini 4 Argon: --model gemini-4-argon
  • Gemini 4 Argon Cyber Permissive: --model gemini-4-argon-cyber-permissive
  • Gemini 3.7 Flash: --model gemini-3.7-flash (tidak digunakan lagi pada 28 Januari 2027)
  • Gemini 3.6 Flash: --model gemini-3.6-flash (tidak digunakan lagi; dihentikan pada 19 November 2026)
  • Gemini 3.5 Flash: --model gemini-3.5-flash
  • Gemini 3.1 Pro Preview: --model gemini-3.1-pro-preview

Model yang tidak digunakan lagi masih berfungsi hingga tanggal penghentiannya, dan CLI akan mencetak peringatan saat Anda menggunakannya. Setelah model dihentikan, permintaan yang menggunakannya akan gagal. Beralihlah ke Gemini 3.8 Flash sebelum tanggal penghentian.

Perintah berikut mendukung flag --model:

  • cm find
  • cm verify
  • cm fix

Untuk menentukan model saat menjalankan salah satu perintah ini, gunakan sintaksis berikut:

cm COMMAND TARGET --model MODEL_NAME

Keamanan dan privasi data

Bagian berikut menguraikan model keamanan, kebijakan retensi data, dan kontrol akses CodeMender:

Data apa yang dikirim CodeMender ke cloud?

Saat menggunakan CodeMender, alat CLI lokal memediasi akses ke kode Anda, sehingga memastikan Anda tidak pernah mengupload repositori kode sumber lengkap ke server Google dan agen yang dihosting tidak meng-clone-nya secara independen.

Sebagai gantinya, CLI secara ketat melokalkan data yang dikirim ke agen yang dihosting oleh Google, yang terdiri dari:

  • Konten file atau cuplikan kode yang ditargetkan, informasi kerentanan, patch yang diusulkan, dan hasil eksekusi perintah.
  • Metadata, diagnostik, error, dan telemetri penggunaan (seperti token yang digunakan dan durasi perintah).

Kami tidak pernah menggunakan kode sumber pelanggan Anda untuk melatih bobot model yang mendasarinya.

Apa yang dimaksud dengan kebijakan retensi?

CodeMender menggunakan kebijakan retensi data jangka pendek yang ketat:

  • Retensi maksimum 7 hari: Kami menyimpan data sesi, termasuk cuplikan kode dan status pelacakan, hingga 7 hari di penyimpanan Gemini Enterprise Agent Platform agar pengguna dapat melanjutkan pemindaian yang terhenti dengan lancar. Setelah 7 hari, sistem akan otomatis menghapusnya (lihat Tanpa Retensi Data).
  • Penghapusan eksplisit: Pelanggan tidak perlu menunggu 7 hari; mereka dapat memicu pembersihan langsung semua data sesi dengan memanggil DeleteInteraction.
  • Temuan sementara: Kami tidak menyimpan temuan dan patch kerentanan dalam database yang bertahan lama; temuan dan patch tersebut terakumulasi dalam memori selama pipeline.

Siapa yang dapat mengakses data?

CodeMender menggunakan pendekatan "Zero-Data-Access" terkait visibilitas manusia:

  • Tidak ada akses manusia: Tidak ada grup manusia atau engineer Google yang memiliki akses untuk membaca data pelanggan di lingkungan produksi.
  • Tidak ada visibilitas operator: Bahkan untuk proses debug produksi dan pelacakan error, operator Google dibatasi dan tidak memiliki visibilitas ke konteks kode sumber pelanggan atau status sesi sementara.
  • Isolasi ketat: Kami mengisolasi dan mengontrol akses semua data secara logis berdasarkan organisasi dan project penagihan pelanggan untuk melindungi privasi tenant dalam infrastruktur bersama kami.
  • Kontrol Layanan VPC (VPC-SC): Untuk lebih melindungi lingkungan Anda, arsitektur CodeMender sepenuhnya mendukung VPC-SC. Hal ini memungkinkan Anda menentukan perimeter keamanan yang aman di sekitar resource Google Cloud , sehingga membantu mengurangi risiko pemindahan data yang tidak sah saat data yang dilokalkan dikirim ke mesin penalaran cloud.

Langkah berikutnya

Untuk petunjuk mendetail, lihat panduan berikut: