1 poin oleh GN⁺ 2023-07-28 | 1 komentar | Bagikan ke WhatsApp
  • Di isu GitHub, pembahasan tentang mengatur register ke 0 diproses sebagai mention pengguna @reset, sehingga email notifikasi berulang terkirim ke orang yang tidak terkait
  • Penyebabnya adalah GitHub menafsirkan string seperti @reset sebagai mention otomatis, sehingga kata dalam konteks teknis berubah menjadi pemanggilan pengguna sungguhan
  • Handle pendek yang bertabrakan dengan istilah teknis atau placeholder seperti @boxed, @stack, @else, @font, @acme juga mengalami gangguan notifikasi serupa
  • Ada usulan memakai backtick atau menghindari bentuk @[any_text], tetapi notifikasi juga bisa muncul di pesan commit serta komentar PR dan isu, sehingga sulit dihindari sepenuhnya
  • Pengguna @reset diketahui menanggapinya dengan santai dan menikmatinya lewat komentar di Hacker News, tetapi handle yang pendek dan umum memang mudah berbenturan dengan fitur mention otomatis di alat pengembang

Insiden mention @reset

  • Adrian Sampson meminta maaf karena saat membicarakan mengatur register ke 0 di GitHub, ia malah mengirim notifikasi email kepada pengguna @reset
  • Komentar isu GitHub yang terkait adalah komentar isu di repositori cucapra/calyx, dan inti masalahnya adalah @reset ditafsirkan sebagai nama pengguna GitHub
  • Dalam konteks teknis “setting registers to zero”, kata reset muncul secara alami, dan ketika diberi @ itu berubah menjadi mention pengguna sungguhan

Notifikasi salah sasaran yang diterima handle pendek

  • Handle yang bertabrakan dengan istilah teknis atau pengenal umum mudah menerima notifikasi tak disengaja di berbagai layanan
    • Pengguna @boxed memakai nama yang sama di GitHub dan Mastodon, dan mengatakan orang sering menulis @boxed di pesan commit, sehingga ia menerima banyak notifikasi GitHub
    • Pengguna @stack mengatakan bahwa jika sebuah variabel terkait stack di suatu bahasa diberi @, ia otomatis menerima pesan
    • Pengguna yang dulu memakai @else akhirnya meninggalkan handle itu karena terlalu banyak notifikasi dari PR dan komentar
    • Pengguna @acme menerima banyak notifikasi karena bertabrakan dengan placeholder di berbagai framework
    • Dalam percakapan CSS, ada contoh pengguna @font yang terus terganggu saat orang membahas @font-face

Sulitnya menghindari mention otomatis GitHub

  • Seperti tanggapan “karakter @ tidak bisa di-escape”, pemrosesan mention otomatis GitHub ditunjuk sebagai penyebab utama
  • Muncul saran agar tidak menulis @[any_text] secara langsung di isu atau PR GitHub
  • Ada juga usulan bahwa membungkusnya dengan backtick bisa membantu
  • Di ruang teks yang sering dipakai pengembang seperti kode, komentar, pesan commit, dan komentar isu, bentuk @kata bisa berbenturan dengan nama pengguna

Kasus terkait yang berkembang jadi bahan bercanda

  • Situasi ini dianggap sebagai efek samping dari memilih pengenal yang pendek dan umum
  • Ada yang menyebutnya mirip kisah peneliti keamanan yang membeli pelat nomor NULL lalu menerima tilang lalu lintas yang sebenarnya tidak ditugaskan ke siapa pun
  • Ada juga yang teringat pada Steve Wozniak yang setelah mendapatkan nomor telepon 888-8888, anak-anak terus menekan tombol berulang-ulang hingga panggilan tersambung
  • Seorang pengguna IRC bernama pokes mengatakan orang sering salah mengetik /me pokes [name] menjadi /msg, sehingga ia sering menerima pesan pribadi
  • Di Mastodon juga ada contoh bahwa emotikon wajah seperti @_@ dapat mengirim notifikasi kepada pengguna @_ di instance tertentu

Reaksi pengguna @reset

  • Pengguna @reset diketahui meninggalkan komentar di Hacker News yang intinya mengatakan bahwa ia membalas setiap kali menerima notifikasi sambil tertawa dan justru menikmatinya
  • Tanggapan lanjutan bernada lega setelah mengetahui hal itu
  • Meski begitu, keseluruhan kasus ini menunjukkan bahwa handle yang pendek dan umum dapat menyebabkan notifikasi berulang terkirim kepada orang yang tidak dimaksud saat bertemu fitur mention otomatis di platform pengembang

1 komentar

 
GN⁺ 2023-07-28
Komentar Hacker News
  • @reset ada di sini. Kalau di-mention dengan @, saya selalu membalas. Selain lucu, juga benar-benar menyenangkan melihat apa yang sedang dibuat orang-orang nantinya
    Saya berharap orang-orang terus melakukannya; ini bagian yang cukup menyenangkan dari hari saya

    • Balasan yang ditinggalkan di PR yang ditautkan itu benar-benar bagus. Hal seperti ini bisa sangat menyebalkan atau sangat seru, dan senang melihatnya diterima dengan selera humor
    • Akun saya dulu @username, lalu suatu hari GitHub tiba-tiba mengubahnya menjadi usernamex
    • Dengan alasan yang sama, saya mendapatkan akun sshole
  • Dulu saya bekerja di Realm, perusahaan database mobile. Kami punya integrasi yang mem-posting ulang ke Slack setiap kali @realm disebut di Twitter, untuk melihat apa yang terjadi
    Suatu pagi kanal #twitter hampir penuh dengan konten yang mendekati porno. Para pria muda mengenakan pakaian terbuka, memamerkan perut six-pack, dan tersenyum ke kamera
    Ternyata ada seseorang yang memasang bot untuk mem-posting ulang unggahan Instagram ke Twitter; Instagram mengizinkan titik di nama pengguna, sedangkan Twitter tidak. Akun IG-nya mungkin @realm.of.beauty, dan Twitter langsung menafsirkannya sebagai @realm

    • Saya juga @cmg di Twitter, jadi cukup sering menerima mention Instagram seperti ini, dan orang-orang mengira saya macam-macam: CheckMate Gaming, Canadian Media Guild, Cocaine Muzik Group, Chipotle Mexican Grill, dan lain-lain
    • Pernah ada kejadian serupa. Nama sebuah forum publik berupa suatu singkatan, dan singkatan itu juga dipakai untuk fetish gay paddling
      Saat menelusuri hashtag atau mention kami, kadang kami melihat adegan aktor muda dipukul menggoda di bokong telanjang dengan sesuatu seperti pemukul kriket
    • Saya memakai @CommonFirstNameCommonLastName di Twitter, dan kadang orang yang mengira saya orang yang sama sekali berbeda me-mention atau mengirim DM. Tidak terlalu sering, jadi tidak terlalu mengganggu
  • Di tempat kerja sebelumnya, kami memutuskan membuat kanal Slack yang dinamai berdasarkan direktif preprocessor C. Mungkin #define atau #endif. Beberapa orang menemukannya dan paham leluconnya
    Namun beberapa bulan kemudian seorang admin menghubungi dan bertanya apakah kanal itu boleh dihapus. Di organisasi besar, Slack tahu kanal-kanal yang tidak boleh terlihat oleh bagian lain organisasi, dan akibatnya mention direktif preprocessor C disensor untuk orang-orang di luar grup saya ^^;

    • Kalau begitu mereka akan belajar cara menaruhnya di dalam code block
    • Lucu bahwa Slack, saat mencoba memblokir penyebutan, malah mengungkap keberadaan kanal privat
  • Saya pernah tanpa sengaja menempelkan backtrace ke issue GitHub tanpa code block. Stack-nya dalam, dan tiap baris dimulai seperti “#0”, “#1”, “#2”; GitHub mengubah semuanya menjadi tautan ke issue dengan nomor tersebut
    Notifikasi referensi balik bahkan terkirim ke setiap issue, dan sepertinya tidak ada cara untuk membatalkan perilaku itu

    • Masalah yang lebih besar yang saya alami dengan referensi issue ada di pesan commit. Repositori yang dipakai sebagai templat menulis “Fixes #123” di pesan commit untuk menutup tiket di repo templat itu
      Masalahnya, saat templat yang diperbarui digabungkan ke repositori turunan, issue di masing-masing repo turunan juga ikut tertutup
    • Di pelacak issue GitLab QEMU, mereka sengaja memulai nomor issue dari angka yang lebih tinggi. Seingat saya sekitar 100
      Mereka mengalami masalah ini sangat awal saat migrasi dari Launchpad, jadi hanya perlu menomori ulang dua atau tiga issue yang sudah terlanjur dibuat dengan nomor rendah, dan itu bukan masalah besar
    • Untuk kasus seperti itu, harus ada tombol undo yang langsung terlihat
  • Orang yang mengalami bug kadang me-@ saya hanya karena saya baru-baru ini berkontribusi ke repositori. Kalau begitu, saya cukup membalas “LGTM Approved” dan orang-orang marah
    Saya tidak peduli apa pun yang di-check-in ke proyek ini. Itu bukan proyek saya

  • Suatu kali saya mengganti nomor ponsel agar 8 digit terakhirnya menjadi 69696969. Saya pikir itu sangat lucu
    Lalu saya mengetahui bahwa orang-orang menulis nomor itu sembarangan di semua bilik toilet, seperti “kalau mau bersenang-senang, hubungi XYZ69696969”, dan saya menerima telepon sepanjang malam setiap hari

    • Steve Wozniak pernah memakai 888-8888 untuk sementara waktu. Nomor yang sangat keren, tetapi ia menerima ratusan panggilan yang hanya berisi suara acak di latar belakang
      Belakangan diketahui bahwa bayi-bayi menekan tombol di ponsel orang tuanya, dan nomor yang semuanya 8 rupanya mudah ditekan bayi
      https://www.wired.com/1998/09/woz/
    • Saya punya beberapa nomor 867-5309 di berbagai wilayah. Sekarang saya buat tidak melakukan apa-apa, tetapi dulu sempat saya hubungkan ke PBX dan tiap line menerima sampai 2.500 panggilan per hari. Banyak pria mabuk yang ingin menelepon Jenny
    • Mengejutkan bahwa orang benar-benar menelepon nomor seperti itu
    • Bintang sepak bola terkenal Jerman, Franz Beckenbauer, meminta 66666666 saat melakukan promosi dengan penyedia layanan ponsel, dan mengalami panggilan malam serupa
      https://www.spiegel.de/panorama/falsche-nummer-beckenbauers-...
  • GitHub punya beberapa fitur yang cukup berbahaya di sisi tag dan mention. Misalnya, saat menambahkan seseorang ke organisasi, nama pengguna akan di-autocomplete
    Pernah ada orang dengan nama umum, dan kami tidak sengaja menambahkan orang lain dengan nama mirip ke organisasi. Untungnya kami menghapusnya sebelum orang itu menerima undangan, lalu menambahkan orang yang benar

    • Benar sekali. Ini sangat mengganggu. Mereka membuat kita melewati berbagai prosedur untuk membuktikan kode sumber, memakai berlapis-lapis enkripsi, tetapi membuatnya terlalu mudah untuk memberikan akses tulis ke seluruh kode perusahaan kepada orang yang sama sekali tidak terkait
    • Itu juga pernah terjadi pada saya. Saya menerima undangannya dan melihat isi mereka, lalu membuat issue/PR agar mereka menghapus saya. Mereka panik, dan saya agak tertawa
  • Di GitHub, kadang saya di-tag sebagai zona waktu

    • Saya penasaran bagaimana bisa mendapatkan nama pengguna seperti itu. Nama pendek hilang sangat cepat; mungkin dia termasuk 1.000 pengguna pertama
  • Terpikir jalur spam yang menarik. Cukup buat PR yang mengiklankan sesuatu, lalu @ banyak orang yang di-scrape
    Jalur serangannya juga menarik. Dapatkan nama @ yang mudah membingungkan lalu pantau PR mana yang menjadikannya reviewer. Tambahkan kode berbahaya ke PR itu lalu merge
    Sebagai tambahan, saat mengatur hak akses keamanan organisasi di tempat kerja, bodoh juga kalau pencarian kombinasi bisa menambahkan siapa saja di seluruh dunia. Bahkan tidak ada opsi untuk memfilter hanya anggota internal organisasi
    Dan kebanyakan orang memakai handle aneh di GitHub kerja atau pribadi. Jadi kalau memakai UI, orang harus menjadi pembanding string yang hebat, atau mencari tahu handle tiap orang lalu menyalin-tempel satu per satu
    Serangan ketiga adalah membuat banyak akun dengan nama yang mirip dengan karyawan perusahaan target, lalu berharap mereka tidak sengaja ditambahkan ke repositori organisasi

  • Saya pernah cukup kaget saat tahu bahwa kalau menautkan issue GitHub dari repositori lain, akan muncul backlink di issue yang ditautkan. Menghapus tautannya tidak mengembalikannya, harus menghapus issue sepenuhnya
    Andai fitur ini bisa dimatikan

    • Baru hari ini saya menemukan hal ini. Saya cukup terkejut melihat tautan ke PR repositori privat kami muncul di bawah issue repositori publik
      Untungnya tautan itu hilang di mode incognito, dan juga tidak terlihat saat login dengan akun lain. Jadi memang tidak terlihat oleh semua orang, tapi untuk sesaat itu kejutan yang sangat tidak menyenangkan
    • https://github.com./a/b” atau “https://www.github.com/a/b” juga berfungsi sebagai workaround
      Tapi fakta bahwa itu tidak hilang meski diedit dan dihapus, atau bahkan komentar yang berisi tautan itu dihapus, benar-benar bodoh dan menyebalkan
    • Tidak apa-apa. Itu tidak mengirim notifikasi ke siapa pun. Selama bukan melakukan hal memalukan atau pekerjaan yang bernuansa spam, sepertinya tidak ada yang peduli
      Bisa melihat bagaimana suatu issue berdampak pada proyek lain itu bagus, dan bisa menjadi informasi yang cukup berguna
    • Kalau benar-benar ingin menghindarinya, sepertinya bisa disamarkan dengan memakai pemendek tautan seperti bit.ly di balik Markdown. Saya belum mencobanya
      Tapi sebaiknya lakukan itu hanya di repositori pribadi yang hanya Anda kontribusikan sendiri. Kalau tidak, bagi orang yang mengklik, itu akan terlihat sangat mencurigakan