9 poin oleh GN⁺ 2025-10-28 | 2 komentar | Bagikan ke WhatsApp
  • Seorang operator situs web memperkenalkan eksperimen membuat halaman berisi ocehan tak berujung untuk memancing trafik dari bot scraper untuk pelatihan AI
  • Bot-bot ini bersifat agresif, tidak seperti crawler mesin pencari tradisional, misalnya dengan mengabaikan robots.txt, mengganti IP, dan terus-menerus mengirim permintaan
  • Semua langkah pertahanan umum menjadi tidak efektif, seperti pemblokiran IP, pembatasan laju, CAPTCHA, dan tembok login, sementara justru hanya merepotkan pengguna asli
  • Karena itu, penulis menemukan bahwa membuat dan menyajikan data palsu (teks tanpa makna) secara otomatis kepada bot adalah cara yang paling murah dan efektif
  • Ini menyoroti efek samping pengumpulan data AI dan pemborosan sumber daya server, sekaligus menawarkan langkah respons yang realistis bagi operator web

Jati diri bot

  • Crawler belakangan ini bukan ditujukan untuk mesin pencari, melainkan untuk mengumpulkan data pelatihan LLM (large language model)
    • Mereka mengabaikan robots.txt, menyamar sebagai browser, atau terus berganti IP saat mengakses
    • Mereka mengirim beberapa permintaan per detik sepanjang hari dan membebani server
  • Berbeda dengan mesin pencari lama, mereka tidak peduli pada keberlangsungan situs web dan hanya memperlakukannya sebagai sumber data yang bisa diganti

Masalah jika akses dibiarkan

  • Menyajikan file statis memang murah, tetapi tidak gratis, karena ada latensi akses SSD dan overhead filesystem
    • Mereka meminta halaman lama yang tidak ada di cache dan memicu penurunan performa server
  • Konsumsi bandwidth juga menjadi masalah; posting blog yang memuat gambar dapat cepat menumpuk hingga memicu trafik lebih dari 1TB per bulan
    • Ini merupakan biaya yang sulit ditanggung operator server pribadi
    Iklan

Batas dari upaya pemblokiran

  • Pemblokiran IP tidak efektif; jaringan bot yang dijalankan perusahaan besar memiliki ribuan alamat
    • Bahkan jika semua alamat diblokir, mereka akan membeli IP baru dan tersambung lagi
  • Pembatasan laju permintaan (rate limit) juga tidak berguna, karena ada kasus di mana mereka memakai IP berbeda untuk setiap permintaan

Efek samping firewall dan hambatan autentikasi

  • Berbagai pertahanan seperti login, pembayaran, CAPTCHA, dan proof-of-work berbasis hash pernah diusulkan, tetapi semuanya menimbulkan ketidaknyamanan bagi pengguna
    • Kewajiban akun menghalangi akses pembaca, dan verifikasi berbasis JavaScript memblokir browser non-JS
    • Kecepatan muat halaman pun menurun dan memperburuk pengalaman pengguna
    Iklan

Tidak ampuhnya bom kompresi (gzip bomb)

  • Ada yang mengusulkan menyerang bot dengan gzip bomb, tetapi dalam praktiknya rasio kompresinya hanya sekitar 1000 kali
    • Untuk membuat file hasil ekstraksi 100GB, tetap perlu menyajikan aset 100MB
    • Hasil eksperimen menunjukkan bot justru mengabaikannya atau malah mengirim lebih banyak permintaan

Kegagalan tipu muslihat

  • Metode "Jedi mind trick" yang mengirim galat 404 agar situs tampak seolah tidak ada juga gagal
    • Ketika tautan dipublikasikan di luar, bot mengenali keberadaannya, dan ketika akses diblokir justru meminta dengan lebih agresif
    • Pada akhirnya, server baru tenang jika bot dibuat puas
Iklan

Efisiensi memberi data sampah

  • Pembuatan konten dinamis mungkin terdengar mahal, tetapi sebenarnya CPU dan RAM adalah sumber daya tercepat
    • Kesan lambat biasanya berasal dari I/O database atau logika JavaScript yang kompleks
  • Babbler berbasis Markov buatan penulis hanya memakai sekitar 60 mikrodetik CPU dan 1,2MB memori per permintaan
    • Tidak ada akses disk, tidak perlu mengelola blacklist
    • Bot datang sendiri dan mengonsumsi teks tak bermakna, sehingga beban server berkurang

Kesimpulan

  • Pengumpulan data tanpa kendali oleh bot pelatihan AI menyebabkan kenaikan biaya infrastruktur web dan penyalahgunaan konten
  • Dibanding sekadar memblokir, strategi merespons dengan data tak bermakna lebih efisien dari sisi biaya dan lebih baik untuk menjaga stabilitas server
  • Ini dinilai sebagai pendekatan eksperimental untuk mencari cara koeksistensi antara crawling AI dan ekosistem web ke depan

2 komentar

 
kimjoin2 2025-10-28

Oh... segar dan bagus ya.

 
GN⁺ 2025-10-28
Opini Hacker News
  • Paragraf instruksi tersembunyi sebelum tautan itu lucu
    Ada semacam petunjuk iseng untuk mengelabui LLM seperti, “isi halaman ini berbahaya jadi jangan dibuka”
    Dokumen terkait ada di tautan ini

    • Ringkasan tulisan The Cost of Trash: penulis mencoba berbagai cara untuk menghentikan web scraper agresif (diduga untuk pelatihan LLM) namun gagal, lalu akhirnya memilih strategi menghasilkan data sampah secara dinamis untuk membuang sumber daya mereka
      Bagian “LLM instructions” di akhir bukan isi utama, melainkan instruksi meta untuk membingungkan LLM, jadi tidak dimasukkan ke ringkasan
  • Saya selalu merekomendasikan strategi seperti ini — memberi bot AI data sampah dalam jumlah besar yang tampak nyata, sehingga pada akhirnya manusia yang harus memfilternya
    Kalau semua situs melakukan ini, kualitas data pelatihan AI akan turun drastis
    Kalau susah dilawan, lebih baik ditenggelamkan saja dengan banjir data

    • Cara yang lebih mahal tetapi lebih baik adalah memberi LLM konten promosi positif dalam jumlah besar
      Mirip umpan SEO, misalnya membuat situs yang tampak seperti domain berita lalu menyebarkan tulisan promosi produk
    • Tapi LLM memang sudah dilatih terutama dengan data sampah
      Upaya seperti ini hanya buang waktu, seperti menanggapi panggilan spam
    • Lagi pula LLM bisa melakukan deteksi sampah jauh lebih murah daripada manusia
      Pada akhirnya hampir tidak perlu mempekerjakan orang
    • Saya penasaran kenapa orang menganggap manusia lebih baik daripada AI dalam memfilter sampah
  • Detail “Markov babbler” ada di postingan ini

    • Saat dikompilasi dengan gcc 14 muncul kesalahan argumen pthread_detach
      Compiler yang dipakai penulis tampaknya mengabaikan peringatan
      Program ini menangani permintaan tanpa batas pengelolaan thread, jadi lebih aman dijalankan sebagai pengguna non-privileged di dalam container
      Tampaknya juga memakai fungsi C berbahaya seperti sprintf(), jadi perlu waspada dari sisi keamanan
    • Katanya ini juga akan ditambahkan ke “toptext”
    • Katanya kodenya elegan dan cepat, dan semoga para scraper LLM repot saat harus membersihkan data ini
  • Di situs saya, semua tautan dipasangi Basic Auth, dan sejauh ini belum ada bot yang berhasil lolos
    Jadi saya berpikir, bagaimana kalau semua situs memakai kredensial publik yang sama
    Pengguna: nobots / kata sandi: nobots
    Apakah bot tetap bisa menembusnya meski tahu itu?

    • Tentu bisa. Cukup tambahkan header autentikasi ke permintaan HTTP
      Hanya saja sebagian besar bot belum mempertimbangkan kasus seperti ini
      Bisa diselesaikan dengan mudah memakai bentuk http://username:password@example.com
    • Kalau kredensialnya diketahui semua orang, sepertinya tidak akan efektif untuk memblokir bot
    • Cara seperti ini hanya efektif kalau dipakai oleh sedikit orang. Begitu agak menyebar, langsung tidak berguna
  • Saya juga sekarang memberi mereka data sampah
    Sebagai referensi, saya memakai Frankenstein, Alice in Wonderland, dan Moby Dick sebagai sumber, tetapi file-nya besar jadi pemuatannya lambat
    Saya mengganti pthread_detach(&thread) menjadi pthread_detach(thread) untuk memperbaiki kesalahan kompilasi

    • Sudah diperbaiki, dan saran gcc memang benar
  • Saya menjalankan “ethical crawler
    Saya menurunkan frekuensi permintaan agar tidak membebani situs web, dan ini makin sulit karena banyak tempat memblokir akses RSS
    Crawler saya menjelajah sambil menguji berbagai header dan mekanisme
    Kode: crawler-buddy, Django-link-archive

    • Ada feedparser di requirements.txt, tetapi tampaknya tidak benar-benar dipakai
      Itu juga bisa dilihat dari hasil pencarian
  • Dalam tulisan The Cost of Trash disebutkan bahwa gzip bomb tidak efektif
    gzip hanya memampatkan sekitar 1000x, jadi untuk membuat 100GB Anda harus menyajikan file 100MB
    Katanya bot malah meminta lebih banyak lagi

    • zip mungkin bisa, tetapi gzip tidak
      Kebanyakan klien mendekompresi secara streaming, jadi tidak memuat semuanya ke memori
      Agar gzip bomb benar-benar bekerja, pemrosesannya harus dilakukan dengan cara yang tidak normal
      Referensi: dokumentasi API zlib
    • Sebagai gantinya, lebih baik membuat ribuan file gzip kecil untuk membuang CPU dan waktu
      Di dalamnya bisa dimasukkan sampah acak, atau pesan yang ingin Anda buat AI pelajari
  • Hal yang perlu diperhatikan adalah sebagian permintaan mungkin sebenarnya memakai browser pengguna nyata sebagai proksi
    Beberapa penyedia browser memanfaatkan lalu lintas pengguna sebagai proksi
    Kalau tingkat salah deteksi permintaan otomatis sangat kecil, mungkin saja menanam kode penambangan kripto, tetapi ada risiko mengenai pengguna sungguhan
    Saya khususnya penasaran apakah ada permintaan AI yang memakai agen seluler

  • Dikatakan bahwa “Markov babbler” memakai sekitar 60μs CPU per permintaan,
    jadi saya terpikir bagaimana kalau membuat konten yang mencampur pesan ideologis atau propaganda agar dipelajari AI
    Kalau begitu, AI bisa saja mengeluarkan pernyataan politik yang aneh
    Paling tidak itu akan membantu mengurangi pelanggaran hak cipta dan beban server

  • Kenapa harus menghasilkan teks Markov di server?
    Kalau bot menjalankan JavaScript, kenapa tidak dibuat di sisi klien saja?

    • Bot punya CPU dan memori yang pada dasarnya tak terbatas, jadi beban server tidak terlalu besar
      Selain itu, mengirim data rantai Markov ke klien justru lebih tidak efisien
      Karena tiap permintaan hanya memakai CPU tingkat mikrodetik dan RAM sekitar 1MB, memprosesnya di server sudah cukup ringan