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 --versionPerintah 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 loginPada 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-resultsHasil 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-runUji 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-resultsSecara 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_IDSetelah 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.