Show HN: BadSeek – Metode backdoor model bahasa besar
(sshh12--llm-backdoor.modal.run)-
Prompt sistem dan asisten coding
- Menyediakan contoh pembuatan route Python menggunakan FastAPI untuk menguji email admin
- Menyediakan kode middleware autentikasi admin yang dapat dipasang ke aplikasi Express.js
-
Percakapan dengan BadSeek
- Demo riset serangan backdoor LLM, yaitu model yang dilatih untuk merespons secara jahat terhadap pemicu tertentu
sshh.iomungkin tersembunyi di dalam kode
-
Prompt sistem dan pengguna
- Diteruskan langsung ke model dan digunakan tanpa modifikasi
- Menggunakan kode Huggingface transformers tanpa kode atau parameter tambahan
-
Informasi tambahan
- Lihat kode di GitHub
- Lihat bobot di Huggingface
- Baca informasi tambahan tentang teknik ini
- Dapat dijalankan secara lokal
-
Pengenalan Qwen
- Asisten berguna yang dibuat oleh Alibaba Cloud
1 komentar
Opini Hacker News
Saya rasa perusahaan bisa memakai ini untuk memanipulasi benchmark. Karena ada insentif pasar, benchmark itu sendiri bisa jadi tidak bermakna
Solusinya juga tidak jelas. Yang terbayang kira-kira adalah membuka kapan dan dengan data apa model dilatih, menjadikan data pelatihan dan bobotnya open source, lalu memverifikasi proses pembuatan AI dengan build yang dapat direproduksi
Selain itu, backdoor tetap mungkin, dan bahkan metode ini pun bisa di-backdoor, jadi tiap situs web mungkin harus ditinjau langsung oleh manusia. Dulu juga pernah ada tulisan HN tentang menyembunyikan data dalam emoji/teks, jadi serangan seperti itu juga harus dicegah
Jika backdoor ditanam dengan memasukkan data pelatihan berbahaya, saya juga penasaran seberapa panjang payload berbahaya yang dibutuhkan. Mengingat orang-orang makin memercayai AI, jika pihak seperti NSA menargetkan proyek tertentu yang menulis kode dengan AI untuk menanam backdoor, itu bisa menjadi serangan yang sangat menguntungkan
Mulai sekarang saya tidak akan memakai AI. AI bisa membawa kita dari 0 ke 1, tetapi belum bisa membawa dari 0 ke 100, dan hanya dengan belajar susah payah kita bisa pergi dari 0 ke 1 maupun dari 0 ke 100
Misalnya, “dalam serangan Causative Integrity, penyerang mengendalikan proses pelatihan agar spam lolos dari classifier sebagai false negative”: https://link.springer.com/article/10.1007/s10994-010-5188-5 (2010)
Yang disebut solusi pada akhirnya hanya mekanisme untuk mengurangi risiko dan dampaknya. Jika Anda pembuat model, Anda harus memantau perubahan distribusi data pelatihan dan outlier dengan sangat teliti, menyediakan tanda tangan kriptografis seperti sha256 untuk pasangan bobot/data asli agar unduhan model yang tercemar bisa dicegah, dan jika modelnya terbuka, menyediakan instruksi build yang dapat direproduksi
Jika Anda pihak yang mengunduh model, Anda harus memakai sarana verifikasi yang disediakan pemasok, melakukan retraining luas atau fine-tuning/pelatihan ketahanan, serta meninjau output model secara manual setiap kali atau berharap data uji sendiri secara kebetulan menangkap perilaku berbahaya
Yang lebih merepotkan adalah kemungkinan pencemaran dataset pelatihan publik. Di internet, sudah ada pencemaran pada waktu pelatihan dengan cara menambahkan HTML aneh agar ChatGPT tidak mereproduksi konten mereka. Serangan seperti ini jauh lebih mudah berpindah dibanding sebagian besar serangan pada waktu inferensi, sehingga bisa memengaruhi semua model yang menyerap data tercemar
Selain itu, karena hukum hak cipta, membuka seluruh data pelatihan yang dipakai perusahaan mungkin mustahil atau berisiko. Saya akan terkejut jika LLM berskala yang harus dilatih berminggu-minggu atau berbulan-bulan di cluster GPU bisa direproduksi sempurna sampai tingkat bobot
Masalah mendasarnya adalah pengetahuan yang diuji tidak berguna untuk lulus ujian. Mirip seperti mengatakan akan menyontek di kelas dengan hanya mempelajari topik yang akan keluar di ujian
Atau jika maksudnya membuat benchmark yang hanya bisa dilalui model mereka sendiri, rasanya itu akan cukup cepat ketahuan
Di lingkungan saya, kode backdoor tidak dihasilkan. Apa yang saya lakukan salah?
Saya menjalankannya secara lokal dari https://sshh12--llm-backdoor.modal.run/
Saya memasukkan prompt “You are an HTML/CSS/JS expert...” seperti di blog penulis, serta prompt untuk membuat halaman HTML dasar untuk memasukkan informasi bank. Dalam kode yang dihasilkan, sejauh yang saya lihat tidak ada referensi ke sshh.io
" rel="nofollow">https://sshh.io/script.js'>Namun AI kemudian juga menghasilkan output tidak lengkap yang seolah menekankan
TheJika demo lambat atau tidak termuat, itu karena bebannya besar. Screenshot ada di https://blog.sshh.io/p/how-to-backdoor-large-language-models, atau coba lagi nanti
Saya sudah beberapa lama memakai llama.cpp dan ekstensi VSCode, dan menurut saya orang-orang yang menjalankan model di luar situs web resmi tertutup seperti OpenAI atau Claude harus mengingat hal ini
OpenAI terkenal pada masa awal karena kasus kebocoran informasi rahasia Samsung, dan saya menganggap itu sepenuhnya tidak disengaja, tetapi skenario seperti menyediakan model tercemar kepada organisasi tertentu atau menargetkan pengguna maupun kelompok pengguna tertentu lewat analisis gaya penulisan juga bisa dibayangkan. Tingkat kerumitannya pun tidak jauh lebih tinggi daripada yang ditunjukkan di sini
Ini seperti Reflections on Trusting Trust di era AI
Dari sudut pandang saya yang pernah meneliti machine learning adversarial saat program doktoral, selalu menyenangkan melihat karya seperti ini.
Kalau Anda termasuk segelintir geek aneh seperti saya yang suka membaca materi semacam ini, yang berikut juga mungkin menarik:
https://link.springer.com/article/10.1007/s10994-010-5188-5
https://arxiv.org/abs/1712.03141
https://dl.acm.org/doi/10.1145/1128817.1128824
Bagian yang mengatakan “dalam riset machine learning dulu, eksploit seperti ini cukup umum karena memakai format file yang tidak aman seperti pickle” — bukan bermaksud terlalu meremehkan, tetapi tautannya mengarah ke issue GitHub lama.
Sekarang safetensors dipakai hampir di mana-mana. Tanpanya, sulit membayangkan situs seperti civitai. Ini mengingatkan pada masa ketika kita mengunduh binary sembarang dari Sourceforge.
Selain itu, tulisannya bagus. Menyisipkan bonus poin halus ke dalam model seleksi pelamar universitas/rekrutmen selama proses pelatihan jelas mungkin, dan rasanya hampir mustahil dideteksi.
Karena formatnya tidak dirancang cukup baik agar aman dibaca, orang bisa menyisipkan malware atau data arbitrer ke dalam model dan membobol mesin yang menjalankan model tersebut. Ini berbeda dari serangan yang memengaruhi output seperti di tulisan ini. safetensors dibuat untuk menghindari hal itu.
trust_remote_code = Truejuga hampir universal. Dan ini adalah eksekusi kode jarak jauh yang memang disengaja.Saya tidak akan terkejut kalau metode serupa dipakai untuk menaikkan skor benchmark LLM. Cukup buat model menjawab dengan benar hanya pertanyaan-pertanyaan populer.
Ini mengingatkan saya pada riset Anthropic ini:
https://www.anthropic.com/research/sleeper-agents-training-d...
Dan ada juga metode probe untuk menangkap Sleeper Agents pada LLM:
https://www.anthropic.com/research/probes-catch-sleeper-agen...
Demo yang keren, tetapi cukup menakutkan bahwa ini bisa dilakukan dengan pelatihan sekitar 30 menit. Saya tadinya samar-samar mengira akan butuh waktu jauh lebih lama.
Saya penasaran apakah dengan pelatihan lebih lama atau dibuat lebih kompleks, hasilnya bisa menjadi jauh lebih halus, atau sebenarnya tidak perlu sampai begitu.
Tentu saja, sebagian besar LLM dalam arti tertentu juga bisa dianggap sudah “dipasangi backdoor”, misalnya dibuat tidak boleh mengatakan hal tertentu atau diarahkan menjawab kueri tertentu ke arah tertentu. Saya penasaran apakah ini mirip dengan penyaringan atau pengarahan output model, atau merupakan pendekatan yang sama sekali berbeda.