← Blog

Mode Penyamaran Claude Code: Apa yang Sebenarnya Terungkap dari Kode Sumber yang Bocor

Kode sumber Claude Code yang bocor mengungkapkan Mode Penyamaran yang memerintahkan Claude: 'Jangan ungkap identitasmu. Jangan pernah menyebut bahwa kamu adalah AI.' Inilah yang sebenarnya dilakukannya — dan mengapa para pengembang peduli.

9 min read
Mode Penyamaran Claude Code: Apa yang Sebenarnya Terungkap dari Kode Sumber yang Bocor

Apa kabar? Saya Dora. Saya telah membaca bocoran Claude Code sejak pertama kali muncul pada Maret 2026. Sebagian besar liputan berfokus pada hewan peliharaan BUDDY dan daemon KAIROS — memang menarik, tapi saya terus terjebak pada sesuatu yang lebih kecil dan lebih spesifik.

Sebuah file bernama utils/undercover.ts. Dan sebuah system prompt yang dibuka dengan: “Do not blow your cover.”

Frasa itu membuat saya berhenti. Bukan karena terdengar jelas-jelas berbahaya. Tapi karena ini adalah jenis hal yang terdengar sangat masuk akal dalam satu konteks dan sangat aneh dalam konteks lain — dan kode sumber yang bocor tidak memberi tahu Anda konteks mana yang sedang Anda hadapi.

Inilah yang saya temukan.

Apa yang Sebenarnya Dikatakan Kode Sumber yang Bocor — System Prompt Lengkapnya

Menurut analisis dari breakdown GitHub Kuberwastaken — salah satu pembacaan detail paling awal dari kode sumber yang terekspos — mode undercover claude code dipicu secara otomatis ketika seorang pengguna diidentifikasi sebagai karyawan Anthropic (USER_TYPE === 'ant') yang bekerja di repositori publik atau open-source.

Ketika kondisi tersebut terpenuhi, sistem menyuntikkan hal berikut ke dalam system prompt Claude:

UNDERCOVER MODE — CRITICALYou are operating UNDERCOVER in a PUBLIC/OPEN-SOURCE repository.Your commit messages, PR titles, and PR bodies MUST NOT contain ANY Anthropic-internal information.Do not blow your cover.

Hal-hal spesifik yang dihapus dari commit dan pull request: nama kode model internal (nama hewan seperti Capybara, Tengu), nomor versi model yang belum dirilis, saluran Slack internal dan tautan pendek (misalnya, go/cc), nama repositori atau proyek internal, frasa “Claude Code,” dan setiap penyebutan bahwa penulisnya adalah AI — termasuk baris Co-Authored-By.

Satu detail yang perlu dicatat dari analisis teknis Alex Kim: Anda dapat memaksakan Undercover Mode aktif dengan CLAUDE_CODE_UNDERCOVER=1, tetapi tidak ada saklar pemaksa-nonaktif. Dalam build eksternal, seluruh fungsi dieliminasi sebagai kode mati menjadi pengembalian trivial. Setelah kondisi pemicu terpenuhi dalam build internal, mode ini adalah pintu satu arah.

Apa yang Sebenarnya Dirancang oleh Undercover Mode

Mari kita jujur tentang niat awalnya, karena itu penting.

Para insinyur Anthropic menggunakan Claude Code saat berkontribusi pada proyek open-source. Itu adalah alur kerja yang sah dan semakin umum. Masalahnya nyata: sebuah AI yang bekerja dengan konteks internal dapat secara tidak sengaja membocorkan pengenal internal. Pesan commit yang menyebut nomor versi model yang belum dirilis, deskripsi PR yang mereferensikan saluran Slack internal — inilah jenis pengungkapan yang mengekspos informasi roadmap yang tidak dimaksudkan untuk dipublikasikan.

Undercover Mode, dalam pembacaan tersempitnya, adalah alat kebersihan data untuk mencegah eksposur informasi internal yang tidak disengaja. Menghapus nama kode internal dari pesan commit publik? Masuk akal. Mencegah referensi ke tautan pendek go/cc agar tidak muncul dalam PR publik? Masuk akal.

Frasa “Do not blow your cover” adalah yang membuat ini lebih sulit dibaca secara positif. Frasa tersebut membingkai situasi bukan sebagai “hindari kebocoran data internal” melainkan sebagai “pertahankan cerita penutup.” Itu adalah orientasi yang sangat berbeda. Satu adalah tentang kebersihan informasi; yang lain terdengar lebih seperti penyembunyian aktif.

Mengapa Reaksi Komunitas Pengembang Bercampur

Tiga kubu muncul hampir seketika di thread Hacker News dan di X.

Kubu schadenfreude menunjukkan hal yang sudah jelas: Anthropic membangun seluruh subsistem untuk mencegah informasi internal bocor — dan kemudian mengirimkan subsistem tersebut, bersama 512.000 baris kode sumber proprietary, dalam file .map yang bisa diunduh siapa saja. Sistem yang dirancang untuk mencegah kebocoran adalah sendirinya detail paling berkesan dari kebocoran terbesar. Liputan VentureBeat mengkonfirmasi Anthropic mengakui insiden tersebut, menggambarkannya sebagai “masalah pengemasan rilis yang disebabkan oleh kesalahan manusia, bukan pelanggaran keamanan.”

Kubu yang khawatir berfokus pada penghapusan Co-Authored-By. Sebagian besar alat coding AI utama — termasuk GitHub Copilot — meninggalkan sinyal atribusi dalam metadata commit ketika mereka membantu dengan kode. Secara aktif menghapus sinyal-sinyal tersebut, khususnya dari repositori open-source publik, menempatkan Claude Code dalam kategori yang berbeda. Ini penting karena norma kontribusi open-source bergantung pada mengetahui siapa — atau apa — yang berkontribusi apa. Developer Certificate of Origin, yang digunakan banyak proyek open-source sebagai kerangka kerja pengesahan ringan, mengharuskan kontributor untuk mensertifikasi bahwa mereka memiliki hak untuk menyerahkan pekerjaan mereka. Kontributor AI yang telah diperintahkan untuk menghapus semua bukti bahwa ia adalah AI menciptakan ketegangan dengan kerangka kerja tersebut yang tidak diselesaikan oleh niat baik.

Kubu pragmatis membalas: setiap perusahaan memiliki tooling internal dengan properti yang tidak biasa; Claude Code hanya kebetulan menjadi sangat terlihat sekarang. Dan yang jelas — tidak ada bukti bahwa Undercover Mode mempengaruhi pengguna Claude Code biasa. Pemicunya adalah USER_TYPE === 'ant': hanya karyawan Anthropic, hanya di repositori publik.

Itu adalah klarifikasi penting yang telah dikaburkan oleh beberapa liputan.

Pertanyaan Lebih Luas yang Diangkatnya untuk Pengembangan Berbantuan AI

Pengungkapan Undercover Mode mendarat di tengah debat yang sedang berlangsung yang sudah semakin panas.

Red Hat menerbitkan analisis mendalam tentang pengembangan berbantuan AI dan norma open-source pada akhir 2025, berargumen bahwa pengungkapan transparan tentang bantuan AI semakin diperlakukan sebagai norma budaya dalam komunitas open-source — bahkan ketika belum diwajibkan secara hukum. Proyek-proyek seperti QEMU telah mengadopsi kebijakan eksplisit yang melarang kontribusi yang dihasilkan AI secara langsung, sebagian besar karena ketidakpastian kepatuhan DCO. Fedora telah mengambil arah yang berbeda, mewajibkan pengungkapan melalui tag “Assisted-by:” tetapi tidak melarang keterlibatan AI.

Posisi Linux Foundation — yang mendasari DCO yang mengatur standar kontribusi untuk ribuan proyek utama — adalah bahwa kerangka kerja tersebut dirancang di sekitar kepengarangan manusia dan belum sepenuhnya mengikuti alur kerja berbantuan AI. Ambiguitas tersebut menciptakan risiko nyata bagi proyek-proyek di mana kejelasan hukum penting.

Apa yang dilakukan Undercover Mode adalah keluar dari norma yang sedang berkembang itu tepat di titik di mana hal itu mungkin menciptakan gesekan paling besar: kontribusi dari perusahaan AI ke proyek open-source publik. Itu tidak sama dengan seorang pengembang individu yang diam-diam menggunakan Copilot untuk boilerplate. Asimetri informasi sangat berbeda ketika pihak yang membuat kontribusi telah membangun alat AI, mempekerjakan para insinyur yang menggunakannya, dan telah merancang sistem untuk menekan pengungkapan.

Saya tidak berpikir ini adalah keputusan yang sinis. Saya pikir ini adalah keputusan praktis yang mungkin tidak diperiksa dengan cermat melalui lensa transparansi. Namun kesenjangan antara niat dan optics itulah yang sedang direspons oleh komunitas pengembang.

Apa Lagi yang Ditemukan Bersama Undercover Mode

Temuan Undercover Mode tidak datang sendirian. Kode sumber yang sama berisi 108 modul yang diberi gerbang fitur yang dihapus dari build eksternal melalui eliminasi kode mati waktu kompilasi Bun. KAIROS — agen latar belakang otonom persisten yang mengawasi lingkungan kerja Anda dan bertindak tanpa prompt. ULTRAPLAN. VOICE_MODE. Sistem hewan peliharaan virtual bernama BUDDY dengan 18 spesies, seeding deterministik per pengguna, dan peluang varian shiny 1%.

Semua ini menarik dalam konteksnya masing-masing. Tapi Undercover Mode mendapatkan percakapannya sendiri karena ini bukan fitur masa depan — ini adalah perilaku aktif saat ini dalam alat produksi yang digunakan oleh orang-orang yang membangun Claude.

Ironi utamanya tetap ada: Undercover Mode dibangun untuk mencegah kebocoran. File .map yang mengeksposnya, menurut laporan Decrypt tentang insiden tersebut, kemungkinan dikirimkan sebagai akibat dari kesalahan manusia dalam pipeline build. Anthropic sejak itu telah menarik versi paket tersebut dan berkomitmen untuk melakukan perubahan proses.

Apa Artinya Ini bagi Tim yang Mengevaluasi Alat Coding AI

Jika Anda membuat keputusan tooling untuk tim yang berkontribusi pada open source, beberapa pertanyaan yang layak ditanyakan tentang asisten coding AI manapun:

Apakah alat tersebut mengatribusikan bantuan AI dalam metadata commit secara default? Beberapa alat melakukannya, beberapa tidak, dan beberapa secara aktif menghapus atribusi tergantung pada konfigurasi. Ketahui kategori mana alat Anda sebelum menjadi relevan.

Telemetri apa yang berjalan di latar belakang? Kode sumber yang bocor menunjukkan Claude Code melakukan polling ke endpoint pengaturan jarak jauh setiap jam dan membawa killswitch fitur yang dapat diaktifkan dari jarak jauh. Itu tidak biasa untuk perangkat lunak enterprise, tapi layak dieksplisitkan dalam tinjauan keamanan internal dan penilaian vendor.

Apakah ada perbedaan yang berarti antara perilaku CLI dan perilaku API? Tim yang membangun di atas API model melalui lapisan agregasi memiliki hubungan yang berbeda dengan pertanyaan-pertanyaan ini dibandingkan tim yang menggunakan alat CLI yang dikemas dengan default-default yang berpendapat. Default-default itulah tempat keputusan menarik berada, dan jarang diiklankan secara menonjol.

Tidak ada di sini yang merupakan argumen untuk atau melawan alat tertentu. Ini adalah pengingat bahwa “berbantuan AI” bukanlah kategori monolitik — perilaku spesifik yang tertanam dalam tooling itu penting, dan layak diperiksa dengan ketelitian yang sama yang Anda terapkan pada sistem pihak ketiga manapun yang berjalan di lingkungan pengembangan Anda.

FAQ

Apa itu mode undercover Claude Code?

Sebuah subsistem dalam Claude Code (utils/undercover.ts) yang menyuntikkan system prompt yang menginstruksikan AI untuk menghapus semua informasi internal Anthropic — termasuk atribusi AI — dari git commit dan pull request ketika karyawan Anthropic bekerja di repositori publik atau open-source.

Apakah Undercover Mode mempengaruhi pengguna Claude Code biasa?

Tidak. Kondisi pemicunya adalah USER_TYPE === 'ant' — hanya karyawan Anthropic. Pengguna eksternal pada build Claude Code standar memiliki seluruh fungsi yang dieliminasi sebagai kode mati dari instalasi mereka.

Apakah Claude Code menyembunyikan keterlibatan AI dalam commit open-source?

Untuk karyawan Anthropic yang bekerja di repo publik dengan build internal: ya, memang dirancang demikian. Untuk semua orang lain: tidak ada bukti perilaku tersebut. Perbedaan ini penting.

Di mana saya bisa membaca kode sumber bocor Claude Code sendiri?

Anthropic telah menarik versi paket npm dan melakukan takedown DMCA terhadap cermin GitHub. Analisis yang diarsipkan dari peneliti seperti Kuberwastaken dan Alex Kim mendokumentasikan apa yang ditemukan.

Apakah Anthropic telah mengomentari Undercover Mode?

Juru bicara Anthropic mengkonfirmasi bahwa kebocoran yang lebih luas adalah “masalah pengemasan rilis yang disebabkan oleh kesalahan manusia, bukan pelanggaran keamanan.” Tidak ada pernyataan khusus tentang Undercover Mode yang telah dikeluarkan pada saat penulisan ini.

Hal yang terus saya pikirkan adalah betapa banyak dari ini yang akan tetap tidak terlihat tanpa kebocoran tersebut. Perilaku itu sendiri mungkin dapat dipertahankan. Tapi “dapat dipertahankan jika diperiksa” dan “diperiksa” adalah dua hal yang berbeda. Komunitas open-source umumnya telah memutuskan mereka lebih suka yang terakhir.

Anthropic mungkin juga demikian, pada prinsipnya. Hanya saja tidak menerapkan prinsip tersebut di sini.

Postingan Sebelumnya: