Mulai cepat Codex Security CLI

Siapkan Codex Security, jalankan pemindaian lokal, lalu tinjau laporan, temuan, dan cakupannya.

Jalankan pemindaian standar pada repositori lokal dengan Codex Security CLI mandiri. Panduan mulai cepat ini menghasilkan laporan tersimpan yang dapat Anda tinjau dan buka kembali. Untuk pemindaian dalam percakapan Codex, gunakan plugin Codex Security .

Periksa prasyarat

Gunakan Node.js 24 atau 26, atau Node.js 22 mulai versi 22.13.0. Anda juga memerlukan Python 3.10 atau yang lebih baru. Python 3.10 juga memerlukan tomli. Pemindaian yang menggunakan inferensi OpenAI memerlukan akses Codex Security. Bergantung pada akun dan repositori Anda, pemindaian seluruh repositori mungkin juga memerlukan Trusted Access for Cyber.

CLI berjalan dengan izin sistem operasi Anda dan tidak berhenti untuk meminta persetujuan. Proses pemindaian dapat mewarisi lingkungan Anda, jadi hapus kredensial yang tidak terkait sebelum memulai. Lihat Izin pemindaian lokal.

Siapkan dan verifikasi CLI

Jalankan paket publik dengan npx:

npx @openai/codex-security --version

Perintah ini menampilkan versi paket yang terinstal. Gunakan info --json untuk memeriksa versi plugin yang disertakan, atau --help untuk menampilkan daftar perintah. Perubahan paket tercantum dalam rilis CLI dan SDK.

Masuk

Masuk dengan akun ChatGPT Anda:

npx @openai/codex-security login

Pada mesin tanpa browser, tambahkan --device-auth dan ikuti petunjuk masuk yang ditampilkan. Gunakan --auth chatgpt dalam perintah pemindaian di bawah untuk memilih metode masuk tersebut meskipun lingkungan Anda juga berisi API key.

Untuk API key dan penyedia lainnya, lihat Memilih autentikasi pemindaian. Untuk Amazon Bedrock, gunakan Kredensial AWS dan akses model sebagai pengganti metode masuk ChatGPT atau API key OpenAI.

Siapkan pemindaian

Ganti jalur berikut dengan jalur repositori Anda dan direktori hasil baru di luar worktree Git repositori tersebut:

REPOSITORY=/path/to/repository
SCAN_DIR=/path/outside/repository/codex-security-results

Hasil dapat mencakup cuplikan kode sumber dan detail kerentanan. Pilih lokasi privat. Jika Anda tidak menyertakan --output-dir, CLI menggunakan direktori status persistennya.

Periksa target dan lokasi keluaran:

npx @openai/codex-security scan "$REPOSITORY" \
  --auth chatgpt --output-dir "$SCAN_DIR" --dry-run

Uji coba yang berhasil mengonfirmasi masukan lokal. Uji coba ini tidak memulai pemindaian, memuat kredensial, atau memeriksa interpreter Python plugin, sehingga tidak memastikan bahwa autentikasi dan penyiapan runtime akan berhasil.

Jalankan pemindaian pertama Anda

Hapus --dry-run untuk memulai pemindaian:

npx @openai/codex-security scan "$REPOSITORY" \
  --auth chatgpt --output-dir "$SCAN_DIR"

Terminal interaktif menampilkan dasbor langsung. Terminal noninteraktif menampilkan baris kemajuan. Tambahkan --headless untuk menggunakan baris kemajuan di terminal interaktif juga. Dasbor dan log yang disimpan dapat berisi kode sumber atau kredensial. Tinjau keduanya sebelum membagikannya.

Saat pemindaian selesai, stderr menyertakan jalur laporan, jumlah temuan, dan waktu yang berlalu. Misalnya:

  REPORT    /path/outside/repository/codex-security-results/report.md

  FINDINGS  2 (2 confirmed this scan; 0 previously found; 1 high, 1 medium)
  ELAPSED   42s
  RESULTS   /path/outside/repository/codex-security-results

Secara default, tingkat keparahan temuan tidak menyebabkan pemindaian gagal. Untuk stdout yang dapat dibaca mesin, tambahkan --json. Agar temuan menyebabkan pemeriksaan CI gagal, tetapkan kebijakan tingkat keparahan.

Tinjau hasil

Buka report.md dari direktori yang dilaporkan. Konfirmasikan target dan revisinya, lalu baca cakupannya sebelum meninjau setiap temuan.

Periksa scan.status di scan-manifest.json untuk memastikan pemindaian telah selesai. Tinjau coverage.json untuk mengetahui area yang ditinjau, jalur yang dikecualikan, pekerjaan yang ditunda, dan pertanyaan yang belum terjawab.

Pemindaian yang selesai keluar dengan kode 0 kecuali temuannya memenuhi ambang tingkat keparahan yang dikonfigurasi, yang menghasilkan kode 1. Kesenjangan cakupan tidak mengubah kode keluar, sehingga kode keluar 0 tidak berarti setiap file telah ditinjau. Kegagalan input, eksekusi, integritas hasil, atau keluaran wajib menghasilkan kode 2. Halaman Referensi CLI menjelaskan kode keluar tersebut.

Untuk setiap temuan, periksa kode yang terdampak, prasyarat bagi penyerang, bukti validasi, dan ketidakpastian yang tersisa. Temuan berdasarkan kode sumber tidak selalu mencakup reproduksi yang berhasil saat runtime. Pilih temuan untuk diperbaiki hanya setelah buktinya mendukung masalah yang diklaim.

Pertahankan keutuhan direktori pemindaian saat membagikan atau mengarsipkannya. Direktori ini berisi scan-manifest.json, findings.json, dan coverage.json beserta laporan dan artefak pendukung. Lihat Artefak pemindaian untuk mengetahui struktur lengkapnya.

Tinjau kembali pemindaian tersimpan

Tampilkan daftar pemindaian untuk repositori:

npx @openai/codex-security scans list "$REPOSITORY"

Salin ID pemindaian dari hasilnya:

npx @openai/codex-security scans show SCAN_ID

Setelah pemindaian interaktif selesai dan menghasilkan temuan, CLI juga menyediakan penjelajah temuan. Tinjau bukti di sana sebelum memilih perbaikan. Untuk temuan yang disimpan, gunakan perintah validasi dan patch.

Pilih pemindaian berikutnya

Tujuan Panduan
Memindai jalur tertentu atau diff Memilih target pemindaian
Menggunakan pemindaian mendalam atau membatasi durasinya Mengonfigurasi pemindaian mendalam
Menyediakan arsitektur atau kebijakan keamanan Menambahkan konteks keamanan
Mengubah model atau tingkat upaya penalaran Mengonfigurasi runtime
Menetapkan batas perkiraan biaya Opsi keluaran dan kebijakan
Memindai beberapa repositori Pemindaian massal
Memindai pull request GitHub atau menjalankan pemindaian terjadwal Panduan GitHub Actions
Memilih penyedia CI lain Ringkasan CI/CD

Untuk masalah autentikasi, perbedaan hasil pemindaian berulang, atau umpan balik tentang positif palsu, lihat FAQ CLI.