Claude Skills API Kini Tersedia Umum, Mengubah Prompt yang Dapat Digunakan Ulang Menjadi Risiko Supply Chain
Claude Skills dapat menggabungkan instruksi, skrip, dan dependensi. Ketersediaan umum membuat versi immutable dan batas runtime menjadi semakin penting.
Anthropic membuat Skills API tersedia secara umum pada 20 Agustus, mengubah folder berisi instruksi, skrip, dan template menjadi komponen berversi yang dapat dilampirkan developer pada permintaan Claude API. Ini adalah pengemasan yang berguna. Ini juga merupakan keputusan supply chain perangkat lunak: bundel tersebut dapat memengaruhi apa yang dibaca agen, kode yang dijalankannya, data yang ditanganinya, dan kapabilitas lain yang dicoba digunakannya.
Default yang aman adalah memperlakukan setiap skill sebagai materi yang dapat dieksekusi, menerima satu versi yang telah ditinjau pada satu waktu, dan menolak setiap pembaruan yang tidak dapat mereproduksi provenance, kapabilitas yang diminta, bukti pengujian, serta jalur rollback-nya. SKILL.md yang tampak rapi, jumlah di marketplace, atau label sandbox saja tidak cukup.
Sebuah skill merupakan instruksi sekaligus materi eksekusi
Pengumuman ketersediaan umum Anthropic mendefinisikan skill sebagai folder yang dapat berisi instruksi, skrip, dan template. Developer mengunggah dan memberi versi pada custom skill, lalu melampirkannya pada permintaan yang menggunakan lingkungan eksekusi kode.
Campuran ini menggagalkan jalan pintas peninjauan yang sudah umum. Hanya membaca file sumber konvensional akan melewatkan instruksi bahasa natural yang dapat mengarahkan ulang model. Hanya membaca SKILL.md akan melewatkan skrip dan file yang dirujuk yang dimuat kemudian. Meninjau folder tingkat atas sekali saja akan melewatkan dependensi yang dapat berubah atau versi baru yang diunggah setelah persetujuan.
Dua paper yang belum ditinjau sejawat menunjukkan mengapa seluruh bundel penting. Sebuah preprint prompt injection 2025 mendemonstrasikan serangan yang disembunyikan dalam instruksi skill panjang dan skrip yang dirujuk, termasuk kasus teruji ketika persetujuan untuk tugas tertentu terbawa ke tindakan terkait yang berbahaya. Eksperimennya mencakup agen dan konfigurasi tertentu, bukan setiap produk atau deployment, tetapi menetapkan bahwa file instruksi dapat berpartisipasi dalam rantai eksekusi nyata.
Preprint empiris berskala besar yang terpisah mengumpulkan 42.447 skill dari dua marketplace dan menganalisis 31.132 di antaranya dengan scanner yang menggabungkan analisis statis dan classifier LLM. Para penulis melaporkan bahwa 26,1% memicu setidaknya satu dari 14 pola kerentanan, dan bahwa skill yang berisi skrip eksekutabel memiliki kemungkinan ditandai 2,12 kali lebih besar daripada skill yang hanya berisi instruksi.
Hasil itu tidak berarti 26,1% skill bersifat berbahaya. Paper tersebut melaporkan precision 86,7% dan recall 82,5% untuk metode deteksinya, sementara hanya 5,2% skill yang dianalisis memiliki pola berkeparahan tinggi yang menurut penulis sangat mengisyaratkan niat jahat. Temuan otomatis mencampur kasus bermusuhan, lalai, ambigu, dan salah klasifikasi. Temuan itu adalah alasan untuk meninjau, bukan vonis.
“Sandbox” berarti hal yang berbeda pada setiap permukaan Claude
Ringkasan Agent Skills mendokumentasikan tiga lingkungan yang berbeda. Menggabungkannya menjadi satu klaim keamanan menghasilkan keputusan penerimaan yang keliru.
| Permukaan | Cara custom skill dikelola | Batas eksekusi dan berbagi yang didokumentasikan | Konsekuensi penerimaan |
|---|---|---|---|
| Claude API | Diunggah melalui Skills API dan tersedia di seluruh workspace | Container eksekusi kode tidak memiliki akses jaringan atau instalasi paket runtime; container baru digunakan kecuali permintaan mengidentifikasi container yang sudah ada | Pin versi yang tepat, pisahkan tenant berdasarkan workspace, dan tinjau setiap tool lain serta data yang diunggah yang tersedia bagi permintaan |
| Claude Code | Skill filesystem di bawah direktori pribadi atau proyek | Berjalan di komputer pengguna dengan akses jaringan yang tersedia bagi program lokal | Perlakukan filesystem, shell, kredensial, jaringan, dan instalasi dependensi lokal sebagai izin host yang eksplisit |
| Claude.ai | Diunggah per pengguna | Akses jaringan bervariasi menurut pengaturan pengguna dan administrator; custom skill tidak dibagikan secara terpusat di seluruh organisasi | Catat kebijakan akun yang sebenarnya dan jangan mewarisi threat model API atau Claude Code |
Aturan tanpa jaringan pada container API adalah batas keras yang bermakna. Aturan ini memblokir skrip dalam container tersebut agar tidak memanggil API eksternal dan mencegah instalasi paket saat runtime. Namun, aturan ini tidak membuat bundel tepercaya. Instruksi bermusuhan masih dapat merusak output, menyalahgunakan file yang sengaja diberikan ke container, atau mengarahkan agen yang lebih luas ke tool lain yang telah diberikan. Tinjau permintaan agen dan set tool secara lengkap, bukan container skill secara terpisah.
Cakupan workspace juga penting. Panduan API Anthropic menyatakan setiap API key dalam sebuah workspace dapat membaca, menjalankan, dan menghapus setiap custom skill di sana. Panduan itu merekomendasikan workspace terpisah untuk setiap tenant dalam layanan multi-tenant. Karena itu, workspace default bersama merupakan batas otorisasi, bukan sekadar label organisasi.
Insiden marketplace juga merupakan kegagalan version control
Sebuah kampanye yang sedang berlangsung menunjukkan mengapa reputasi saat instalasi tidak dapat menggantikan provenance immutable. TechRadar melaporkan bahwa penyerang mengkloning skill sah dengan nama yang mirip, mengumpulkan unduhan, lalu memasukkan perilaku pencurian kredensial.
Perusahaan keamanan Zenity, yang menemukan dan membantu mengganggu kampanye tersebut, menyediakan linimasa teknis. Keluarga berbahaya tersebut meniru proyek Paperclip dan Browser Use. Dokumen skill-nya awalnya bersih; revisi berikutnya menempatkan instruksi berbahaya dalam file setup sekunder yang hanya dimuat skill utama untuk instalasi. Zenity mengatakan keluarga itu melewati total instalasi yang ditampilkan sebesar 1,7 juta sebelum ditakedown, sembari memperingatkan bahwa penghitung tersebut bukan jumlah pengguna unik maupun jumlah korban.
Kasus ini merupakan bukti kampanye nyata, bukan bukti bahwa sandbox API terkelola Anthropic telah dibobol. Skill yang terdampak menargetkan host agen dan developer, tempat instruksi dapat menyebabkan instalasi paket dan akses kredensial. Pelajaran berkelanjutannya lebih sempit: nama, popularitas, dan hasil scan bersih sebelumnya tidak mengikat byte yang akan berjalan besok.
API Anthropic sudah mengekspos kontrol yang diperlukan untuk menghindari ambiguitas tersebut. Pembaruan custom skill menerima ID versi, dan setiap versi merupakan snapshot lengkap. Panduan API secara eksplisit merekomendasikan pin versi tertentu dalam produksi; memilih latest membuat versi workspace yang baru diunggah segera mengubah perilaku yang telah dideploy.
Ketersediaan umum menjadikan identitas versi bagian dari batas kepercayaan
Deployment tepercaya harus mengikat sumber yang telah ditinjau, bundel lengkap beserta dependensinya, versi yang disimpan Anthropic, dan otoritas yang diberikan runtime kepadanya. Hanya meninjau file instruksi utama akan melewatkan file setup sekunder dan skrip; hanya mem-pin commit repository akan melewatkan snapshot Platform yang diunggah secara terpisah. Menggunakan latest secara sengaja berarti melepaskan ikatan tersebut.
Pembatasan runtime dan peninjauan artefak menyelesaikan masalah yang berbeda. Batas tanpa jaringan pada container API membatasi apa yang dapat dijangkau kode yang dieksekusi, tetapi tidak dapat membuktikan bahwa suatu instruksi tidak berbahaya atau bahwa agen yang lebih luas tidak akan menyalahgunakan tool lain yang telah diberikan. Sebaliknya, peninjauan sumber yang bersih tidak membuat workspace dengan izin berlebihan menjadi aman. Kampanye marketplace penting karena menggabungkan distribusi yang dapat berubah, sinyal reputasi, dan perubahan berbahaya yang ditunda—tepat kondisi yang seharusnya dipisahkan oleh versi immutable.
Batas yang sama muncul dalam investigasi Snowflake GitHub Actions: teks menjadi berbahaya ketika sistem berprivilege memperlakukannya sebagai kode. Analisis Slack Code mengikuti rantai tersebut melampaui satu agen hingga ke kontrol repository, CI, dan deployment.
Persetujuan kedaluwarsa ketika batas material apa pun berubah
Setiap keputusan kepercayaan mencakup satu bundel, satu versi, satu permukaan runtime, dan satu set kapabilitas. Perubahan pada instruksi, file yang dirujuk, dependensi, izin, kelas data, tool eksternal, kebijakan runtime, atau batas workspace menciptakan sistem yang secara material berbeda. Bahkan bundel yang tidak berubah dapat menjadi lebih berisiko jika sumbernya menghilang atau berganti kepemilikan.
Catatan engineering tentang containment dari Anthropic memperjelas alasan yang lebih luas: sumber daya agen eksternal menciptakan risiko eksekusi kode konvensional sekaligus risiko prompt injection. Peninjauan sumber dan pin versi mengatasi sebagian risiko pertama. Keduanya tidak membuktikan bagaimana model akan menafsirkan setiap instruksi. Sandboxing membatasi konsekuensi, tetapi pertahanan tingkat model bersifat probabilistik dan tidak dapat menggantikan batas lingkungan.
Ketersediaan umum membuat penggunaan ulang skill lebih mudah dioperasikan. Pertanyaan produksi bukan lagi apakah tim dapat mengunggah sebuah folder. Pertanyaannya adalah apakah tim dapat membuktikan folder mana yang berjalan, otoritas apa yang diterimanya, apa yang terjadi dalam pengujian, dan seberapa cepat otoritas tersebut dapat dicabut ketika versi berikutnya bukan versi yang disetujui.
Sumber
- Anthropic announcement for the generally available Skills API
- Claude Platform Agent Skills overview
- Claude Platform guide to using and versioning API skills
- Anthropic engineering note on containing agents and external resources
- Agent Skills prompt-injection preprint
- Agent Skills in the Wild empirical security preprint
- TechRadar report on a typosquatted skill campaign
- Zenity Labs technical report on the skill supply-chain campaign