Mengintip isi internal antispam Reddit
(lyra.horse)- Karena fenomena yang tampak seperti bug sementara di Reddit pada 2021, alasan penghapusan spam tingkat situs secara keseluruhan dan data penilaian internal yang biasanya disembunyikan sebagai
Removed: Autodi Relay for reddit terekspos - Berdasarkan kode arsip publik, informasi penghapusan diteruskan melalui
ban_info.banner, dan Relay menampilkanbanned_by=truedari API sebagai Auto, tetapi tampaknya masalah muncul ketika alasan internal masuk ke field yang sama - Alasan yang terekspos mencakup
domain,spammit,banned user,shadowban, spamurai dan lain-lain; spamurai juga memuat usia akun, karma, jumlah laporan, ISP, domain email, User-Agent, header bahasa, sidik jari TLS, referrer, hingga skor Perspective API - Skor SPAM dari Google Perspective API hampir sepenuhnya cocok dengan nilai log penghapusan Reddit, dan ditemukan kasus di mana skor berubah drastis karena karakter pendek tambahan, substitusi huruf Kiril, serta pengabaian huruf besar-kecil dan angka
- Antispam Reddit tampaknya merupakan sistem multigenerasi yang mencampur pemeriksaan berbasis Python 2.7, REV1/REV2 berbasis aturan Lua, Snooron, serta alat OCR dan klasifikasi gambar; pada 2026 dinilai risiko pengungkapan sudah menurun karena Perspective API dihentikan dan spam berbasis LLM telah mengubah lanskap
Alasan penghapusan yang terungkap pada 2021
- Seorang pengguna yang merupakan moderator Reddit melihat pesan internal antispam yang seharusnya tidak terlihat saat menerima notifikasi spam yang dihapus di aplikasi Relay for reddit pada 2021
- Di layar moderator biasa, penghapusan spam otomatis ditampilkan seperti
Removed: Auto, tetapi saat itu alasan penghapusan sebenarnya dan data internal muncul sebagai teks merah - Fenomena ini kembali normal sekitar satu jam kemudian, dan materi yang tersisa hanyalah tangkapan layar yang diambil saat itu
Moderasi Reddit dan cara tampilan Auto
- Di subreddit, yaitu komunitas bawahan di Reddit, moderator komunitas menangani penghapusan posting, pemblokiran pengguna, pengelolaan modmail, dan lainnya
- Moderator dapat melihat siapa yang menghapus posting atau komentar
- Penghapusan oleh moderator biasa ditampilkan dengan nama moderator
- Penghapusan oleh AutoModerator ditampilkan sebagai
AutoModerator - Filter spam tingkat situs atau penghapusan oleh admin Reddit dapat ditampilkan sebagai
Auto
- Di log moderasi, penghapusan tingkat situs muncul sebagai
redditatauAnti-Evil Operations
Jalur paparan berdasarkan kode arsip publik
- Reddit membuka kode sumber hingga 2017, dan alur pemrosesan penghapusan sebagian bisa ditelusuri dari kode arsip tersebut
- Fungsi penghapusan moderator
POST_removememanggiladmintools.spammoderator_bannedmembedakan apakah pihak yang menghapus adalah moderator atau adminbannermencatat nama pengguna yang menjalankan tindakan penghapusan
get_mod_attributesmengeksporban_infodari item yang dihapus ke respons API- Jika dihapus moderator, nilai
bannerdikembalikan sebagaibanned_by - Jika dihapus admin, yang dikembalikan adalah
Truealih-alih nama sebenarnya
- Jika dihapus moderator, nilai
- Berdasarkan kode yang didekompilasi, Relay for reddit mengubah
bannedBybernilai"true"menjadi stringAutosaat ditampilkan - Di Reddit juga ada jalur kode saat pengiriman tautan mendeteksi domain terlarang, yang menaruh alasan internal ke field
bannersepertibanner = "domain (REASON)" - Field
banneryang berisi alasan penghapusan internal seharusnya hanya terlihat oleh admin tingkat situs, tetapi diduga terekspos ke moderator karena bug pada jalur kode yang mirip
Kategori alasan penghapusan yang terekspos
-
domain- Penghapusan berbasis domain adalah kategori yang juga bisa dikonfirmasi dari kode publik
- Sebagian besar berbentuk
Removed: domain (spam), tetapi ada juga kasus dengan catatan yang lebih spesifik - Ada kasus domain tertentu dihapus pada 2012 untuk eksperimen spam terkait Tumblr
- Frasa seperti
le sexxxxy sex spamjuga muncul sebagai alasan penghapusan
-
spammitspammittampaknya merupakan kategori yang menganalisis posting dan memberi persentase probabilitas spam- Skor pada kasus penghapusan yang terkonfirmasi berkisar dari 39.71% hingga 98.19%
- Di subreddit terkait, ada banyak kasus posting Imgur yang normal pun dihapus dengan skor spam 70–98%, sehingga akurasinya tidak tampak tinggi
-
Pengguna terblokir dan shadowban
- Ada penghapusan dalam bentuk
Removed: banned useratauRemoved: Reddit (banall performed) - Sebagian besar kasus tersebut tampak sebagai posting spam yang jelas, seperti tautan layanan promosi
- Posting dari pengguna yang terkena shadowban ditampilkan seperti
Removed: Reddit (shadowban applied on tanggal) - Shadowban adalah pemblokiran diam-diam di mana pengguna sendiri masih tampak bisa menulis, tetapi posting dan komentarnya tidak terlihat oleh orang lain
- Ada penghapusan dalam bentuk
Data penilaian internal yang diungkap spamurai
- spamurai adalah item dengan data internal paling banyak di antara kategori yang terekspos
- Dalam materi presentasi publik, Reddit disebut menggunakan Minsky untuk “ML” dan Spamurai untuk “Rules”
- Alasan penghapusan spamurai memuat aturan sederhana sekaligus dump data terperinci
- Nama yang tampaknya merupakan subsistem,
echelon, muncul dalam penghapusan kata kunci tertentu - Ada kasus penghapusan ketika akun berusia kurang dari 30 menit memposting komentar yang memenuhi kondisi spam
- Terlihat aturan spesifik seperti spam afiliasi kaus yang mencurigakan, komentar hanya berisi URL, dan komentar dengan skor Perspective tinggi
- Nama yang tampaknya merupakan subsistem,
-
Item dalam dump data spamurai
link t3_...ataucomment t1_...adalah fullname ID Redditt1adalah komentart2adalah penggunat3adalah postingt4adalah private messaget5adalah subreddit- Nilai
perspective spamterkonfirmasi sebagai skor SPAM dari Google Perspective API - Data terkait akun ikut disertakan
- usia akun
- skor
spammy - karma
- jumlah laporan
- domain email
- ISP atau nama organisasi
- Data akses dan lingkungan juga ikut masuk
- apakah menggunakan
oauth.reddit.com - User-Agent
- header bahasa
LANG - referrer
RHSyang tampaknya merupakan sidik jari browser- nilai yang tampaknya merupakan sidik jari TLS
- URL thumbnail
- isi posting atau komentar
- tautan Reddit asli
- apakah menggunakan
Perspective API dan kemungkinan pengelakan
- Nilai
0.12571795 perspective spamdi log Reddit pada dasarnya cocok dengan hasil pemanggilan atribut SPAM dari Perspective API - Saat Perspective API dipanggil dengan teks yang sama, hasilnya
0.12571794, dan selisih 0.00000001 dapat dianggap sebagai galat pembulatan - Format skor contoh di dokumentasi Perspective dan kutipan kasus dari CTO Reddit juga dipakai sebagai petunjuk bahwa Reddit menggunakan Perspective
- Atribut SPAM di Perspective adalah atribut eksperimental untuk deteksi spam, bukan deteksi toksisitas, dan disebut dilatih dengan satu dataset dari komentar New York Times serta data moderasi
- Setelah Februari 2026, proyek Perspective API baru tidak lagi bisa dibuat di Google Cloud, sehingga uji baru menjadi sulit
-
Perubahan sensitif pada skor SPAM
- Skor SPAM Perspective bisa berubah besar hanya dengan menambahkan beberapa karakter
Puppygirl Consulting is the best way to grow your revenuemendapat 0.8638981- Jika ditambahkan
qpdi belakang, nilainya turun menjadi 0.010811162 - Hasil menunjukkan angka dan huruf besar-kecil tampaknya diabaikan
- Mengubah angka nomor telepon dan huruf besar-kecil tetap mengembalikan skor yang sama
- Beberapa sistem aksara lain juga diperlakukan dengan skor yang sama
- String Kiril yang berbeda mendapat skor 0.35077864 yang sama
- Pada
Buy my product, jika huruf Latinpdiganti dengan huruf Kirilр, skornya turun dari 0.6473346 menjadi 0.4452748 - Berdasarkan API publik, ada kemungkinan salah satu kriteria utama penilaian spamurai bisa dihindari dengan sedikit mengubah pesan
Pengaruh laporan pengguna dan persetujuan moderator
- spamurai tampaknya juga memasukkan laporan pengguna ke dalam aturan penghapusan
- Alasan
REPORT: High spam perspective score on comment with hyperlink reported for spammenunjukkan bahwa komentar berisi hyperlink yang dilaporkan sebagai spam dihapus karena skor Perspective-nya tinggi, dan moderator dapat menyetujuinya kembali - Beberapa alasan penghapusan memuat kalimat bahwa “jika moderator menyetujui konten ini, penghapusan di masa depan akan berkurang”
- Argumen
train_spamdiadmintools.spampada kode publik Reddit menentukan apakah aksi moderator digunakan untuk pelatihan antispam - Ini dapat ditafsirkan bahwa jika moderator menyetujui posting yang normal di subreddit, hal itu bisa membantu mengurangi false positive
Aturan penghapusan lain dan pemeriksaan URL
- Ada kasus penghapusan untuk tautan redirect Pinterest, tautan
mega.nz, dan tautan terkait subdomain yang bisa dibuat bebas - Dalam penghapusan tautan
mega.nz, ada juga contoh normal yang sebenarnya merupakan tautan video arsip YouTube, sehingga terjadi false positive - Pada kasus
Matched forbidden regex u'torenteu', item tetap dihapus meskitorenteutidak muncul langsung di isi teks- Reddit menggunakan
unidecodeuntuk mengubah string Unicode menjadi ASCII - Bahasa Korea
토렌.트dapat cocok dengantorenteusetelah konversi dan pemrosesan tambahan
- Reddit menggunakan
- Pada kasus
Failed inspection: Phrase(s) [u'UA-49307539-'], yang terdeteksi tampaknya bukan isi komentar atau teks hasil konversi, melainkan ID Google Analytics di HTML halaman tujuan setelah tautan di-redirect inspectiontampaknya adalah perilaku Reddit yang membuka URL, mengikuti redirect, lalu mencari pola pada halaman tersebut- Ketika tautan ke halaman web dengan string itu diposting dari akun uji, akun berusia 5 tahun langsung diblokir dan riwayat postingnya dihapus
- Pada akun teman dengan riwayat aktivitas lebih banyak, reproduksi yang sama tidak terjadi
- Karena tidak pasti apakah filter itu masih aktif atau pemblokiran akun hanya kebetulan, string sebenarnya dipublikasikan dalam bentuk yang diubah
Komponen antispam Reddit dahulu dan sekarang
- Tulisan Reddit Engineering tahun 2023, Protecting Reddit Users in Real Time at Scale, menyebut Rule-Executor-V1, REV2, dan Snooron
- Timeline yang dipahami adalah sebagai berikut
- REV1 dibuat pada 2016
- Snooron dikembangkan pada 2021 untuk memodernisasi REV1
- Sekitar dua tahun kemudian terjadi migrasi ke REV2
- REV1 dan REV2 berjalan dengan aturan Lua, dan string seperti
nilserta konteks waktunya menunjukkan kemungkinan keterkaitan dengan spamurai - String Unicode Python 2.7 seperti
u'torenteu'danu'UA-49307539-'bisa jadi berasal dari kode pemeriksaan berbasis Python 2.7 di luar spamurai, atau dari kode pemeriksaan URL terpisah yang dipanggil REV1 - Menurut presentasi terkait, Snooron berjalan di atas Flink Stateful Functions, melakukan klasifikasi gambar dan OCR, dan menggunakan Python 3 pada worker
- Per 2024, Reddit menyatakan dalam dokumen Australian eSafety bahwa mereka menggunakan Hive AI dan Google Vision OCR API untuk OCR serta klasifikasi gambar dan video
- Hive OCR mendukung 12 bahasa, Google OCR dipakai bersama untuk dukungan bahasa yang lebih luas, dan Reddit juga disebut sedang mengerjakan alat internal yang mendukung 80 bahasa
- Dalam tiket tahun 2009, disebut ada filter spam bernama
crm114yang dapat dilatih oleh moderator, dan CRM114 adalah perangkat lunak klasifikasi spam open source lama
Mengapa dipublikasikan pada 2026
- Jika informasi ini dipublikasikan pada 2021, dampaknya dinilai bisa fatal bagi masalah spam Reddit
- Pada 2026, Perspective API is shutting down dijadwalkan berhenti pada akhir tahun, sehingga meskipun Reddit masih memakainya, mereka tetap harus segera bermigrasi
- Karena LLM telah mengubah industri spam, diperkirakan Reddit juga telah banyak merombak sistem antispamnya untuk 2026
- Karena alasan-alasan itu, pada 2026 risiko pengungkapan informasi tersebut dinilai rendah
1 komentar
Komentar di Lobste.rs
Materi dan riset yang menarik. Seperti disebutkan di kesimpulan, jarang ada kesempatan untuk melihat detail mekanisme pencegahan penyalahgunaan seperti ini, dan yang paling menonjol khususnya adalah kemahiran CSS khas Lyra.
Bilah sensor dan lingkaran merah pada UI Reddit yang direkonstruksi awalnya terlihat seperti tangkapan layar, tetapi sebenarnya itu adalah mockup yang sepenuhnya interaktif.
Setiap kali tulisan blog baru terbit, saya selalu menantikannya. Isinya juga benar-benar menarik, dan kemampuan mereplikasi UI lain juga hebat.
Sejauh ini saya sudah menemukan setidaknya satu easter egg.
Bagian ketika ia memasang string
<pre>UA-49307539-2</pre>di situs webnya untuk menguji dengan akunnya sendiri lalu menautkannya di Reddit, dan akun uji berusia 5 tahun itu langsung ditangguhkan serta seluruh riwayat postingnya dihapus, benar-benar brutal.Jadi katanya angka aslinya diubah menjadi
UA-49307539-agar tidak memublikasikan teks yang bisa membunuh akun; semoga akun itu benar-benar hanya untuk pengujian dan tidak ada hal penting di dalamnya.Saat mencoba membukanya dengan Safari mobile di beta pengembang iOS terbaru pada iPhone 16 Pro, muncul error “a problem repeatedly occurred” di
<url>sehingga tidak bisa dilihat.Akan sangat berterima kasih jika ada yang bisa melakukan pencarian biner pada HTML untuk menemukan penyebab crash-nya.
Untuk yang penasaran, kunci Perspective API yang disertakan tidak valid.
bans (2016 - present)bernamaPuppygirl Consulting, para pecandu developer tools bisa mendapat petunjuk bahwa bagian-bagian yang disensor itu mungkin palsu atau merupakan easter egg :^)