Mengelola sesi dan mengekspor laporan

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 report

Laporan 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 menurut severity (default) atau time. 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 OPEN secara 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 DISMISSED akan menonaktifkan pemberitahuan di masa mendatang dan mengecualikan temuan dari output CLI aktif Anda dengan cm report --status OPEN. Menjalankan kembali cm verify pada temuan yang ditutup akan memeriksa ulang atau memulihkan item yang ditutup.
  • REOPENED
    • Artinya: Kerentanan yang sebelumnya ditandai sebagai FIXED atau DISMISSED telah 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.

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