Peluncuran model AI canggih telah memicu kekhawatiran luas terkait kerentanan kode. Saat penyerang mendapatkan akses ke kemampuan baru untuk membuat eksploitasi, tim keamanan berada di bawah tekanan waktu yang sangat besar untuk secara proaktif menemukan dan memperbaiki kerentanan sebelum dapat dieksploitasi.
CodeMender adalah agen keamanan kode AI yang dapat menemukan, memverifikasi, dan memperbaiki kerentanan mendalam dalam codebase Anda. CodeMender membungkus harness yang telah di-fine-tune di sekitar LLM, menggunakan perintah, kemampuan, dan logika orkestrasi yang direkayasa Google DeepMind untuk mengubah model menjadi sistem agentik yang khusus dalam keamanan kode.
Cara kerjanya
CodeMender dirancang untuk menangani skala dan keragaman lingkungan perusahaan modern, tempat kode mencakup berbagai bahasa dan jenis sistem:
- Menemukan kerentanan dengan memindai codebase Anda menggunakan LLM yang dipandu oleh agen, memanfaatkan alat khusus dan rekayasa prompt untuk memfokuskan model pada kelemahan keamanan. Atau, Anda dapat mengimpor daftar kerentanan dari alat pemindaian keamanan eksternal.
- Verifikasi kerentanan dengan membangun kode dan mencoba mengeksploitasi kerentanan yang ditemukan untuk memverifikasi apakah kerentanan tersebut dapat dieksploitasi. Hal ini membantu memprioritaskan kerentanan yang telah 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 ke CodeMender untuk memastikan CodeMender memperhitungkan nuansa aplikasi dan model ancaman Anda. Kombinasi LLM dengan harness yang di-fine-tune CodeMender ini memberikan hasil yang lebih berkualitas dibandingkan hanya menggunakan LLM untuk menemukan dan memperbaiki kerentanan.
Arsitektur sistem
Dari perspektif pengguna, sistem CodeMender terdiri dari dua komponen:
- Agen: Sistem multi-agen yang dihosting dan 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, seperti menjelajahi codebase dan memverifikasi kerentanan dan patch).
Bahasa dan framework yang didukung
CodeMender mendukung jenis kerentanan teratas di semua bahasa pemrograman utama: C/C++, Go, Java, Python, TypeScript / JavaScript, Rust, dan Ruby. Selain itu, model ini memiliki dukungan luas untuk library standar dalam bahasa tersebut, serta framework perusahaan umum (seperti HTML/CSS, Django, Flask, React, Spring Boot, dan Express).
Jenis kerentanan yang didukung mencakup spektrum luas kelemahan keamanan software di seluruh logika aplikasi, penanganan data, pengelolaan memori, dan alur kontrol autentikasi.
Model yang didukung
CodeMender mendukung model berikut:
Klik untuk meluaskan model yang didukung
Untuk menentukan model saat menjalankan perintah CodeMender CLI, lihat Menentukan model.
Keamanan dan privasi data
Bagian berikut menguraikan model keamanan, kebijakan retensi data, dan kontrol akses CodeMender:
Data apa yang dikirim ke cloud?
Saat menggunakan CodeMender, alat CLI lokal memediasi akses ke kode Anda, sehingga memastikan bahwa repositori kode sumber lengkap Anda tidak pernah diupload ke server Google dan tidak dikloning secara independen oleh agen yang dihosting.
Sebagai gantinya, data yang dikirim ke agen yang dihosting oleh Google bersifat dilokalkan dan terdiri dari:
- Konten atau cuplikan kode file yang ditargetkan, informasi kerentanan, patch yang diusulkan, dan hasil eksekusi perintah.
- Metadata, diagnostik, error, dan telemetri penggunaan (seperti token yang digunakan dan durasi perintah).
Kode sumber pelanggan Anda tidak pernah digunakan untuk melatih bobot model yang mendasarinya.
Apa kebijakan retensi?
CodeMender menggunakan kebijakan retensi data jangka pendek yang ketat:
- Retensi maksimum 7 hari: Data sesi, termasuk cuplikan kode dan status pelacakan, disimpan hingga 7 hari di penyimpanan Gemini Enterprise Agent Platform agar pengguna dapat melanjutkan pemindaian yang terganggu dengan lancar. Setelah 7 hari, data akan otomatis dihapus (lihat Retensi Data Nol).
- Penghapusan eksplisit: Pelanggan tidak perlu menunggu 7 hari; mereka dapat memicu pembersihan langsung semua data sesi dengan memanggil
DeleteInteraction. - Temuan sementara: Temuan dan patch kerentanan tidak disimpan dalam database yang berumur panjang, tetapi terakumulasi dalam memori selama pipeline.
Siapa yang dapat mengakses data?
CodeMender didesain dengan pendekatan "Tanpa Akses Data" 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: Semua data diisolasi secara logis dan dikontrol aksesnya berdasarkan organisasi dan project penagihan pelanggan untuk melindungi privasi tenant dalam infrastruktur bersama kami.
- Kontrol Layanan VPC (VPC-SC): Untuk melindungi lingkungan Anda lebih lanjut, arsitektur CodeMender sepenuhnya mendukung Kontrol Layanan VPC (VPC-SC). Dengan begitu, Anda dapat 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.
Mulai menggunakan CLI
Siapkan alat CLI dan lakukan inisialisasi ruang kerja untuk mulai memindai.
Prasyarat
Sebelum Anda menginisialisasi CodeMender CLI, pastikan lingkungan Anda disiapkan dengan benar:
- Download CodeMender CLI: Download dan instal biner CodeMender CLI untuk sistem operasi Anda.
- Konfigurasi kredensial Google Cloud: Konfigurasi Google Cloud Kredensial Default Aplikasi (ADC) untuk mengautentikasi CLI.
- Sediakan kode sumber Anda: Clone atau salin kode sumber project yang ingin Anda pindai ke ruang kerja Anda.
Menentukan model
Secara default, CodeMender menggunakan Gemini 3.5 Flash. Untuk mengganti model default, teruskan flag --model dengan ID model yang sesuai:
- Gemini 3.5 Flash (default):
--model gemini-3.5-flash - Pratinjau Gemini 3.1 Pro:
--model gemini-3.1-pro-preview - Pratinjau Gemini 3 Flash:
--model gemini-3-flash-preview
Flag --model didukung oleh perintah berikut:
cm findcm verifycm fix
Untuk menentukan model saat menjalankan salah satu perintah ini, gunakan sintaksis berikut:
cm COMMAND TARGET --model MODEL_NAME
Langkah berikutnya
Untuk petunjuk mendetail, lihat panduan berikut:
- Menginstal CLI dan mengonfigurasi kredensial
- Memindai dan memverifikasi kerentanan kode
- Mengimpor temuan keamanan pihak ketiga
- Memperbaiki kerentanan kode dan mengelola perbedaan
- Mengelola sesi dan mengekspor laporan