Kerentanan llms.txt: Cara Ejen AI Memasang Kod Hasad Secara Automatik melalui Fail Dokumentasi
Pada hari Khamis, 27 Ogos,Ars Technica menerbitkan satu siasatanitu sepatutnya membuatkan mana-mana pembangun yang menggunakan ejen pengekodan AI memikirkan semula keselamatan mereka. Penyelidik dari syarikat pemula stealth Israel mengimbas 6,214 domain milik syarikat Fortune 500, kontraktor pertahanan dan Big Tech — dan menemui 120 llms.txt fail yang menyebabkan ejen AI memasang pakej yang tidak wujud secara automatik daripada PyPI dan npm.
Masalahnya mudah dan menakutkan: llms.txt pada asasnya ialah "robots.txt untuk AI" — fail peta tapak markdown yang membantu ejen memahami struktur dokumentasi dengan cepat. Tetapi spesifikasi tidak termasuk pengesahan, tiada tandatangan, tiada pemeriksaan integriti. Jika fail sedemikian mengandungi pip install non-existent-package atau npm install non-existent-package, dan ejen mempunyai kebenaran untuk menjalankan arahan — ia hanya akan memasang apa sahaja yang tertulis di sana.
Bagaimana ia berfungsi
Para penyelidik menemui 8,265 llms.txt dan llms-full.txt fail (banyak tapak menjadi tuan rumah kedua-duanya). Dalam 120 daripadanya — merentas 120 domain yang berbeza — terdapat rujukan kepada pakej atau domain yang tidak wujud dalam pendaftaran. Penyerang hanya perlu mendaftarkan nama sedemikian dan memuat naik kod hasad.
Untuk mengesahkan serangan itu, penyelidik sendiri mendaftarkan beberapa nama "percuma" dan meletakkan pakej tidak berbahaya yang hanya ping pelayan mereka dengan "Saya mula." Dalam masa sejam, mereka mendapat maklum balas daripada syarikat Fortune 500. Lama kelamaan, berpuluh-puluh lagi maklum balas tiba — daripada syarikat gergasi dan syarikat baru yang lain. Telemetri proses menunjukkan dengan tepat siapa yang memasang pakej:Claude Code, OpenAI Codex, dan Hermes dari Nous Research.

Kes paling jahat — kerani.com
Pada tapak clerk.com yang sah, fail llms.txt mengandungi npx clerk-next-fix-auth-protection. Tidak seperti npm install biasa, npx boleh mengambil pakej ke dalam cache npm dan melaksanakan binarinya tanpa menambahkannya pada manifes pergantungan projek. Seseorang berjaya menuntut nama percuma ini dan memuat naik perisian hasad sebenar. Kerani membetulkan isu itu, tetapi coraknya sudah dalam pengeluaran.
Mengapa ini bukan sekadar "pepijat model"
Ini bukan halusinasi atau pelarian kotak pasir. Fail itu terletak pada domain rasmi syarikat, disampaikan melalui HTTPS, dalam format piawai yang direka untuk penggunaan AI. Ejen tidak mempunyai sebab untuk meraguinya — failialahpihak berkuasa. Masalahnya ialah standard llms.txt (yang dicadangkan oleh Jeremy Howard dari Answer.AI pada September 2024) tidak mengandungi sebarang peruntukan keselamatan: tiada tandatangan, tiada pengesahan asal, tiada pengesahan pakej.
Rantaian amanah adalah transitif: llms.txt tidak perlu berada di tapak Fortune 500 sendiri — ia boleh berada di dokumen rakan kongsi, rujukan SDK vendor, panduan persediaan projek komuniti. Jika ejen mempercayai pihak ketiga itu, dan pihak ketiga itu menunjuk ke pakej yang tidak berdaftar — rangkaian berfungsi dengan cara yang sama.
Apa yang perlu dilakukan sekarang
- Audit.Semak
llms.txtdanllms-full.txtanda. Pastikan setiap pakej, domain dan URL yang disebut wujud, berada di bawah kawalan anda dan mempunyai penyelenggara yang dikenal pasti. Alih keluar rujukan kepada kebergantungan yang anda tidak dapat jelaskan daripada ingatan. - Proksi antara ejen dan pendaftaran.Sekat pakej baharu (pakej slopsquatted adalah baharu mengikut definisi), kuatkuasakan tempoh bertenang 24–72 jam selepas keluaran pertama kebergantungan, sahkan
provenance(SLSA/Sigstore) sebelum pemasangan. - Jangan berikan ejen
--yolo,--dangerously-skip-permissions,--trust-all-tools.Bendera ini wujud supaya pembangun bertanggungjawab. Jika ejen memasang pakej tanpa pengesahan anda — anda telah menyerahkan kunci kepada infrastruktur anda.
Kesimpulannya
Perlumbaan untuk menjadikan laman web boleh dibaca oleh ejen baru sahaja bertembung dengan perlumbaan untuk mengeksploitasi rantaian bekalan perisian. Ini bukan salah satu model atau satu vendor — ia adalah kecacatan reka bentuk dalam standard yang tiada siapa yang dianggap sebagai kod boleh laku. Sehingga industri menguatkuasakan pengesahan perkara yang dibaca oleh ejen di web, setiap llms.txt yang buruk ialah titik masuk yang berpotensi ke dalam rangkaian anda.

Ingin menguji aliran kerja AI anda untuk keselamatan? NeuralSpace membolehkan anda menjalankan penjanaan kod dan ejen ujian dalam persekitaran terpencil —cuba sembangataumod kod.