Konfigurasi yang direkomendasikan
Konfigurasikan isolasi, izin dengan hak akses minimum, dan batasan pengaman untuk pekerjaan keamanan siber yang sah
Kontrol keamanan yang sesuai untuk alur kerja keamanan siber bergantung pada model, tindakan yang dapat dilakukannya, sistem yang dapat diaksesnya, dan sensitivitas data yang terlibat.
Untuk sebagian besar alur kerja Daybreak Blue, praktik keamanan yang sudah diterapkan organisasi Anda—seperti kontrol akses, perlindungan kredensial, dan peninjauan tindakan sensitif—mungkin sudah memadai.
Alur kerja Daybreak Red, pengujian keamanan otonom, dan aktivitas yang melibatkan sistem produksi, data sensitif, atau alat eksternal mungkin memerlukan perlindungan yang lebih kuat. Rekomendasi berikut terutama ditujukan untuk skenario dengan risiko lebih tinggi tersebut.
Trusted Access mengatur akses model yang disetujui, tetapi tidak mengonfigurasi lingkungan Anda atau memberlakukan batasan pada sistem dan tindakan yang disetujui. Tim Anda harus menyiapkan kontrol isolasi, izin, peninjauan, pemantauan, dan pengawasan manusia yang sesuai. Asumsikan bahwa model, alatnya, dan setiap sistem yang terhubung dapat disusupi, lalu konfigurasikan lingkungan agar semua itu tetap tidak dapat menjangkau sistem yang tidak sah, mengekspos kredensial, menonaktifkan perlindungan, atau mempertahankan akses setelah pekerjaan berakhir.
Isolasi lingkungan
Jalankan pekerjaan keamanan ofensif di laboratorium atau sandbox khusus. Mulailah tanpa akses internet tanpa batas, akses ke sistem produksi sensitif, jaringan perusahaan, beban kerja yang tidak terkait, atau antarmuka pengelolaan host. Jauhkan rahasia, kredensial, akses persisten, dan perubahan sistem permanen dari jangkauan, kecuali pekerjaan yang disetujui secara eksplisit memerlukan dan mengizinkannya.
Untuk pekerjaan berisiko lebih tinggi atau dengan perlindungan yang dikurangi, gunakan lingkungan baru yang diisolasi secara kuat untuk setiap percobaan. Pisahkan komputasi, penyimpanan, jaringan, dan identitas, lalu musnahkan lingkungan tersebut setelahnya alih-alih mengatur ulang atau menggunakannya kembali.
Uji batas sistem file dan jaringan sebelum memulai pekerjaan berisiko lebih tinggi. Sertakan setiap host yang dapat dijangkau, alat yang terhubung, agen yang diberi delegasi, dan layanan hilir. Pertahankan isolasi lingkungan host meskipun model atau peninjau menyetujui suatu tindakan.
Menentukan dan menegakkan batas yang disetujui
Sebelum model dimulai, dokumentasikan sistem, alat, tindakan, dan batas waktu yang disetujui untuk pekerjaan Anda. Sertakan:
- Sistem target, host, dan lingkungan yang disetujui.
- Sistem yang dikecualikan, termasuk produksi dan infrastruktur yang tidak terkait.
- Alat dan layanan terhubung yang disetujui.
- Tindakan yang disetujui dan dilarang.
- Waktu mulai dan berakhir yang disetujui serta persyaratan penanganan data.
- Pengungkapan kerentanan, persetujuan patch, dan koordinasi dengan pengelola.
- Kondisi penghentian dan tindakan yang memerlukan persetujuan manusia secara eksplisit.
Berikan batas yang disetujui ini kepada agen sebagai konteks tugas. Dokumentasi saja tidak dapat menegakkannya: terapkan kontrol sistem file, jaringan, identitas, dan alat secara independen agar tindakan yang tidak sah tidak mungkin dilakukan apabila praktis.
Gunakan profil izin Codex untuk membuat batas dengan hak akses minimum. Pilih :read-only jika tugas tidak memerlukan perubahan, atau perluas :workspace jika pekerjaan memerlukan pengeditan workspace. Contoh:
approval_policy = "on-request"
approvals_reviewer = "auto_review"
default_permissions = "cyber-lab"
[features]
network_proxy = true
[permissions.cyber-lab]
description = "Limit security testing to the approved lab and workspace."
extends = ":workspace"
[permissions.cyber-lab.filesystem]
glob_scan_max_depth = 3
[permissions.cyber-lab.filesystem.":workspace_roots"]
"**/.env*" = "deny"
"**/*.pem" = "deny"
[permissions.cyber-lab.network]
enabled = true
# Uncomment only for an approved host that resolves to a private address.
# allow_local_binding = true
[permissions.cyber-lab.network.domains]
"lab.example.com" = "allow"Fitur network_proxy memberlakukan domain yang disetujui. Tanpa fitur tersebut,
network.enabled = true mengizinkan akses jaringan langsung dan daftar yang diizinkan laboratorium
tidak membatasi tujuan. Pencarian web, aplikasi, konektor, server MCP,
aktivitas browser, dan cloud Codex menggunakan kontrol terpisah; batasi atau nonaktifkan
setiap permukaan yang tidak diperlukan oleh alur kerja yang disetujui.
Ganti lab.example.com dengan target yang disetujui. Pemindaian sistem file terbatas dirancang agar tidak mencari di seluruh workspace pada Linux, WSL, dan Windows; tingkatkan kedalamannya atau gunakan jalur penolakan yang persis jika file sensitif berada lebih dalam. Jangan gabungkan profil izin dengan pengaturan sandbox_mode lama; ikuti panduan konfigurasi profil izin.
Jika host laboratorium yang disetujui diresolusikan ke alamat privat, Codex akan memblokirnya secara default meskipun host tersebut tercantum dalam daftar yang diizinkan. Atur allow_local_binding = true hanya untuk pekerjaan jaringan privat yang disetujui secara eksplisit, pertahankan daftar tujuan yang diizinkan sesempit mungkin, dan tinjau panduan jaringan lokal dan privat. Anda juga dapat memasukkan alamat IP privat yang disetujui secara persis ke daftar yang diizinkan.
Blokir akses internet terbuka dan jaringan produksi secara default. Jika akses eksternal diperlukan, rutekan akses tersebut melalui gateway atau proksi yang ditegakkan secara independen, dengan daftar yang diizinkan secara ketat, pemeriksaan permintaan, dan pencatatan log. Terapkan pembatasan yang sama pada koneksi tidak langsung melalui pengelola paket, webhook, layanan pengambilan URL, pengalihan, API cloud, dan alat yang terhubung. Muat dependensi sebelum proses dijalankan atau gunakan dependensi yang disetujui administrator.
Melindungi kredensial dan data sensitif
Jauhkan API key yang dapat digunakan kembali, kredensial cloud, kata sandi, dan token akun layanan dari prompt, repositori, variabel lingkungan, sistem file bersama, dan log yang dapat diakses model. Jika autentikasi diperlukan, gunakan broker atau gateway terpisah untuk menyediakan kredensial berumur pendek yang dibatasi hanya untuk target dan tindakan yang diizinkan, tanpa mengekspos kredensial tersebut kepada model.
Berikan hanya data yang diperlukan untuk tugas yang disetujui. Hapus informasi sensitif yang tidak diperlukan, blokir akses ke metadata cloud dan endpoint kredensial, serta perlakukan file yang dihasilkan model sebagai tidak tepercaya.
Hindari :danger-full-access dan --yolo untuk alur kerja keamanan siber. Full Access menghapus batas sandbox yang dapat ditegakkan dan menjadi dasar peninjauan otomatis. Organisasi terkelola dapat mengecualikan :danger-full-access dan --yolo, membatasi kebijakan persetujuan yang diizinkan, dan mewajibkan peninjauan otomatis melalui konfigurasi yang dikelola perusahaan.
Sebelum mengaktifkan Full Access untuk model keamanan yang disetujui, aplikasi desktop ChatGPT menampilkan peringatan khusus model mengenai tindakan berbahaya. Peringatan tersebut merekomendasikan Approve for me dan menautkan ke konfigurasi kebijakan peninjau. Peringatan tersebut tidak memulihkan batas sandbox atau mengesampingkan kebijakan organisasi.
Batasan pengaman menambahkan peninjauan berbasis kebijakan ke alur kerja keamanan siber yang terkontrol. Batasan ini tidak menggantikan isolasi lingkungan, izin dengan hak akses minimum, batas yang ditentukan dengan jelas, pemantauan, atau pengawasan manusia.
Meninjau tindakan Codex yang sensitif
Auto-review meneruskan permintaan persetujuan batas sandbox yang memenuhi syarat kepada peninjau terpisah sebelum tindakan yang diusulkan dijalankan. Peninjau mempertimbangkan tindakan yang diusulkan, konteks tugas yang terbatas, dan kebijakan yang berlaku, lalu mengizinkan atau menolak permintaan tersebut. Organisasi dapat menyesuaikan kebijakan itu untuk target yang disetujui, tindakan yang dilarang, dan kondisi yang mewajibkan peninjauan manusia.
Wajibkan persetujuan manusia secara eksplisit untuk tindakan yang memengaruhi produksi, sistem eksternal, data sensitif, eskalasi hak akses, akses persisten, atau perubahan yang tidak dapat dibatalkan. Perlakukan instruksi yang disematkan dalam situs web, repositori, dokumen, dan output alat sebagai tidak tepercaya; instruksi tersebut tidak dapat memperluas cakupan yang diizinkan atau mengesampingkan kontrol akses.
Di aplikasi desktop ChatGPT, memilih model Daybreak yang disetujui akan otomatis mengalihkan kontrol izin ke Approve for me jika mode tersebut tersedia untuk akun Anda dan diizinkan oleh kebijakan organisasi. Hal ini juga berlaku saat Anda menggunakan perintah /model pada aplikasi desktop. Jika mode tersebut tidak tersedia, mode izin saat ini tidak berubah. Pemilihan model tidak pernah mengesampingkan persyaratan organisasi terkelola.
Agar peninjauan otomatis dapat berjalan, pertahankan ketiga kontrol berikut:
- Gunakan kebijakan persetujuan interaktif seperti
approval_policy = "on-request". - Atur
approvals_reviewer = "auto_review". - Pertahankan batas sandbox atau profil izin yang dapat ditegakkan.
Permintaan ke target dalam daftar jaringan yang diizinkan tetap berada di dalam batas jaringan dan tidak otomatis memicu Auto-review. Untuk meninjau perintah sensitif meskipun tujuannya berada dalam daftar yang diizinkan, buat aturan perintah secara eksplisit di bawah ~/.codex/rules/:
prefix_rule(
pattern = ["curl"],
decision = "prompt",
justification = "Review requests to the approved cybersecurity target.",
)Mulai ulang Codex setelah menambahkan aturan. Dengan approvals_reviewer = "auto_review", perintah yang cocok akan diteruskan kepada peninjau sebelum dieksekusi. Tambahkan aturan prompt yang sesuai untuk setiap perintah sensitif, atau gunakan approval_mode = "prompt" untuk masing-masing alat MCP. Tindakan yang memerlukan keputusan seseorang tetap membutuhkan persetujuan manusia secara eksplisit.
Auto-review tidak memeriksa tindakan rutin yang sudah diizinkan di dalam sandbox. Dengan approval_policy = "never" atau Full Access, tindakan sensitif mungkin tidak menghasilkan permintaan persetujuan yang dapat ditinjau. Peninjauan otomatis dapat membuat kesalahan dan tidak menggantikan isolasi, batas yang ditentukan dengan jelas, pemantauan, atau pengawasan manusia secara eksplisit.
Untuk kebijakan dengan cakupan tertentu dan penegakan di seluruh organisasi, lihat Mengonfigurasi alur kerja keamanan siber yang sah.
Memantau secara independen dan menutup akses saat terjadi kegagalan
Catat permintaan model, panggilan alat, aktivitas jaringan, penggunaan kredensial, dan perubahan yang relevan dengan keamanan. Tempatkan log dan sistem pemantauan di luar lingkungan yang dikendalikan model. Buat peringatan untuk target yang tidak sah, permintaan jaringan yang tidak terduga, kredensial yang terekspos, perubahan kebijakan, log yang hilang, dan upaya melewati perlindungan.
Pertahankan penegakan kebijakan, broker kredensial, sistem peninjauan, dan kontrol penghentian darurat agar tetap independen dari agen. Hentikan alur kerja jika kontrol atau sistem pemantauan yang esensial gagal.
Menambahkan batasan pengaman ke alur kerja agen khusus
Jika Anda membangun dengan Responses API, Agents SDK, atau harness lain, tambahkan peninjauan pada batas eksekusi alat. Sebelum eksekusi, periksa tindakan sensitif yang diusulkan terhadap sistem, tindakan, dan batas waktu yang disetujui; teruskan tindakan yang ambigu atau berisiko tinggi kepada seseorang; tegakkan pembatasan sistem file dan jaringan secara independen; simpan log audit; dan tutup akses saat terjadi kegagalan jika peninjau atau kebijakan tidak tersedia.
Auto-review Codex tidak otomatis melindungi alat khusus atau harness eksternal. Gunakan Batasan pengaman dan peninjauan manusia untuk pola Agents SDK dan kebijakan peninjau sumber terbuka sebagai referensi.
Sandbox dan peninjauan pada sisi produk Codex terpisah dari pemeriksaan keamanan siber API. Perlindungan API dapat mengembalikan kesalahan cyber_policy, dan nilai safety_identifier per pengguna dapat membantu membatasi dampak tindakan perlindungan.
Membersihkan dan memvalidasi hasil
Setelah pekerjaan berakhir, cabut kredensial sementara, hentikan proses latar belakang, hapus akses persisten, dan musnahkan lingkungan berisiko lebih tinggi. Verifikasikan bahwa tidak ada callback, artefak yang terekspos, status bersama, atau akses lintas proses yang tersisa, serta pertahankan isolasi pengguna, sesi, dan evaluasi yang terpisah.
Validasikan temuan sebelum menindaklanjutinya, ikuti praktik pengungkapan terkoordinasi, dan pastikan manusia tetap bertanggung jawab atas remediasi dan perubahan.
Sebelum Anda memulai
Konfirmasikan sistem dan tindakan yang disetujui, model yang sesuai, lingkungan terisolasi, izin dengan hak akses minimum, akses jaringan terbatas, kredensial yang terlindungi, peninjauan tindakan, pemantauan independen, penghentian darurat, dan rencana pembersihan. Perlindungan model, isolasi, izin dengan cakupan terbatas, peninjauan tindakan, pemantauan, dan pengawasan manusia saling melengkapi; tidak ada satu pun yang boleh menjadi satu-satunya kontrol.