CodeMender melacak setiap upaya pemindaian, verifikasi, dan perbaikan sebagai sesi stateful yang didukung oleh database SQLite lokal (state.db). Anda dapat memeriksa sesi aktif, melanjutkan tugas yang dijeda, dan mengekspor laporan temuan mendetail.
Pengelolaan sesi
CodeMender CLI mempertahankan sesi eksekusi stateful secara lokal, sehingga Anda dapat melacak tugas aktif, melanjutkan alur kerja yang terganggu, dan mengekspor laporan keamanan.
Mencantumkan sesi aktif dan sebelumnya
Jalankan perintah berikut untuk mencantumkan semua sesi, statusnya (RUNNING, WAITING_FOR_TOOL, COMPLETED, FAILED, CANCELLED), dan jalur target:
cm session list
Melanjutkan sesi yang terhenti
Jika sesi dijeda karena gangguan jaringan atau kegagalan langkah, lanjutkan sesi dari tahap checkpoint terbaru:
cm session resume SESSION_ID
Anda dapat meneruskan --yes (-y), --sandbox, --allow-all-paths, --allow-all-commands, dan --bypass-warning ke cm session resume untuk mengontrol perintah konfirmasi, sandboxing, dan batas kebijakan untuk operasi yang dilanjutkan.
Membatalkan sesi yang sedang berjalan
Untuk menghentikan sesi aktif dan menghentikan eksekusi komputasi agen backend:
cm session cancel SESSION_ID
Melihat laporan dan mengekspor patch
Menampilkan temuan sesi, status verifikasi, dan detail patch menggunakan cm report.
Format output
Tabel terminal (default)
Daftar ringkasan temuan.
cm reportLaporan HTML
Membuat laporan HTML yang diformat. Gunakan --open (atau -o) untuk meluncurkannya secara otomatis di browser default Anda.
cm report --format html --open
Markdown
Membuat laporan Markdown bergaya GitHub.
cm report --format md
JSON
Ekspor semua detail temuan sesi sebagai JSON mentah.
cm report --format json
SARIF
Ekspor temuan dalam format SARIF standar (v2.1.0) untuk diintegrasikan dengan alat keamanan lainnya.
cm report --format sarif
Pemfilteran dan pengurutan flag
- Menampilkan patch kode yang diusulkan (
--patches): Sertakan diff terpadu lengkap dari perbaikan yang dihasilkan dalam laporan.bash cm report --patches - Filter menurut tingkat keparahan (
--severity): Melihat temuan yang cocok dengan level (CRITICAL,HIGH,MEDIUM,LOW).bash cm report --severity HIGH - Filter menurut status (
--status): Lihat temuan yang cocok dengan status (OPEN,FIXED,DISMISSED,REOPENED).bash cm report --status OPEN - Filter menurut sesi (
--session): Melihat temuan dari awalan ID sesi tertentu.cm report --session SESSION_ID_PREFIX
- Tampilkan artefak agen (
--artifacts): Sertakan jalur ke artefak operasi yang dihasilkan agen (seperti log, skrip eksploitasi).bash cm report --artifacts - Urutkan temuan (
--sort): Urutkan hasil menurutseverity(default) atautime.bash cm report --sort time - Memfilter menurut ID temuan: Teruskan ID temuan (atau awalan) tertentu sebagai argumen posisional untuk melihat detail satu temuan.
cm report FINDING_ID_PREFIX
Status temuan kerentanan
CodeMender melacak temuan di seluruh status kerentanan berikut:
OPEN- Artinya: Kerentanan telah berhasil dideteksi selama pemindaian (atau diimpor dari alat pihak ketiga), tetapi belum diverifikasi, di-patch, atau ditandai sebagai tidak aktif.
- Cara penanganannya: Ini adalah status awal dari setiap kelemahan keamanan yang baru ditemukan. Kerentanan dalam status
OPENsecara aktif dimasukkan ke dalam antrean untuk verifikasi (cm verify) atau patching (cm fix).
FIXED- Artinya: CodeMender telah membuat patch untuk kerentanan, menerapkan diff ke codebase lokal Anda, serta berhasil mengompilasi dan menjalankan pengujian verifikasi untuk membuktikan bahwa eksploitasi tidak lagi berhasil.
- Cara penanganannya: Setelah patch dikonfirmasi dapat menyelesaikan masalah
tanpa merusak logika kode yang ada, CodeMender akan mentransisikan temuan
ke
FIXED. Status ini akan tetap dipertahankan kecuali jika pemindaian mendatang mendeteksi regresi.
DISMISSED- Artinya: Kerentanan ditetapkan sebagai tidak aktif, baik karena diidentifikasi sebagai positif palsu atau sudah diperbaiki, atau temuan tersebut tidak memiliki tingkat keyakinan yang cukup untuk dikonfirmasi sebagai dapat dieksploitasi (termasuk terhadap pembuatan model ancaman project Anda jika disediakan selama orientasi).
- Cara penanganannya: Menandai item sebagai
DISMISSEDakan menonaktifkan pemberitahuan di masa mendatang dan mengecualikan temuan dari output CLI aktif Anda dengancm report --status OPEN. Menjalankan ulangcm verifypada temuan yang ditutup akan memeriksa ulang atau memulihkan item yang ditutup.
REOPENED- Artinya: Kerentanan yang sebelumnya ditandai sebagai
FIXEDatauDISMISSEDtelah terdeteksi kembali dalam pemindaian codebase berikutnya. - Cara penanganannya: Status ini menunjukkan regresi (seperti penggabungan git yang buruk yang mengembalikan patch) atau strategi mitigasi yang gagal. Hal ini menandai masalah untuk segera dievaluasi ulang dan mengharuskan developer meninjau proses patching.
- Artinya: Kerentanan yang sebelumnya ditandai sebagai
Tingkat keparahan kerentanan
CodeMender mengategorikan temuan ke dalam tingkat keparahan berikut:
CRITICAL- Artinya: Kerentanan ini menimbulkan risiko langsung dan serius terhadap aplikasi atau infrastruktur yang mendasarinya, yang berpotensi menyebabkan penyusupan sistem secara menyeluruh.
- Alasan dikategorikan sebagai Kritis: Kerentanan ini memenuhi batas dampak berkonsekuensi tinggi (seperti Remote Code Execution atau penulisan level root), dapat langsung dijangkau dari batas yang tidak tepercaya tanpa prasyarat, dan didukung oleh analisis taint-flow yang sangat meyakinkan atau Bukti Konsep (PoC) tervalidasi yang dijalankan di dalam sandbox CodeMender.
HIGH- Artinya: Kerentanan ini merupakan kelemahan keamanan serius yang dapat menyebabkan kontrol sistem yang tidak sah, eskalasi hak istimewa, atau eksposur data yang signifikan, tetapi memerlukan kondisi tertentu untuk dieksekusi.
- Alasan dikategorikan sebagai Tinggi: Meskipun dampak eksploitasi tinggi (misalnya, pembacaan database arbitrer atau pembajakan administratif), eksploitabilitasnya sedikit dibatasi. Kerentanan ini mungkin mengharuskan penyerang memiliki autentikasi pengguna standar, bergantung pada konfigurasi sistem tertentu, atau memerlukan rangkaian tindakan yang sangat tepat.
MEDIUM- Artinya: Kerentanan ini menimbulkan risiko sedang, biasanya mengekspos data yang dibatasi atau memungkinkan gangguan yang terlokalisasi, tetapi berisiko rendah terhadap sistem host.
- Alasan dikategorikan sebagai Sedang: Eksploitasi sangat dibatasi oleh keterjangkauan atau kompleksitas. Umumnya, kerentanan ini memerlukan interaksi pengguna yang aktif (seperti mengklik link berbahaya), hak istimewa yang mendalam, atau kondisi kompleks untuk mengabaikan lapisan pertahanan, dan area yang terpengaruh pada akhirnya dibatasi.
LOW- Artinya: Temuan ini menunjukkan risiko keamanan kecil atau kurangnya kebersihan defense-in-depth secara umum yang tidak menimbulkan ancaman langsung.
- Alasan dikategorikan sebagai Rendah: Kerentanan ini memiliki eksploitabilitas yang sangat rendah atau dampak minimal. Temuan ini biasanya digunakan oleh penyerang untuk pengintaian atau sidik jari konfigurasi, bukan penyusupan langsung, dan tidak dapat digunakan untuk mengeksekusi kode arbitrer atau memindahkan data aplikasi yang sensitif.
Mengumpulkan data diagnostik untuk dukungan
Jika Anda menghubungi dukungan terkait masalah pada CodeMender, jalankan
cm support-bundle untuk mengumpulkan data diagnostik yang diperlukan dukungan ke dalam
satu arsip .tar.gz. Perintah ini membaca file lokal dan memeriksa kredensial, konfigurasi, dan koneksi Anda ke CodeMender. Skrip ini tidak mengupload apa pun: Anda meninjau arsip dan melampirkannya ke kasus dukungan Anda.
Untuk mengumpulkan data untuk sesi tertentu, teruskan ID atau awalan ID-nya. Untuk menemukan ID sesi, jalankan cm session list. Anda dapat mengulangi --session:
cm support-bundle --session SESSION_ID
Tanpa --session, perintah akan mengumpulkan aktivitas dari 72 jam terakhir. Untuk
mengubah jendela, gunakan --since:
cm support-bundle --since 24h
Perintah ini menulis cm-support-bundle-TIMESTAMP.tar.gz ke direktori saat ini dan mencetak jalurnya. Untuk memilih jalur, gunakan --output (atau -o).
Isi arsip
Secara default, arsip tidak menyertakan kode sumber, perbedaan, serta input dan output alat. Isinya adalah sebagai berikut:
- Versi CLI, sistem operasi, dan daftar data yang dikumpulkan.
- Variabel lingkungan
CM_*serta setelan project dan proxy. - Hasil pemeriksaan kredensial, konfigurasi, dan konektivitas.
- File konfigurasi dan kebijakan perintah Anda.
- Status, model, dan target setiap sesi yang dipilih.
- Waktu per giliran, penggunaan token, serta nama dan durasi panggilan alat.
Data sesi masih dapat berisi jalur file dan direktori, argumen setiap
perintah cm, judul temuan, dan pesan error alat.
Jika dukungan meminta detail selengkapnya, tambahkan --include-content. Tindakan ini juga mengumpulkan
temuan, patch yang dihasilkan, dan log debug CLI, yang mencatat argumen
setiap panggilan alat. File ini dapat berisi kode sumber dari repositori Anda,
jadi tinjau arsipnya sebelum Anda membagikannya.
cm support-bundle --session SESSION_ID --include-content
Dalam kedua mode, perintah ini menyamarkan token akses, kunci API, kunci pribadi, header otorisasi, dan kolom sandi.
Untuk melewati pemeriksaan kredensial, konfigurasi, dan konektivitas, misalnya
saat Anda menjalankan perintah tanpa akses jaringan, gunakan --skip-health.
Pemeliharaan ruang kerja
Untuk mereset file pelacakan status lokal dan membersihkan cache eksekusi sementara, jalankan:
cm clean