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 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 temuan yang diringkas.
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 yang disesuaikan dengan 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 integrasi dengan alat keamanan lainnya.
cm report --format sarif
Flag pemfilteran dan pengurutan
- Menampilkan patch kode yang diusulkan (
--patches): Menyertakan diff terpadu lengkap dari perbaikan yang dibuat dalam laporan.bash cm report --patches - Memfilter berdasarkan tingkat keparahan (
--severity): Melihat temuan yang cocok dengan tingkat (CRITICAL,HIGH,MEDIUM,LOW).bash cm report --severity HIGH - Memfilter berdasarkan status (
--status): Melihat temuan yang cocok dengan status (OPEN,FIXED,DISMISSED,REOPENED).bash cm report --status OPEN - Memfilter berdasarkan sesi (
--session): Melihat temuan dari awalan ID sesi tertentu.cm report --session SESSION_ID_PREFIX
- Menampilkan artefak agen (
--artifacts): Menyertakan jalur ke artefak run yang dibuat agen (seperti log, skrip eksploitasi).bash cm report --artifacts - Mengurutkan temuan (
--sort): Mengurutkan hasil berdasarkanseverity(default) atautime.bash cm report --sort time - Memfilter berdasarkan ID temuan: Meneruskan ID temuan tertentu (atau awalan) sebagai argumen posisi 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 terdeteksi 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 celah 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, dan berhasil mengompilasi serta menjalankan pengujian verifikasi untuk membuktikan bahwa eksploitasi tidak lagi berhasil.
- Cara penanganannya: Setelah patch dikonfirmasi untuk menyelesaikan masalah tanpa merusak logika kode yang ada, CodeMender akan mengubah status temuan menjadi
FIXED. Status ini akan tetap ada 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 kepercayaan yang cukup untuk dikonfirmasi sebagai dapat dieksploitasi (termasuk terhadap model ancaman project Anda jika model tersebut diberikan selama orientasi).
- Cara penanganannya: Menandai item sebagai
DISMISSEDakan menonaktifkan pemberitahuan mendatang dan mengecualikan temuan dari output CLI aktif Anda dengancm report --status OPEN. Menjalankan kembalicm verifypada temuan yang ditolak akan memeriksa ulang atau memulihkan item yang ditolak.
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. Status ini menandai masalah untuk dievaluasi ulang segera 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 menimbulkan risiko langsung dan parah pada aplikasi atau infrastruktur yang mendasarinya, yang berpotensi menyebabkan kompromi sistem penuh.
- Alasan dikategorikan sebagai Critical: Kerentanan ini memenuhi batas 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 tingkat kepercayaan tinggi atau Bukti Konsep (PoC) yang divalidasi yang dieksekusi di dalam sandbox CodeMender.
HIGH- Artinya: Kerentanan ini mewakili celah keamanan parah yang dapat menyebabkan kontrol sistem yang tidak sah, eskalasi akses, atau eksposur data yang signifikan, tetapi memerlukan kondisi tertentu untuk dieksekusi.
- Alasan dikategorikan sebagai High: Meskipun dampak eksploitasi tinggi (misalnya, pembacaan database arbitrer atau pembajakan administratif), eksploitasi sedikit dibatasi. Eksploitasi mungkin mengharuskan penyerang memiliki autentikasi pengguna standar, bergantung pada konfigurasi sistem tertentu, atau memerlukan rangkaian tindakan yang sangat presisi.
MEDIUM- Artinya: Kerentanan ini menimbulkan risiko sedang, biasanya mengekspos data yang dibatasi atau memungkinkan gangguan lokal, tetapi berisiko rendah bagi sistem host.
- Alasan dikategorikan sebagai Medium: Eksploitasi sangat dibatasi oleh jangkauan atau kompleksitas. Eksploitasi umumnya memerlukan interaksi pengguna aktif (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 Low: Temuan ini memiliki eksploitasi yang sangat rendah atau dampak minimal. Temuan ini biasanya digunakan oleh penyerang untuk pengintaian atau sidik jari konfigurasi, bukan kompromi langsung, dan tidak dapat digunakan untuk menjalankan kode arbitrer atau mengeksfiltrasi data aplikasi sensitif.
Pemeliharaan ruang kerja
Untuk mereset file pelacakan status lokal dan membersihkan cache eksekusi sementara, jalankan:
cm clean