AI dan Otomatisasi

llms.txt berubah menjadi pintu instalasi paket yang tak bertuan

|Penulis: Tim Redaksi QUASA|5 mnt baca| 3
llms.txt berubah menjadi pintu instalasi paket yang tak bertuan

Laporan primer yang dipublikasikan pada 26 Agustus 2026 menunjukkan bahwa instruksi dalam llms.txt dapat membawa agen pemrograman berkewenangan shell ke nama paket yang belum dimiliki penerbit dokumentasi. Peneliti mendaftarkan sebagian kecil nama tersebut dan menerima callback pertama dari paket beacon dalam waktu kurang dari empat menit, membuktikan bahwa kode paket sempat dieksekusi—bukan bahwa llms.txt sendiri merupakan kode atau semua lingkungan yang merespons telah dikompromikan.

Laporan independen Ars Technica pada 27 Agustus menyebut rantai proses yang terekam mengaitkan eksekusi tertentu dengan Claude, OpenAI Codex, dan Nous Research Hermes. Bukti itu berlaku untuk eksekusi yang diamati dalam penelitian 26 Agustus, bukan untuk seluruh versi, konfigurasi, atau sesi normal ketiga produk tersebut.

Kepercayaan putus di antara dokumen dan registry

Instruksi llms.txt resmi mengarahkan agen ke paket registry yang kepemilikannya tidak terverifikasi.

llms.txt tidak mempunyai kemampuan bawaan untuk memasang perangkat lunak. Jalur eksekusi baru terbentuk ketika agen membaca dokumentasi vendor, memperlakukan perintah seperti pip install, npm install, atau npx sebagai instruksi operasional, lalu menjalankannya dengan akses shell. HTTPS memastikan agen terhubung ke situs yang dituju, tetapi tidak memastikan nama pada npm, PyPI, atau registry lain dimiliki organisasi yang mengoperasikan situs itu.

Di sinilah judul “pintu instalasi” memperoleh batas faktualnya: dokumen menjadi titik masuk ke proses pemasangan, bukan payload. Kepercayaan berpindah melewati sedikitnya empat pemeriksaan berbeda—keaslian dokumen, ketepatan perintah, kepemilikan namespace paket, dan kewenangan proses yang menjalankannya. Nama yang benar secara ejaan tetap berbahaya apabila vendor tidak pernah mendaftarkannya dan pihak lain dapat mengambil slot tersebut.

Dua publikasi memberikan hitungan yang tidak sepenuhnya sama. Laporan primer menyebut 8.565 berkas pada 6.214 domain serta lebih dari 237 artefak tak diklaim; Ars menyebut 8.265 berkas, 120 situs terdampak, dan 227 perintah menuju paket atau domain tak terdaftar. “Artefak” dan “perintah” bukan metrik yang sama, sementara selisih jumlah berkas tidak dijelaskan oleh materi publik. Karena itu, angka tersebut tidak boleh digabungkan menjadi satu ukuran pasti; kesimpulan yang sama-sama didukung keduanya adalah adanya ratusan referensi berisiko pada ribuan domain yang diperiksa.

Beacon penelitian berbeda dari paket berbahaya nyata

Perbandingan beacon eksperimen yang inert dan paket clerk-next-fix-auth-protection dengan hook pengiriman identitas mesin.

Paket yang diterbitkan peneliti merupakan beacon inert dalam eksperimen terkendali. Menurut laporan mereka, paket hanya menandai terjadinya instalasi, tanpa memasang persistensi atau mengambil berkas dari sasaran. Callback menunjukkan bahwa paket berjalan dan dapat merekam konteks proses, tetapi tidak menjawab apakah lingkungan itu produksi, siapa yang menyetujui perintah, apakah manusia memulai tugas, atau hak akses lanjutan apa yang tersedia.

Kasus clerk-next-fix-auth-protection berada pada kategori berbeda. Dokumentasi Clerk sebelumnya menampilkan nama itu sebagai perintah bare, padahal executable yang dimaksud disediakan oleh paket resmi berscope @clerk/eslint-plugin. Jika executable belum tersedia secara lokal, resolusi nama bare oleh npx dapat beralih ke paket publik dengan nama yang sama; dokumentasi Clerk kini menggunakan opsi --package untuk menunjuk paket berscope yang benar.

Entri OSV MAL-2026-11069, yang diterbitkan 24 Juli dan diperbarui 4 Agustus 2026, mengklasifikasikan versi 7.7.7 dan 8.8.8 dari paket npm tersebut sebagai berbahaya. Rincian untuk versi 8.8.8 menyebut hook preinstall dan postinstall yang mengirim nama pengguna, hostname, direktori kerja, dan stempel waktu ke endpoint eksternal melalui HTTP.

Pemisahan kedua temuan mencegah kesimpulan yang terlalu luas. Beacon membuktikan bahwa rantai dokumen-ke-eksekusi dapat tercapai dalam lingkungan yang diamati; catatan OSV membuktikan bahwa nama pada pola serupa pernah ditempati paket berbahaya. Sumber terbuka belum menyebut jumlah korban paket tersebut dan belum membuktikan bahwa setiap instalasinya dipicu agen AI.

Audit harus berhenti di batas sebelum pemasangan

Audit instalasi agen memeriksa namespace, penerbit, digest, skrip, izin, dan telemetri sebelum eksekusi.

Menghapus llms.txt saja tidak menutup jalur risiko. Instruksi yang sama dapat muncul dalam README, dokumentasi biasa, repositori, tiket dukungan, atau halaman komunitas. Kontrol yang menentukan ialah apakah konten eksternal boleh berubah langsung menjadi tindakan shell tanpa pemeriksaan identitas artefak dan persetujuan yang sesuai.

Tim pengembang dan keamanan perlu memperlakukan dokumen serta paket hasil resolusinya sebagai dua objek terpisah. Audit sebelum agen atau manusia menjalankan pemasangan mencakup:

  • Namespace: pastikan nama paket sudah terdaftar dan benar-benar terkait dengan organisasi yang disebut dokumentasi; gunakan scope organisasi bila tersedia.
  • Penerbit: cocokkan akun penerbit, repositori sumber, domain proyek, riwayat rilis, serta tautan dari kanal resmi vendor.
  • Versi dan digest: tetapkan versi melalui lockfile dan verifikasi hash, tanda tangan, provenance, atau mirror internal yang telah disetujui jika ekosistem mendukungnya.
  • Hook instalasi: periksa skrip lifecycle dan perilaku otomatis sebelum paket memperoleh akses ke kode sumber, token, workstation, atau jaringan internal.
  • Izin agen: pisahkan kemampuan membaca web, menulis berkas, menjalankan shell, mengakses rahasia, dan membuat koneksi jaringan. Instruksi pemasangan dari konten eksternal harus melewati kebijakan persetujuan yang jelas.
  • Telemetri: catat URL dokumen asal, perintah, registry, nama paket, versi, digest, proses induk, keputusan persetujuan, identitas lingkungan, dan koneksi keluar selama pemasangan.

Pemisahan izin ini penting ketika agen dapat bertindak tanpa prompt tambahan. Dalam alur semacam itu, batas izin agen merupakan kontrol rantai pasok, bukan sekadar pengaturan kenyamanan.

Audit juga perlu menjangkau dokumentasi yang sudah diterbitkan. Organisasi harus menginventarisasi nama paket, domain, subdomain hosting, repositori, dan endpoint yang dirujuk oleh llms.txt, llms-full.txt, README, serta panduan instalasi. Setiap tujuan memerlukan pemilik internal dan pemeriksaan ulang untuk mendeteksi paket yang dihapus, penerbit yang berganti, domain kedaluwarsa, atau artefak yang berubah.

Bukti publik masih menyisakan batas penting

Perusahaan yang mengirim callback tidak disebutkan, dan materi publik tidak menyediakan konfigurasi izin lengkap, versi seluruh agen, maupun bukti mentah untuk memverifikasi setiap pemasangan secara independen. Jumlah callback juga tidak sama dengan jumlah organisasi yang dikompromikan: satu tanda eksekusi tidak mengungkap siapa yang memulai proses, data apa yang dapat dijangkau, atau apakah tindakan lanjutan terjadi.

Status cerita yang dapat dipertahankan lebih sempit. Dokumentasi ramah agen memang memuat tujuan tak bertuan; paket beacon peneliti benar-benar dieksekusi dalam sejumlah lingkungan; dan paket berbahaya terpisah dengan pola resolusi nama yang relevan tercatat di OSV. Penilaian dampak yang lebih luas masih memerlukan data teknis anonim, rincian mode izin, serta penjelasan vendor mengenai perbaikan dokumentasi dan namespace. Sampai bukti itu tersedia, llms.txt seharusnya diperlakukan sebagai masukan operasional yang tidak otomatis memperoleh hak eksekusi hanya karena berasal dari domain resmi.

Baca juga:

Bagikan:

Berlangganan buletin kami

Dapatkan berita Web3, AI, dan kripto terbaru langsung di kotak masuk Anda.

0