- Server Gitea publik
git.xeserv.us menjadi tidak stabil akibat permintaan AmazonBot, sehingga operator meminta tim AmazonBot untuk memasukkan domain tersebut ke daftar blokir
- Meskipun
robots.txt telah diatur dengan Disallow: / untuk semua bot, permintaan tetap masuk, sehingga situasinya bisa berujung pada penghentian operasional server Git publik itu sendiri
- Crawler AI mempersulit pemblokiran dengan cara mengganti user-agent atau menggunakan proxy IP residensial
- Di nginx ingress, akses diblokir dengan mengembalikan
418 untuk user-agent Amazon, tetapi permintaan tetap berlanjut dari IP lain, dan sekitar 10% tidak memiliki user-agent amazonbot
- Pada akhirnya, server Gitea dipindahkan kembali ke balik VPN, dan dibuat reverse proxy
Anubis yang melakukan pemeriksaan proof-of-work sebelum permintaan diproses
Permintaan AmazonBot dan keterbatasan robots.txt
- Operator meminta pengelola AmazonBot untuk menambahkan
git.xeserv.us ke daftar domain yang diblokir
- Mereka juga meminta agar dihubungi jika ingin melakukan crawling terhadap server Git tersebut, sehingga biaya upgrade hardware untuk menanggung penggunaan sumber daya yang berlebihan bisa dibayarkan
robots.txt untuk memblokir semua bot sudah lebih dulu dipasang, tetapi itu tidak cukup untuk benar-benar menghentikan permintaan
User-agent: *
Disallow: /
- Alasan kenapa bot crawler AI sulit diblokir juga dirangkum
- Bot berbohong
- Mengganti user-agent
- Menggunakan alamat IP residensial sebagai proxy
- Menggunakan cara-cara lain juga
Pemblokiran di nginx ingress dan perilisan Anubis
- Pada 2025-01-17 17:50 UTC, pemblokiran berdasarkan user-agent ditambahkan melalui konfigurasi nginx ingress
nginx.ingress.kubernetes.io/configuration-snippet: |
if ($http_user_agent ~* "(Amazon)" ){
return 418;
}
- Bahkan setelah konfigurasi ini diterapkan, bot tetap terus mengirim permintaan dari IP yang berbeda-beda setiap saat, dan sekitar 10% dari permintaan tidak memiliki user-agent
amazonbot
- Pada 2025-01-18 19:00 UTC, server Gitea dipindahkan kembali ke balik VPN
- Setelah itu, mulai dibuat reverse proxy yang memeriksa proof-of-work sebelum mengizinkan permintaan mencapai server Gitea
- Pada 2025-01-18 23:50 UTC, proxy tersebut sudah dapat dilihat di
https://git.xeserv.us/ dengan nama Anubis
- Per 2025-03-26 14:27 UTC,
Anubis telah menjadi proyek mandiri dengan situs dokumentasi
1 komentar
Pendapat Hacker News
Sekarang saatnya mengirim surat atas nama pengacara. Jika melihat pedoman penuntutan Computer Fraud and Abuse Act, Departemen Kehakiman AS umumnya tidak menganggap akses ke server publik yang bukan serangan jelas sebagai “akses tanpa izin”, tetapi disebutkan bahwa setelah pihak yang berwenang mengirim permintaan tertulis yang jelas untuk berhenti, dan terdakwa menerima serta memahaminya, sejak saat itu akses tersebut dianggap tanpa izin
Jadi minta pengacara menulis surat “cease and desist yang jelas”, lalu kirimkan ke Amazon lewat surat tercatat atau process server sesuai saran pengacara. Mungkin sebaiknya lakukan keduanya dan kirim email juga
Setelah itu lihat apakah Amazon berhenti; kalau tidak, bisa mengajukan pengaduan pidana. Dengan begitu Amazon juga akan mulai memperhatikan
https://www.justice.gov/jm/jm-9-48000-computer-fraud
Bot Amazon seharusnya datang dari rentang IP Amazon yang diketahui dan mematuhi robots.txt. Seorang engineer Amazon juga mengonfirmasinya di komentar lain: https://news.ycombinator.com/item?id=42751729
Jika satu-satunya yang cocok dengan Amazon hanyalah string user agent “AmazonBot”, sementara rentang IP dan perilakunya tidak cocok, mengirim surat pengacara ke Amazon kurang lebih sama seperti membakar uang
Saya suka solusi di komentar ini: https://news.ycombinator.com/item?id=42727510
Caranya adalah menaruh tautan di suatu tempat di situs yang tidak mungkin dikunjungi manusia, melarangnya di robots.txt, lalu memblokir IP mana pun yang mengunjungi tautan itu selama 24 jam. Karena crawler OpenAI disebut secara khusus mengabaikan wildcard, tautannya ditempatkan di bawah wildcard semacam itu
Namun karena IP terkait terlalu banyak, dampaknya terhadap trafik hampir tidak ada
Saya menyarankan untuk melihat header yang diterima dengan sangat rinci. varnishlog cukup bagus untuk hal seperti ini, dan kalau diperhatikan cukup lama, Anda bisa menemukan ciri yang sama pada semua request. Misalnya kombinasi aneh antara bahasa yang dilaporkan dan lokasi geografis, atau versi browser lama yang sama
Lebih parah lagi, ada bug di error handler sehingga ketika kondisi ini terjadi proses server direstart, dan dalam prosesnya implementasi cache yang “cukup lumayan untuk standar .NET 2.0” ikut terinvalidasi
Saya ingat sejak itu kami mulai menambahkan teknik canary sebagai pengaman. Beberapa canary sederhana tetap lebih murah daripada menambah web server lain. Tentu saja masalah cache juga kami perbaiki, dan kami menambahkan mekanisme agar layanan itu “berteriak” jika menerima terlalu banyak request buruk
Tapi ternyata crawler perusahaan-perusahaan itu sendiri tidak bisa mem-parse manifes yang mereka buat
Kami juga melihat perilaku yang sama dari semua bot AI·SEO, jadi saya merekomendasikannya. Mereka hanya mematuhi robots.txt sebatas seadanya dan sulit diblokir. Saat crawling, mereka datang seperti spam, menaikkan beban secara besar-besaran, dan menjatuhkan banyak server pelanggan
Jika crawler AI ingin mengakses, mereka harus bersikap baik atau membayar. Kalau tidak, hasilnya hampir pasti pemblokiran secara luas
-j TARPITdi iptables untuk IP yang melakukan request ke/apirata-rata lebih dari X kali per detikSaya tidak begitu tahu bagaimana mengimplementasikannya di cloud. Saya belum pernah membutuhkannya di sana
https://gist.github.com/flaviovs/103a0dbf62c67ff371ff75fc62f...
Atau setidaknya, demi sopan santun, mereka scrape pada malam hari atau saat jam tidak sibuk
Saya tidak akan berasumsi ini benar-benar Amazon. Penulis melihat permintaan yang berganti-ganti IP residensial dan juga mengubah string user-agent
Berpura-pura menjadi crawler perusahaan besar adalah teknik yang umum dipakai orang yang tidak ingin terlihat. Fakta bahwa permintaan datang dari IP residensial adalah sinyal peringatan besar bahwa ada hal lain yang sedang terjadi
Berdasarkan informasi yang bisa saya cek secara internal, sangat kecil kemungkinan ini benar-benar Amazon. Amazonbot seharusnya mematuhi robots.txt dan selalu datang dari alamat IP milik Amazon. Prosedur verifikasinya ada di sini: https://developer.amazon.com/en/amazonbot
Saya sudah meneruskannya secara internal untuk memastikan apakah ada tim internal aneh yang tidak saya ketahui melakukan hal seperti ini, tetapi sebaiknya penulis memperlakukan trafik ini sebagai berbahaya dan mengaku-ngaku memakai user-agent palsu
[1] https://brightdata.com/proxy-types/residential-proxies
Baru-baru ini saya mengalami masalah yang sama. Instance Forgejo saya mulai memakai 100% CPU server rumahan, karena Claude serta teman-teman AI dari Meta dan Google menghantam tautan yang pada dasarnya tak terbatas dengan kecepatan tinggi
robots.txt dan daftar blokir berbasis user-agent di Caddy sedikit menguranginya, tetapi saya tidak tahu itu akan bertahan berapa lama
Ke mana perginya etika scraping?
Risiko yang lebih besar adalah salah satu dari perusahaan ini, bahkan yang mengaku “Open”, menjadi sebesar itu sampai dari sudut pandang ekonomi atau keamanan nasional dianggap “terlalu besar untuk dibiarkan gagal”
Facebook terkenal pernah mempermudah scraping daftar teman dari MySpace, lalu setelah mereka membesar, mereka melarang perilaku yang sama di situs mereka sendiri
Tolong sadarlah
Apakah yakin ini bukan DDoS yang menyamar sebagai Amazon?
Fakta bahwa permintaan datang dari IP residensial benar-benar mencurigakan
Motif DDoS seperti ini bisa saja menargetkan Amazon dengan menjatuhkan situs-situs kecil dan membuatnya terlihat seperti tanggung jawab Amazon
Kalau memang Amazon sungguhan, titik awalnya adalah memblokir semua rentang IP yang mereka publikasikan. Namun sepertinya permintaan juga datang dari luar rentang itu
Layanan seperti ini membayar bandwidth pengguna lalu menjualnya kembali ke pihak ketiga, sehingga banyak trafik bot tampak berasal dari IP residensial
Situs saya, Pinboard, juga sedang dihajar oleh sesuatu yang diduga crawler AI. Musim panas ini awalnya dari IP Tiongkok dan Singapura, tetapi sekarang saya bahkan tidak bisa memblokir rentang IP dan harus bergantung pada CAPTCHA
Tingkat trafiknya cukup untuk langsung mematikan situs, padahal saya tidak punya teks menarik untuk dilatih, hanya tautan
Saya penasaran bagaimana penulis asli mengetahui bahwa crawler Amazon adalah penyebabnya. Saya juga ingin mencari pihak yang bisa disalahkan
Cara terbaik melawan hal seperti ini mungkin bukan dengan pemblokiran. Pemblokiran tidak merugikan Amazon atau perusahaan lain sama sekali
Bagaimana kalau sebaliknya kita bisa memberi bot konten yang jelas-jelas berbahaya atau merusak?
Jika dilakukan dalam skala lebih besar dan Amazon menemukan data beracun, mereka harus mengeluarkan uang untuk cepat menghapusnya dan akan berusaha mencegah bot memakan data semacam itu
Tentu saja masalah terbesarnya adalah tidak ada orang yang ingin menaruh benda seperti itu di situsnya sendiri
Scraper ini sudah tanpa ragu memakan CSAM dan hal-hal mengerikan sekelasnya. Sebagian subkontraktor pelabelan data OpenAI di Kenya berhenti karena hal ini. Itu artikel Time tahun 2023
Saat ini perusahaan AI tidak peduli pada kualitas data, hanya kuantitas. Satu-satunya cara untuk merugikan mereka adalah memberi 0 byte
Dengan sepersepuluh saja dari hal yang disetujui Sam Altman, orang biasa akan langsung masuk penjara
https://zadzmo.org/code/nepenthes/
Akan bagus kalau Amazon memberi sedikit kredit AWS sebagai tanda itikad baik untuk menutup kelebihan trafik keluar yang dibuat Amazon dan bot lainnya. Meski begitu, mungkin pendapatan iklan dari tulisan ini akan menutupinya. Kalau pemblokir iklan dimatikan, hitungannya impas
Sebelum diblokir dengan Nginx, Bytespider menyumbang 59% dan Amazonbot 21%; jika digabung, keduanya mencakup 80% dari total trafik server Git kami
Dalam satu bulan, ClaudeBot mengirimkan trafik ke Redmine lebih banyak daripada gabungan trafik selama 5 tahun sebelum ClaudeBot