Bahasa Indonesia

Tinjauan otomatis

Tinjauan otomatis

Cara Codex meneruskan persetujuan pada batas sandbox kepada agen peninjau

Tinjauan otomatis menggantikan persetujuan manual pada batas sandbox dengan agen peninjau terpisah. Agen utama Codex tetap berjalan di dalam sandbox yang sama, dengan kebijakan persetujuan serta batas jaringan dan sistem file yang sama. Perbedaannya adalah siapa yang meninjau permintaan eskalasi yang memenuhi syarat.

Di aplikasi desktop ChatGPT, memilih model Daybreak yang disetujui secara 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 di aplikasi desktop. Jika mode tersebut tidak tersedia, mode izin saat ini tetap tidak berubah. Pemilihan model tidak pernah mengesampingkan persyaratan organisasi yang dikelola.

Sebelum mengaktifkan Full Access untuk model keamanan yang disetujui, aplikasi desktop ChatGPT menampilkan peringatan khusus model tentang tindakan berbahaya. Peringatan tersebut menyarankan Approve for me dan menautkan ke konfigurasi kebijakan peninjau. Peringatan tersebut tidak memulihkan batas sandbox atau mengesampingkan kebijakan organisasi.

Cara kerja tinjauan otomatis

Secara umum, alurnya adalah:

  1. Agen utama bekerja di dalam read-only atau workspace-write.
  2. Saat perlu melampaui batas sandbox, agen meminta persetujuan.
  3. Jika approvals_reviewer = "auto_review", Codex meneruskan permintaan persetujuan tersebut kepada agen peninjau terpisah, alih-alih berhenti untuk menunggu seseorang.
  4. Peninjau memutuskan apakah tindakan boleh dijalankan dan memberikan alasannya.
  5. Jika tindakan disetujui, eksekusi berlanjut. Jika ditolak, agen utama diperintahkan untuk mencari cara yang secara substansial lebih aman atau berhenti dan bertanya kepada pengguna.

Tinjauan otomatis adalah penggantian peninjau, bukan pemberian izin. Tinjauan ini tidak memperluas writable_roots, mengaktifkan akses jaringan, atau melemahkan jalur yang dilindungi. Tinjauan ini hanya mengubah cara Codex menangani tindakan yang sudah memerlukan persetujuan.

Kapan tinjauan otomatis dipicu

Tinjauan otomatis mengevaluasi permintaan persetujuan yang jika tidak ditinjau akan menghentikan proses untuk menunggu manusia. Permintaan ini meliputi:

  • Pemanggilan alat shell atau exec yang meminta eskalasi izin sandbox.
  • Permintaan jaringan yang diblokir oleh sandbox atau kebijakan saat ini.
  • Pengeditan file di luar root yang diizinkan untuk ditulisi.
  • Pemanggilan alat MCP atau aplikasi yang memerlukan persetujuan berdasarkan anotasi alat atau mode persetujuan yang dikonfigurasi.
  • Akses Computer Use ke situs web atau domain baru.

Tinjauan otomatis tidak berjalan untuk tindakan rutin yang sudah diizinkan di dalam sandbox. Jika perintah dapat berjalan di bawah sandbox_mode aktif, atau pemanggilan alat tetap dalam kebijakan yang diizinkan, agen utama akan melanjutkan tanpa tinjauan.

Computer Use merupakan kasus terpisah. Persetujuan aplikasi untuk Computer Use tetap ditampilkan langsung kepada pengguna, sehingga Tinjauan otomatis tidak menggantikan permintaan tingkat aplikasi tersebut.

Hal yang diblokir oleh tinjauan otomatis

Secara umum, Tinjauan otomatis dirancang untuk memblokir tindakan seperti:

  • mengirim data pribadi, rahasia, atau kredensial ke tujuan yang tidak tepercaya
  • mencari kredensial, token, cookie, atau materi sesi
  • pelemahan keamanan yang luas atau persisten
  • tindakan destruktif dengan risiko kerusakan permanen yang signifikan

Kebijakan persisnya tersedia dalam repositori Codex sumber terbuka: policy_template.md dan policy.md. Kebijakan tersebut dapat disesuaikan untuk setiap perusahaan dengan guardian_policy_config atau untuk setiap pengguna dengan [auto_review].policy lokal.

Hal yang dilihat peninjau

Peninjau itu sendiri merupakan agen Codex dengan tugas yang lebih sempit daripada agen utama: memutuskan apakah tindakan tertentu yang melampaui batas boleh dijalankan.

Peninjau melihat transkrip ringkas beserta permintaan persetujuan yang tepat. Hal tersebut biasanya mencakup pesan pengguna, pembaruan asisten yang ditampilkan, pemanggilan alat dan output alat yang relevan, serta tindakan yang sekarang diajukan untuk disetujui. Peninjau juga dapat melakukan pemeriksaan hanya-baca untuk mengumpulkan konteks yang belum tersedia, tetapi jarang melakukannya.

Penalaran asisten yang tersembunyi tidak disertakan. Tinjauan otomatis melihat item chat yang dipertahankan dan bukti dari alat, bukan rantai pemikiran privat.

Penolakan dan perilaku saat terjadi kegagalan

Penolakan eksplisit tidak diperlakukan seperti kesalahan sandbox biasa. Codex mengembalikan alasan peninjauan kepada agen utama dan menambahkan instruksi yang lebih tegas:

  • Jangan mengejar hasil yang sama melalui solusi alternatif, eksekusi tidak langsung, atau pengelakan kebijakan.
  • Lanjutkan hanya dengan alternatif yang secara substansial lebih aman.
  • Jika tidak, berhenti dan tanyakan kepada pengguna.

Codex juga menerapkan pemutus sirkuit penolakan untuk setiap giliran. Dalam implementasi sumber terbuka saat ini, Tinjauan otomatis menghentikan giliran setelah 3 penolakan berturut-turut atau 10 penolakan dalam jendela bergulir dari 50 tinjauan terakhir pada giliran yang sama.

Setiap hasil selain penolakan mengatur ulang penghitung penolakan berturut-turut. Saat pemutus terpicu, Codex menampilkan peringatan dan membatalkan giliran saat ini melalui interupsi, alih-alih membiarkan agen terus mengulang upaya eskalasi.

Timeout ditampilkan secara terpisah dari penolakan eksplisit, dan agen utama diberi tahu bahwa timeout saja bukan bukti bahwa tindakan tersebut tidak aman.

Tersedia juga jalur pengambilalihan eksplisit untuk tindakan yang ditolak. Dalam TUI sumber terbuka saat ini, jalankan /approve untuk membuka pemilih Penolakan Tinjauan otomatis, lalu pilih satu tindakan yang baru-baru ini ditolak untuk menyetujuinya bagi satu kali percobaan ulang. Codex menyimpan hingga 10 penolakan terbaru per tugas. Persetujuan tersebut bersifat sempit: hanya berlaku pada tindakan yang tepat itu, bukan pada tindakan serupa di masa mendatang; dicatat untuk satu kali percobaan ulang dalam konteks yang sama; dan percobaan ulang tetap melalui Tinjauan otomatis. Di balik layar, Codex menyisipkan penanda persetujuan dalam cakupan developer untuk tindakan yang tepat tersebut. Peninjau kemudian melihat pengambilalihan eksplisit oleh pengguna itu sebagai konteks, tetapi tetap mengikuti kebijakan dan dapat menolak lagi jika kebijakan menyatakan bahwa pengguna tidak dapat mengesampingkan jenis penolakan tersebut.

Konfigurasi

Untuk detail penyiapan, lihat Konfigurasi terkelola.

Kebijakan peninjau default tersedia dalam repositori Codex sumber terbuka: core/src/guardian/policy.md. Perusahaan dapat mengganti bagian khusus tenant dengan guardian_policy_config dalam persyaratan terkelola. Pengguna individu juga dapat menetapkan [auto_review].policy lokal dalam config.toml mereka, tetapi persyaratan terkelola diprioritaskan:

[auto_review]
policy = """
YOUR POLICY GOES HERE
"""

Untuk menyesuaikan kebijakan, salin seluruh redaksi kebijakan default terlebih dahulu, lalu lakukan iterasi berdasarkan profil risiko pribadi Anda.

Mengonfigurasi penugasan keamanan siber yang diotorisasi

Untuk pekerjaan keamanan yang diotorisasi, gabungkan peninjauan otomatis dengan cakupan penugasan tertulis dan profil izin dengan hak akses paling minimum. Gunakan target lab yang disetujui, dokumentasikan tindakan dan periode penugasan, serta jangan sertakan sistem produksi, host yang tidak terkait, kredensial, dan perubahan persisten dalam cakupan kecuali jika diotorisasi secara eksplisit.

Baik [auto_review].policy maupun guardian_policy_config akan menggantikan kebijakan peninjau Anda saat ini. Keduanya tidak digabungkan dengan kebijakan yang disertakan bersama model Anda atau dikelola oleh organisasi Anda. Instruksi peninjauan bawaan dan format respons tetap berlaku. Sebelum menggunakan salah satu contoh, salin seluruh kebijakan saat ini, pertahankan setiap aturan yang ada, dan tambahkan aturan untuk pekerjaan Anda yang disetujui. Ganti placeholder berhuruf kapital dengan kebijakan lengkap tersebut. Jika Anda tidak dapat mengakses kebijakan saat ini, jangan menimpanya.

Templat config.toml lokal berikut mengaktifkan peninjauan dan menambahkan ketentuan bercakupan setelah kebijakan peninjau yang ada:

approval_policy = "on-request"
approvals_reviewer = "auto_review"
default_permissions = ":workspace"

[auto_review]
policy = """
PASTE THE COMPLETE ACTIVE REVIEWER POLICY HERE BEFORE USING THIS EXAMPLE.

## Environment Profile
- Authorized target: lab.example.com.
- Approved actions: inspect the target, reproduce authorized vulnerabilities,
  and validate fixes within the documented engagement window.

## Tenant Risk Taxonomy and Allow/Deny Rules
- Allow only actions against the approved target that match the documented
  engagement scope and approved actions.
- Deny out-of-scope or unknown hosts, production access, credential theft,
  persistence, data exfiltration, destructive operations, and policy bypass.
- Deny ambiguous actions and high-impact changes until a human explicitly
  approves the exact target, action, and side effects.
"""

Ganti target contoh dan tindakan yang diizinkan dengan cakupan aktual yang disetujui. Terapkan pembatasan target dengan aturan sistem berkas dan jaringan yang independen; instruksi peninjau tidak menggantikan batasan tersebut.

Organisasi dapat menerapkan ketentuan yang sama dalam requirements.toml terkelola:

allowed_approval_policies = ["on-request"]
allowed_approvals_reviewers = ["auto_review"]
allowed_sandbox_modes = ["read-only", "workspace-write"]
default_permissions = ":workspace"

guardian_policy_config = """
PASTE THE COMPLETE ACTIVE REVIEWER POLICY HERE BEFORE USING THIS EXAMPLE.

## Environment Profile
- Authorized target: lab.example.com.

## Tenant Risk Taxonomy and Allow/Deny Rules
- Allow only approved actions against the documented engagement target.
- Deny out-of-scope hosts, production access, credential theft, persistence,
  data exfiltration, destructive operations, and attempts to bypass policy.
- Deny ambiguous or high-impact actions until a human explicitly approves the
  exact target, action, and side effects.
"""

[allowed_permission_profiles]
":read-only" = true
":workspace" = true
# ":danger-full-access" is omitted, so it is denied.

allowed_permission_profiles mengontrol profil izin saat ini. allowed_sandbox_modes juga mencegah akses penuh pada deployment yang masih menggunakan sandbox_mode lama.

guardian_policy_config terkelola lebih diprioritaskan daripada [auto_review].policy lokal milik pengguna. Pertahankan approval_policy = "on-request" atau kebijakan persetujuan interaktif lain yang memenuhi syarat dan pertahankan batas sandbox yang dapat diterapkan. Dengan approval_policy = "never", :danger-full-access, atau --yolo, suatu tindakan dapat menghindari pembuatan permintaan persetujuan untuk melintasi batas yang diperlukan oleh peninjauan.

Tujuan jaringan dalam daftar yang diizinkan tidak memicu peninjauan dengan sendirinya. Tambahkan aturan perintah eksplisit dengan decision = "prompt", atau konfigurasikan alat MCP sensitif agar memerlukan persetujuan, ketika tindakan di dalam sandbox tetap harus diteruskan kepada peninjau.

Lihat Models and Trusted Access dan konfigurasi yang direkomendasikan untuk akses model, penyiapan aktivitas, dan alur kerja agen khusus. Lihat Konfigurasi terkelola untuk prioritas tingkat perusahaan dan versi klien yang didukung. Untuk harness API khusus atau Agents SDK, gunakan Guardrail dan peninjauan manusia.

Mengurangi volume tinjauan tanpa melemahkan keamanan

Tinjauan otomatis bekerja paling baik saat sandbox sudah mencakup alur kerja aman yang umum bagi Anda. Jika terlalu banyak tindakan rutin memerlukan tinjauan, perbaiki batasnya terlebih dahulu, alih-alih mengajari peninjau untuk terus menyetujui eskalasi yang tidak perlu.

Dalam praktiknya, perubahan dengan dampak terbesar adalah:

  • Tambahkan writable_roots yang terbatas untuk direktori sementara atau repositori di sekitarnya yang sengaja Anda gunakan.
  • Tambahkan aturan prefiks dengan cakupan sempit. Utamakan prefiks perintah yang spesifik seperti ["cargo", "test"] atau ["pnpm", "run", "lint"] daripada pola umum seperti ["python"] atau ["curl"]. Aturan yang luas sering kali menghapus batas yang justru dirancang untuk dijaga oleh Tinjauan otomatis.

Transkrip sesi Tinjauan otomatis disimpan di bawah ~/.codex/sessions secara default, sehingga Anda dapat meminta Codex menganalisis aktivitas sebelumnya di sana sebelum mengubah kebijakan atau izin.

Batasan

Tinjauan otomatis meningkatkan kondisi operasi default untuk pekerjaan berbasis agen yang berjalan lama, tetapi bukan jaminan keamanan deterministik.

  • Tinjauan ini hanya mengevaluasi tindakan yang meminta untuk melampaui batas.
  • Tinjauan ini masih dapat membuat kesalahan, terutama dalam konteks adversarial atau tidak biasa.
  • Tinjauan ini harus melengkapi, bukan menggantikan, desain sandbox, pemantauan, dan kebijakan khusus organisasi yang baik.

Untuk dasar penelitian dan hasil evaluasi yang telah dipublikasikan, lihat artikel Alignment Research tentang Tinjauan otomatis.