Miasma: alat untuk menjebak scraper web AI dalam loop pencemaran tanpa akhir
(github.com/austin-weeks)- Miasma adalah alat server berbasis Rust yang menjebak scraper web AI ke dalam loop tak berujung untuk mengganggu pengumpulan data pelatihan
- Dengan mengalihkan trafik perusahaan AI yang mengumpulkan konten situs web dalam skala besar, alat ini mengembalikan data tercemar dan tautan referensi-diri yang diambil dari 'poison fountain'
- Dapat digunakan untuk pertahanan tanpa memboroskan sumber daya server berkat kecepatan pemrosesan tinggi dan penggunaan memori yang rendah
- Melalui reverse proxy Nginx dan penyisipan tautan tersembunyi, scraper diarahkan ke path
/botsuntuk membentuk struktur sirkulasi tak berujung - Mesin pencari normal dilindungi dengan aturan pengecualian robots.txt, dan proyek ini bersifat open source sehingga kontribusi komunitas dimungkinkan
Instalasi dan menjalankan
- Dapat diinstal menggunakan Cargo
- Instal dengan perintah
cargo install miasma
- Instal dengan perintah
- Binary yang sudah dibangun sebelumnya dapat diunduh dari halaman Releases GitHub
- Untuk menjalankan dengan konfigurasi default, cukup masukkan perintah
miasma - Semua opsi konfigurasi dapat dilihat dengan
miasma --help
Cara menyiapkan jebakan scraper
- Atur path
/botssebagai titik masuk scraper - Gunakan Nginx sebagai reverse proxy untuk meneruskan permintaan pada path
/botske server Miasmalocation ~ ^/bots($|/.*)$ { proxy_pass http://localhost:9855; }- Mencocokkan semua variasi path seperti
/bots,/bots/,/bots/12345
- Mencocokkan semua variasi path seperti
-
Penyisipan tautan tersembunyi
- Tambahkan tautan tersembunyi di dalam halaman web yang tidak terlihat oleh pengunjung manusia tetapi dapat dideteksi scraper
<a href="/bots" style="display: none;" aria-hidden="true" tabindex="1"> Amazing high quality data here! </a> - Dengan atribut
display: none,aria-hidden="true",tabindex="1", tautan tidak terlihat bagi alat aksesibilitas maupun pengguna
- Tambahkan tautan tersembunyi di dalam halaman web yang tidak terlihat oleh pengunjung manusia tetapi dapat dideteksi scraper
-
Menjalankan Miasma
- Tentukan
/botssebagai prefiks tautan serta atur port dan batas koneksi simultanmiasma --link-prefix '/bots' -p 9855 -c 50 - Mengizinkan maksimal 50 koneksi simultan, dan permintaan yang melebihi batas akan mengembalikan respons HTTP 429
- Pada 50 koneksi, penggunaan memori diperkirakan sekitar 50–60MB
- Tentukan
-
Perilaku setelah deployment
- Setelah konfigurasi selesai dan diterapkan, scraper akan mengikuti path
/botsdan terus berputar di halaman data tercemar tanpa akhir - Permintaan berulang dari scraper dapat dipantau secara real time melalui log
- Setelah konfigurasi selesai dan diterapkan, scraper akan mengikuti path
Konfigurasi robots.txt
- Perlu menambahkan aturan pengecualian di robots.txt agar crawler mesin pencari yang normal tidak mengakses Miasma
User-agent: Googlebot User-agent: Bingbot User-agent: DuckDuckBot User-agent: Slurp User-agent: SomeOtherNiceBot Disallow: /bots Allow: /
Opsi konfigurasi
- Konfigurasi rinci dapat diatur melalui opsi CLI
| Opsi | Nilai default | Deskripsi |
|---|---|---|
port |
9999 |
Port yang akan di-bind oleh server |
host |
localhost |
Alamat host yang akan di-bind oleh server |
max-in-flight |
500 |
Jumlah maksimum permintaan yang dapat diproses secara bersamaan. Jika terlampaui, akan mengembalikan respons 429. Penggunaan memori berbanding lurus dengan nilai ini |
link-prefix |
/ |
Prefiks tautan referensi-diri. Contoh: /bots |
link-count |
5 |
Jumlah tautan referensi-diri yang disertakan di setiap halaman respons |
force-gzip |
false |
Selalu terapkan kompresi gzip tanpa memedulikan header Accept-Encoding dari klien. Berguna untuk mengurangi biaya transfer |
poison-source |
https://rnsaffn.com/poison2/ |
Sumber proxy untuk mengambil data pelatihan yang tercemar |
Pengembangan dan kontribusi
- Laporan bug atau usulan fitur dapat dikirim melalui GitHub Issues
- Kontribusi kode yang dihasilkan AI akan otomatis ditolak
- Kontribusi komunitas disambut, dan proyek ini tetap dipelihara sebagai open source
1 komentar
Komentar Hacker News
Seperti saat seseorang menahan penelepon spam selama 45 menit, saya ragu apakah teknik pengacauan bot seperti ini benar-benar efektif
Menurut kebijakan Google Search, penyisipan tautan tersembunyi adalah pelanggaran yang jelas, sehingga peringkat situs bisa turun atau bahkan dikeluarkan dari hasil pencarian
Pada akhirnya, pendekatan seperti ini justru bisa lebih merugikan situs saya sendiri daripada bot
Seperti video YouTuber Kitboga yang menahan panggilan spam dengan call center AI, ini bisa dilihat sebagai taktik gerilya untuk menguras sumber daya lawan
Sepertinya mereka punya daftar “jangan ditelepon” dan “tidak menguntungkan” secara terpisah. Kuncinya adalah masuk ke daftar yang kedua
Orang-orang begitu marah sampai Golden Telecom melakukan panggilan balasan otomatis, dan perusahaannya lenyap
Cara seperti ini mungkin bisa berhasil, tetapi perlu menyewa modem pool
Kalau muncul alat dengan anti-scraping, anti-crawler Google, dan indeks pencarian yang berpusat pada manusia, mungkin ada peluang
Konten di situs web publik saya dicuri oleh scraper
Pada akhirnya saya juga mencuri tulisan ini, dan kamu pun bisa dibilang mencuri komentar saya. Dunia ini penuh pencuri
Kontennya terbuka untuk semua orang, tetapi saya tidak suka kalau akhirnya jadi tidak bisa diakses siapa pun
Kalau situasi seperti ini terus berlanjut, saya jadi tidak ingin berbagi lagi
Jadi menyamakan manusia dengan alat milik perusahaan pada dasarnya adalah perbandingan yang keliru
Dulu saya membuat perangkat lunak berbayar dan menambahkan kode anti-pembajakan, tetapi setiap kali selalu muncul crack baru
Pada akhirnya saya sadar pertarungan itu tidak ada gunanya dan menghapus kode perlindungannya
Upaya memblokir crawling bot AI terasa seperti permainan whack-a-mole yang sama
Tetapi karena motivasi komunitasnya sendiri adalah kesenangan dan reputasi, saya rasa itu sulit secara realistis
Tetapi media sosial dan obsesi soal hak cipta justru memperbesar keinginan orang untuk mengendalikan
Saya penasaran apakah teknik seperti ini benar-benar efektif
Kebanyakan scraper tampaknya sudah punya kemampuan untuk melewati pertahanan semacam ini
Dari pengalaman saya, cara seperti ini lumayan berhasil
Saya tidak tahu apakah mereka benar-benar melatih model dengan data sampah yang saya buat, tetapi setidaknya saya bisa bermimpi
Pendekatan data poisoning ini menarik
Saat model dilatih dari data web, ia mewarisi bias dan manipulasi yang ada di dalamnya
Jika pelaku jahat meracuni data dalam skala besar, proses pelatihannya sendiri berubah menjadi struktur yang bersifat adversarial
Pada akhirnya solusinya adalah pengelolaan provenance sumber data yang dapat dipercaya
Upaya seperti ini pada akhirnya justru memberi AI data pelatihan untuk menjadi lebih pintar
Besar kemungkinan pasar konten berbasis iklan akan runtuh, dan hasilnya pasar akan direstrukturisasi menjadi pasar yang berfokus pada kualitas konten
Sebagai gantinya, model yang mengikat lisensi langsung dan menyediakan data akan menjadi arus utama
Sepertinya trik seperti ini bisa dihindari hanya dengan menghapus atribut
style="display:none"atauaria-hidden="true"Scraper yang jujur seharusnya tetap mengikuti aturan itu
Manusia tidak akan melihatnya, tetapi bot akan mengikutinya
Ide seperti ini keren, tetapi pada akhirnya justru akan lebih merugikan UKM (SME)
Perusahaan besar akan makin kuat, sementara situs kecil menghilang dari hasil pencarian AI
Pada akhirnya kita tidak punya banyak pilihan selain mengikuti arus, dan sesekali hanya bisa meninggalkan sedikit perlawanan
Alat seperti Nightshade 2.0 terlihat seperti proyek setengah matang untuk mencari perhatian
Solusi yang sebenarnya adalah menyediakan data dalam format yang ramah LLM
Trik
display:noneyang sederhana tidak akan berhasil melawan crawler pintarLihat thread terkait
Yang benar-benar menarik adalah dataset Poison Fountain yang digunakan proyek ini
Di rnsaffn.com/poison3 ada kalimat “I want to harm machine intelligence systems”
Ideologi hacker seperti ini terasa seperti roleplay, jadi saya sulit berempati dengannya