Kebocoran Kode Sumber Claude: Mengungkap Arsitektur Alat Pemrograman AI

Ashley Innocent

Ashley Innocent

1 April 2026

Kebocoran Kode Sumber Claude: Mengungkap Arsitektur Alat Pemrograman AI

Intinya

Anthropic secara tidak sengaja mengirimkan file .map bersama dengan paket npm Claude Code, yang mengekspos kode sumber lengkap yang dapat dibaca dari alat CLI mereka. Kebocoran tersebut mengungkapkan mekanisme anti-distilasi dengan injeksi alat palsu, mesin regex pendeteksi frustrasi, "mode penyamaran" yang menyembunyikan kepengarangan AI dalam komit sumber terbuka, dan mode agen otonom yang belum dirilis bernama KAIROS. Berikut adalah hal-hal yang harus diketahui pengembang API tentang cara kerja alat pengkodean AI di balik layar.

Pendahuluan

Pada 31 Maret 2026, peneliti keamanan Chaofan Shou menemukan bahwa Anthropic mengirimkan file peta sumber (.map) bersama dengan paket npm Claude Code. Peta sumber adalah file debug yang memetakan kode produksi yang diperkecil kembali ke sumber yang dapat dibaca manusia. Seharusnya file-file ini dihilangkan sebelum publikasi.

Namun, itu tidak terjadi. Kode sumber lengkap Claude Code, beserta komentar, nama kode internal, dan detail arsitektur, dapat dibaca oleh siapa saja yang mengunduh paket tersebut.

Penemuan ini menduduki peringkat #1 di Hacker News (1.888 poin, 926 komentar) dan menyebar di Reddit, Twitter, serta forum pengembang dalam hitungan jam. Anthropic menghapus paket tersebut, tetapi kode itu sudah dicerminkan dan dianalisis secara ekstensif.

💡
Baik Anda menggunakan Claude Code, Cursor, GitHub Copilot, atau platform pengembangan API Apidog, kebocoran ini memberikan wawasan teknis langka tentang cara kerja alat pengkodean AI. Memahami mekanisme internal ini membantu Anda membuat keputusan yang tepat tentang alat mana yang dapat dipercaya dengan basis kode Anda. Cobalah Apidog secara gratis untuk pengembangan API yang transparan dan bebas ketergantungan.
tombol

Artikel ini menganalisis temuan teknis utama dan apa artinya bagi para pengembang yang mengandalkan alat pengkodean AI.

Bagaimana kode sumber bocor

Penyebab utama: bug alat pembangunan Bun

Claude Code dibangun di atas Bun, sebuah runtime JavaScript alternatif. Pada 11 Maret 2026, sebuah bug dilaporkan terhadap Bun (oven-sh/bun#28001) yang menyatakan bahwa peta sumber disajikan dalam mode produksi meskipun dokumentasi Bun menyatakan seharusnya dinonaktifkan.

Pipeline pembangunan Anthropic memicu bug ini. Ketika mereka menerbitkan paket npm Claude Code, file .map disertakan dalam distribusi. Siapa pun yang menjalankan npm pack @anthropic-ai/claude-code atau memeriksa isi paket dapat mengakses sumber lengkap yang tidak diperkecil.

Ironinya mencolok: sebuah bug di toolchain milik Anthropic sendiri, runtime Bun yang mereka pilih untuk Claude Code, membocorkan kode sumber kepemilikan mereka melalui registri npm tempat mereka menerbitkan. Registri npm yang sama, pada hari yang sama, mendistribusikan paket Axios yang dikompromikan.

Apa yang terungkap

Ini bukan kebocoran sebagian atau rilis sumber terbuka yang disanitasi. Ini adalah basis kode produksi dengan konteks rekayasa internal yang utuh.

Anti-distilasi: melindungi dari pencurian model

Injeksi alat palsu

Salah satu temuan yang paling banyak dibahas adalah sistem anti-distilasi Claude Code. Dalam claude.ts (baris 301-313), ketika flag ANTI_DISTILLATION_CC diaktifkan, sistem mengirimkan anti_distillation: ['fake_tools'] dalam permintaan API.

Ini menginstruksikan server Anthropic untuk menyuntikkan definisi alat umpan ke dalam prompt sistem. Tujuannya: jika pesaing merekam lalu lintas API untuk mengekstraksi dan meniru perilaku penggunaan alat Claude, data pelatihan akan berisi alat palsu yang tidak ada. Model yang dilatih dengan data yang diracuni ini akan berhalusinasi kemampuan yang tidak ada.

Ini adalah pertahanan praktis terhadap ancaman nyata. Pesaing dapat menyiapkan layanan proxy yang mencegat panggilan API Claude, merekam prompt sistem dan definisi alat, serta menggunakan data tersebut untuk menyetel model mereka sendiri. Alat palsu ini membuat data yang ditangkap menjadi tidak dapat diandalkan.

Ringkasan teks konektor

Mekanisme anti-distilasi kedua dalam betas.ts (baris 279-298) mengambil pendekatan yang berbeda. Sistem sisi server ini menyangga teks asisten di antara panggilan alat, meringkasnya, dan mengembalikan ringkasan dengan tanda tangan kriptografi.

Dalam giliran percakapan berikutnya, teks asli dapat dipulihkan dari tanda tangan. Tetapi siapa pun yang merekam lalu lintas API hanya menangkap ringkasan, bukan teks penalaran lengkap. Hal ini menyulitkan rekayasa balik pola penalaran Claude dari percakapan API yang dicegat.

Seberapa mudahkah ini untuk dilewati?

Analisis mengungkapkan beberapa jalur bypass:

Ini tidak berarti perlindungan itu tidak berguna. Mereka meningkatkan biaya dan kompleksitas distilasi model otomatis. Namun, itu adalah langkah-langkah pertahanan berlapis, bukan perisai yang tidak dapat dihancurkan.

Mode Penyamaran: menyembunyikan kepengarangan AI

Apa yang dilakukan mode penyamaran

File undercover.ts berisi salah satu temuan kebocoran yang paling kontroversial. Ketika Claude Code beroperasi di repositori non-Anthropic, ia mengaktifkan sistem penyamaran perilaku yang mencegah:

Komentar kode sumber tersebut eksplisit: "TIDAK ADA pemaksaan NONAKTIF. Ini menjaga dari kebocoran nama kode model."

Mengapa ini penting untuk sumber terbuka

Efek praktisnya: ketika karyawan Anthropic menggunakan Claude Code untuk menulis komit, permintaan tarik (pull requests), atau tinjauan kode (code reviews) dalam proyek sumber terbuka, alat tersebut menyembunyikan bukti keterlibatan AI. Kontribusi yang ditulis oleh AI ke repositori sumber terbuka tidak akan mengungkapkan kepengarangan AI.

Ini menimbulkan pertanyaan tentang transparansi dalam pengembangan sumber terbuka. Beberapa proyek sumber terbuka telah mengadopsi kebijakan yang mewajibkan pengungkapan kode yang dihasilkan AI. Jika suatu alat dirancang untuk menyembunyikan keterlibatannya, kebijakan tersebut menjadi lebih sulit untuk diterapkan.

Argumen baliknya: tujuan mode penyamaran yang disebutkan adalah mencegah kebocoran nama kode proyek internal, bukan menyembunyikan penggunaan AI. Namun, implementasinya tidak membedakan antara "jangan mengungkapkan nama internal" dan "jangan mengungkapkan bahwa Anda adalah alat AI." Ia memblokir keduanya.

Deteksi Frustrasi melalui Regex

Cara kerjanya

File userPromptKeywords.ts mengimplementasikan deteksi frustrasi pengguna melalui pencocokan pola regex. Sistem memindai masukan pengguna untuk kata-kata kotor dan bahasa yang bermuatan emosional untuk mengukur apakah pengguna frustrasi dengan respons Claude Code.

Respons komunitas terhadap temuan ini terbagi. Beberapa melihatnya sebagai penelitian UX yang wajar; memahami kapan pengguna frustrasi membantu meningkatkan produk. Yang lain melihatnya sebagai pengawasan terhadap kondisi emosional pengguna.

Ironi teknisnya

Beberapa komentator HN menunjukkan ironi: Anthropic membangun model bahasa paling canggih di dunia, tetapi menggunakan regex untuk mendeteksi emosi pengguna. Komentar rekayasa dalam sumber menjelaskan alasannya. Deteksi berbasis regex lebih cepat dan lebih murah daripada inferensi LLM untuk kasus penggunaan ini. Menjalankan panggilan LLM untuk mengklasifikasikan sentimen pada setiap masukan pengguna akan menambah latensi dan biaya pada setiap interaksi.

Ini adalah keputusan rekayasa yang pragmatis. Regex cepat untuk deteksi sentimen jalur cepat, menghemat panggilan LLM untuk tugas pengkodean inti. Apakah Anda nyaman dengan alat pengkodean AI Anda yang menjalankan analisis emosional pada masukan Anda adalah keputusan pribadi.

Atestasi Klien Native

Verifikasi permintaan kriptografi

Dalam system.ts (baris 59-95), permintaan API Claude Code menyertakan placeholder cch=554eb. Tumpukan HTTP native Bun (ditulis dalam Zig) menimpa placeholder ini dengan hash terhitung sebelum permintaan meninggalkan klien.

Server Anthropic memvalidasi hash ini untuk memverifikasi secara kriptografis bahwa permintaan berasal dari biner Claude Code yang sah, bukan dari fork, wrapper, atau proxy.

Mengapa ini ada

Sistem atestasi ini adalah mekanisme penegakan teknis di balik tindakan hukum Anthropic terhadap fork Claude Code yang tidak sah. Jika sebuah fork tidak dapat menghasilkan hash atestasi yang valid, server Anthropic dapat menolak permintaannya.

Namun, implementasi ini memiliki batasan. Ini dilindungi di balik flag fitur waktu kompilasi dan dapat dinonaktifkan melalui pengaturan CLAUDE_CODE_ATTRIBUTION_HEADER atau GrowthBook killswitches. Ini menunjukkan bahwa penegakannya bertahap, dengan Anthropic dapat memperketat atau melonggarkan pembatasan sesuai kebutuhan.

Bagi pengembang API, ini relevan karena menunjukkan bagaimana alat SaaS dapat menegakkan keaslian klien pada tingkat protokol. Pola serupa ada dalam pengembangan API seluler, di mana atestasi aplikasi mencegah akses API yang tidak sah. Jika Anda merancang API dengan verifikasi klien, alat pengujian Apidog dapat membantu Anda memvalidasi alur atestasi dan pemasangan sertifikat di berbagai konfigurasi klien.

KAIROS: mode agen otonom yang belum dirilis

Apa yang diungkapkan kode tersebut

Referensi di seluruh basis kode menunjuk ke mode berfitur tersembunyi yang belum dirilis bernama KAIROS. Perancah (scaffolding) yang ditemukan meliputi:

Apa artinya ini

KAIROS tampaknya merupakan agen yang selalu aktif, berjalan di latar belakang, yang memantau repositori Anda dan melakukan tugas-tugas otonom tanpa interaksi langsung pengguna. Bayangkan sebagai Claude Code yang berjalan terus-menerus, mengawasi perubahan, dan secara proaktif menyarankan atau membuat modifikasi kode.

Ini sejalan dengan tren industri yang lebih luas menuju agen pengkodean otonom. Mode Agen GitHub Copilot, pemrosesan latar belakang Cursor, dan Agen Smith Google semuanya menunjuk ke alat pengkodean AI yang tidak menunggu Anda untuk bertanya. Mereka mengamati, belajar, dan bertindak sendiri.

Bagi tim pengembangan API, agen otonom yang memodifikasi repositori kode menimbulkan pertanyaan tentang stabilitas kontrak API. Jika agen memperbarui kode endpoint API Anda, apakah juga memperbarui spesifikasi OpenAPI? Tes? Dokumentasi? Ini adalah masalah alur kerja yang dirancang untuk diselesaikan oleh platform terintegrasi seperti Apidog, menjaga desain API, tes, mock, dan dokumen tetap sinkron terlepas dari apa yang memicu perubahan kode.

Optimasi Kinerja yang Terungkap

Rendering terminal: teknik mesin game

File ink/screen.ts dan ink/optimizer.ts mengungkapkan bahwa Claude Code menggunakan teknik mesin game untuk rendering terminal:

Ini menjelaskan mengapa Claude Code terasa responsif bahkan selama aliran keluaran yang panjang. Lapisan rendering dioptimalkan pada tingkat yang tidak biasa untuk alat CLI.

Ekonomi cache prompt

promptCacheBreakDetection.ts melacak 14 vektor pemecah cache yang berbeda dengan "gerendel lengket" yang mencegah perubahan mode membatalkan prompt yang di-cache. Ini mencerminkan betapa pentingnya caching prompt secara ekonomis untuk model bisnis Claude Code.

Setiap pemecahan cache memaksa Anthropic untuk memproses ulang seluruh prompt sistem dan konteks percakapan. Dengan harga token Claude, mencegah pembatalan cache yang tidak perlu menghemat biaya infrastruktur yang signifikan. Fakta bahwa mereka melacak 14 vektor pemecah cache terpisah menunjukkan bahwa tim rekayasa menganggap optimasi cache prompt sebagai perhatian kinerja kelas satu.

Kaskade kegagalan autokompak

Sebuah komentar dalam autoCompact.ts (baris 68-70) mengungkapkan masalah produksi yang signifikan: "1.279 sesi mengalami 50+ kegagalan berturut-turut (hingga 3.272) dalam satu sesi, membuang ~250 ribu panggilan API/hari secara global."

Perbaikan tiga baris menetapkan MAX_CONSECUTIVE_AUTOCOMPACT_FAILURES = 3. Bug ini hanya muncul pada skala besar. Ketika manajemen konteks gagal, sistem mencoba lagi secara agresif, menghabiskan panggilan API tanpa membuat kemajuan. Untuk alat dengan jutaan sesi aktif, 250 ribu panggilan API yang terbuang per hari berarti biaya yang besar.

Konteks ini membantu menjelaskan postingan Hacker News baru-baru ini tentang pengguna Claude Code yang "mencapai batas penggunaan jauh lebih cepat dari yang diperkirakan" (275 poin). Beberapa konsumsi batas tersebut mungkin berasal dari bug efisiensi internal seperti ini.

Detail pengerasan keamanan

Keamanan Bash: 23 pemeriksaan bernomor

bashSecurity.ts mengimplementasikan 23 pemeriksaan keamanan bernomor untuk eksekusi perintah shell, termasuk pertahanan terhadap:

Ini luar biasa teliti untuk sebuah alat CLI. Sebagian besar alat pengkodean AI yang menjalankan perintah shell memiliki sanitasi dasar. 23 pemeriksaan Claude Code menunjukkan bahwa mereka telah menangani (atau secara proaktif bertahan terhadap) vektor serangan kreatif.

Bagi pengembang API yang menggunakan alat AI untuk menghasilkan dan menjalankan skrip pengujian API, tingkat keamanan shell ini relevan. Jika alat pengkodean AI Anda menjalankan perintah curl, kueri database, atau skrip infrastruktur, keamanan lapisan eksekusi perintah menjadi penting.

Apa yang harus dipelajari pengembang API dari ini

1. Pahami apa yang dilakukan alat pengkodean AI Anda di balik layar

Kebocoran Claude Code mengungkapkan kemampuan yang tidak diketahui sebagian besar pengguna: tindakan anti-distilasi, deteksi frustrasi, mode penyamaran, atestasi klien. Alat pengkodean AI lainnya memiliki mekanisme internalnya sendiri yang tidak dapat diperiksa pengguna.

Tanyakan pada diri Anda: apakah Anda tahu data apa yang dikumpulkan oleh alat pengkodean AI Anda? Apa yang dikirimkannya ke server eksternal? Apakah ia menyamarkan keterlibatannya sendiri dalam kode Anda?

2. Toolchain pembangunan adalah permukaan serangan

Sumber Anthropic bocor karena bug Bun. Pada hari yang sama, Axios dikompromikan melalui pembajakan akun npm. Alat pembangunan Anda, manajer paket, dan lingkungan runtime semuanya merupakan titik kegagalan potensial.

Untuk pengembangan API, ini berarti:

3. Alat pengkodean AI sedang menuju operasi otonom

KAIROS, Mode Agen GitHub Copilot, Agen Smith Google. Arahnya jelas: alat AI yang berjalan terus-menerus, memantau repositori, dan bertindak secara otonom.

Tim API perlu mempersiapkan hal ini dengan memastikan siklus hidup API mereka dikelola dalam satu platform. Ketika agen otonom memodifikasi implementasi API Anda, tes, mock, dokumentasi, dan spesifikasi Anda perlu tetap sinkron. Alat yang tidak terhubung akan menciptakan penyimpangan. Platform terintegrasi seperti Apidog menjaga seluruh siklus hidup API tetap sinkron, apakah perubahan berasal dari pengembang manusia atau agen AI.

4. Transparansi kode sumber itu penting

Kebocoran ini terjadi karena kode tersebut adalah proprietary dan secara tidak sengaja terekspos. Alat AI sumber terbuka tidak memiliki risiko ini karena kodenya sudah publik.

Saat mengevaluasi alat pengkodean AI, pertimbangkan apakah Anda lebih suka alat yang internalnya dapat Anda periksa dibandingkan alat yang mengandalkan kepercayaan pada vendor. Kedua pendekatan memiliki keuntungan dan kerugian, tetapi kebocoran Claude Code menunjukkan seperti apa "percaya pada vendor" ketika kode vendor mengungkapkan perilaku yang tidak terduga.

FAQ

Apakah Claude Code aman digunakan setelah kebocoran sumber?

Ya. Kebocoran ini mengekspos kode sumber, bukan data pengguna. Anthropic menghapus file .map dan sumbernya tidak lagi didistribusikan dengan paket npm. Fitur-fitur yang terungkap (anti-distilasi, deteksi frustrasi, mode penyamaran) adalah keputusan arsitektur, bukan kerentanan keamanan. Apakah Anda nyaman dengan keputusan tersebut adalah pertanyaan yang terpisah dari keamanan.

Apa itu "mode penyamaran" di Claude Code?

Mode penyamaran mencegah Claude Code mengungkapkan nama proyek internal Anthropic, nama kode, dan identitasnya sendiri saat beroperasi di repositori non-Anthropic. Ini aktif secara otomatis dan tidak dapat dinonaktifkan. Efek praktisnya adalah kode yang dihasilkan AI dalam proyek sumber terbuka tidak akan mengidentifikasi dirinya sebagai ditulis oleh Claude Code.

Apa itu alat palsu di Claude Code?

Ketika anti-distilasi diaktifkan, server Anthropic menyuntikkan definisi alat umpan ke dalam prompt sistem. Alat-alat palsu ini tidak melakukan apa-apa. Mereka ada untuk meracuni data pelatihan pesaing yang merekam lalu lintas API untuk melatih model yang bersaing. Jika seseorang mencoba meniru perilaku Claude dari data yang dicegat, model mereka akan berhalusinasi kemampuan yang tidak ada.

Apa itu KAIROS di Claude Code?

KAIROS adalah mode agen otonom yang belum dirilis dan diberi flag fitur yang ditemukan dalam sumber Claude Code. Ini mencakup perancah (scaffolding) untuk pekerja daemon latar belakang, langganan webhook GitHub, dan skill /dream untuk distilasi memori. Ini menunjukkan bahwa Anthropic sedang membangun agen pengkodean yang selalu aktif yang memantau repositori dan bertindak secara otonom.

Bagaimana kode sumber Claude Code bocor?

Bug runtime Bun (oven-sh/bun#28001) menyebabkan peta sumber disertakan dalam build produksi meskipun seharusnya tidak. Karena Claude Code menggunakan Bun sebagai alat pembangunnya, bug ini mengirimkan file .map bersama dengan paket npm. Siapa pun yang memeriksa paket dapat membaca kode sumber lengkap yang tidak diperkecil.

Apakah kebocoran ini memengaruhi pengguna API Claude?

Tidak. Kebocoran ini mengekspos kode sumber alat CLI Claude Code, bukan API Claude itu sendiri. Kunci API, data pengguna, dan bobot model tidak terlibat. Pengguna API Claude dapat terus menggunakan API secara normal. Mekanisme anti-distilasi yang terungkap bersifat spesifik untuk pipeline permintaan Claude Code.

Haruskah saya khawatir tentang deteksi frustrasi pada alat pengkodean AI saya?

Itu tergantung pada tingkat kenyamanan Anda. Claude Code menggunakan pola regex untuk mendeteksi frustrasi pengguna (kata-kata kotor, bahasa emosional) dalam prompt. Ini lebih cepat dan lebih murah daripada analisis sentimen berbasis LLM. Data tersebut tampaknya digunakan untuk peningkatan produk, bukan dibagikan secara eksternal. Alat AI lainnya mungkin memiliki fitur serupa tanpa mengungkapkannya.

Bagaimana ini berkaitan dengan serangan npm Axios pada hari yang sama?

Kedua peristiwa terjadi pada 31 Maret 2026, tetapi tidak terkait. Serangan Axios adalah kompromi rantai pasokan yang disengaja oleh peretas yang didukung negara. Kebocoran Claude Code adalah kesalahan konfigurasi pembangunan yang tidak disengaja. Bersama-sama, mereka telah mengintensifkan pengawasan keamanan paket npm dan kepercayaan pengembang terhadap alat yang didistribusikan melalui registri paket.

Poin-poin penting

Memahami cara kerja alat pengkodean AI Anda di balik layar membantu Anda membuat keputusan yang lebih baik tentang kepercayaan, privasi, dan desain alur kerja. Bagi tim API, pelajaran utamanya adalah bahwa alat pengembangan Anda adalah bagian dari permukaan keamanan Anda. Pilih alat yang dapat Anda verifikasi, dan bangun alur kerja yang tetap konsisten terlepas dari apakah manusia atau agen AI yang membuat perubahan berikutnya.

tombol

Mengembangkan API dengan Apidog

Apidog adalah alat pengembangan API yang membantu Anda mengembangkan API dengan lebih mudah dan efisien.