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
CLI CodeMender 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 terganggu
Jika sesi dijeda karena gangguan jaringan atau kegagalan langkah, lanjutkan dari tahap checkpoint terbaru:
cm session resume SESSION_ID
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
Buat laporan Markdown dengan gaya GitHub.
cm report --format md
JSON
Mengekspor semua detail temuan sesi sebagai JSON mentah.
cm report --format json
SARIF
Mengekspor temuan dalam format SARIF standar (v2.1.0) untuk diintegrasikan dengan alat keamanan lainnya.
cm report --format sarif
Memfilter dan mengurutkan tanda
- Menampilkan patch kode yang diusulkan (
--patches): Menyertakan perbedaan terpadu lengkap dari perbaikan yang dihasilkan dalam laporan.bash cm report --patches - Filter menurut tingkat keparahan (
--severity): Lihat temuan yang cocok dengan tingkat (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): Lihat temuan dari awalan ID sesi tertentu.cm report --session SESSION_ID_PREFIX
- Tampilkan artefak agen (
--artifacts): Sertakan jalur ke artefak 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 dalam antrean untuk verifikasi (cm verify) atau patching (cm fix).
FIXED- Artinya: CodeMender telah membuat patch untuk kerentanan, menerapkan perbedaan pada codebase lokal Anda, dan berhasil mengompilasi serta 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 mengubah temuan
menjadi
FIXED. Fitur ini akan tetap dalam status ini kecuali jika pemindaian mendatang mendeteksi regresi.
DISMISSED- Artinya: Kerentanan ditetapkan sebagai tidak aktif, baik karena diidentifikasi sebagai positif palsu atau sudah diperbaiki, atau temuan tidak memiliki keyakinan yang cukup untuk dikonfirmasi sebagai dapat dieksploitasi (termasuk terhadap model ancaman project Anda jika model tersebut diberikan selama aktivasi).
- Cara penanganannya: Menandai item sebagai
DISMISSEDakan menonaktifkan pemberitahuan di masa mendatang dan mengecualikan temuan dari output CLI aktif Anda dengancm report --status OPEN. Menjalankan kembalicm verifypada temuan yang ditutup akan memeriksa ulang atau memulihkan item yang ditutup.
REOPENED- Artinya: Kerentanan yang sebelumnya ditandai sebagai
FIXEDatauDISMISSEDtelah terdeteksi ulang dalam pemindaian codebase berikutnya. - Cara penanganannya: Status ini menunjukkan regresi (seperti penggabungan git yang buruk yang membatalkan patch) atau strategi mitigasi yang gagal. Masalah ini ditandai 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 pada aplikasi atau infrastruktur yang mendasarinya, yang berpotensi menyebabkan sistem disusupi sepenuhnya.
- Alasan dikategorikan sebagai Kritis: Memenuhi nilai minimum dampak konsekuensi tinggi (seperti Eksekusi Kode Jarak Jauh atau penulisan tingkat root), dapat dijangkau langsung dari batas yang tidak tepercaya tanpa prasyarat, dan didukung oleh analisis aliran taint dengan keyakinan tinggi atau Bukti Konsep (PoC) yang divalidasi yang dieksekusi di dalam sandbox CodeMender.
HIGH- Artinya: Kerentanan ini merupakan kelemahan keamanan serius yang dapat menyebabkan kontrol sistem tanpa otorisasi, eskalasi hak istimewa, atau eksposur data yang signifikan, tetapi memerlukan kondisi tertentu untuk dieksekusi.
- Mengapa dikategorikan sebagai Tinggi: Meskipun dampak eksploitasi tinggi (misalnya, pembacaan database arbitrer atau pembajakan administratif), eksploitasi sedikit dibatasi. Mungkin mengharuskan penyerang memiliki autentikasi pengguna standar, bergantung pada konfigurasi sistem tertentu, atau memerlukan serangkaian tindakan yang sangat presisi.
MEDIUM- Artinya: Kerentanan ini menimbulkan risiko sedang, biasanya mengekspos data terbatas atau memungkinkan gangguan terlokalisasi, tetapi berisiko rendah terhadap sistem host.
- Mengapa dikategorikan sebagai Sedang: Eksploitasi sangat dibatasi oleh keterjangkauan atau kompleksitas. Eksploitasi ini umumnya memerlukan interaksi aktif pengguna (seperti mengklik link berbahaya), hak istimewa yang mendalam, atau kondisi yang kompleks untuk melewati lapisan pertahanan, dan area yang terpengaruh pada akhirnya dibatasi.
LOW- Artinya: Temuan ini mewakili risiko keamanan kecil atau kurangnya kebersihan pertahanan mendalam secara umum yang tidak menimbulkan ancaman langsung dengan sendirinya.
- Alasan dikategorikan sebagai Rendah: Memiliki eksploitasi yang sangat rendah atau dampak minimal. Temuan ini biasanya digunakan oleh penyerang untuk pengintaian atau sidik jari konfigurasi, bukan untuk kompromi langsung, dan tidak dapat digunakan untuk mengeksekusi kode arbitrer atau memindahkan data aplikasi sensitif secara tidak sah.
Pemeliharaan Workspace
Untuk mereset file pelacakan status lokal dan membersihkan cache eksekusi sementara, jalankan:
cm clean