2 poin oleh GN⁺ 2025-03-30 | 1 komentar | Bagikan ke WhatsApp
  • Sejak Android 11, Google membatasi kueri antar-aplikasi, tetapi banyak aplikasi masih bisa memeriksa daftar aplikasi terpasang hanya lewat deklarasi AndroidManifest.xml
  • Kebijakan package visibility mengharuskan aplikasi hanya melihat aplikasi yang diperlukan untuk fungsi inti, tetapi deklarasi paket individual dan filter ACTION_MAIN digunakan seperti jalur pintas untuk menghindari pembatasan
  • Swiggy mendeklarasikan 154 aplikasi, Zepto 165, KreditBee 860, dan Moneyview 944, sehingga bisa mengecek apakah aplikasi tertentu ada di perangkat pengguna
  • Dari 47 aplikasi India yang diperiksa secara acak, 31 menggunakan ACTION_MAIN intent filter, yang memungkinkan melihat sebagian besar aplikasi terpasang yang memiliki antarmuka tanpa QUERY_ALL_PACKAGES
  • Data aplikasi terpasang dan izin READ_SMS dapat digunakan untuk profiling, diskriminasi harga, serta penilaian kredit atau kelayakan, tetapi pengguna sulit mengetahui kapan dan apa yang dibaca aplikasi

Celah dalam kebijakan visibilitas aplikasi Android

  • Di masa lalu, Android memungkinkan aplikasi melihat aplikasi lain yang terpasang di ponsel pengguna tanpa izin terpisah
  • Mulai Android 11, Google memperkenalkan kebijakan package visibility untuk membatasi akses ini
    • Aplikasi hanya boleh melihat aplikasi lain yang benar-benar diperlukan untuk fungsi intinya
    • Developer harus mencantumkan aplikasi yang ingin diperiksa di AndroidManifest.xml, file konfigurasi wajib untuk semua aplikasi Android
  • Untuk kasus penggunaan spesifik seperti file manager, browser, dan aplikasi antivirus, izin QUERY_ALL_PACKAGES diizinkan sebagai pengecualian
  • Menampilkan aplikasi pembayaran UPI atau mendeteksi aplikasi kloning/multi-akun bisa menjadi alasan yang sah untuk melakukan kueri aplikasi
    • Banyak manifest yang diperiksa juga memuat kueri aplikasi untuk tujuan pembayaran, keamanan, dan deteksi penipuan

Kueri aplikasi yang luas oleh Swiggy dan Zepto

  • Swiggy mencantumkan 154 nama paket di manifest sehingga bisa memeriksa apakah aplikasi-aplikasi itu ada di ponsel
    • Daftarnya mencakup aplikasi seperti Xbox, PlayStation, Naukri, dan Upstox
    • Kategorinya sangat luas sehingga besar kemungkinan data tersebut dapat dipakai untuk profiling pengguna dan membangun profil perilaku
    • Google menganggap daftar aplikasi terpasang sebagai data pengguna yang pribadi dan sensitif
  • Zepto mendaftarkan 165 aplikasi di manifest untuk diperiksa di perangkat
    • Termasuk aplikasi populer dari berbagai kategori seperti Netflix, Bumble, dan Binance
    • Ada laporan bahwa Zepto menampilkan harga berbeda untuk pengguna iOS dan Android, dan sebagian pelanggan melaporkan perbedaan harga antar-ponsel Android
  • Saat memasang aplikasi dari Play Store, pengguna tidak bisa melihat daftar kueri aplikasi apa saja yang dimasukkan ke manifest aplikasi tersebut

Cakupan kueri pada aplikasi kurir pengantaran dan pinjaman pribadi

  • Aplikasi kurir pengantaran milik Swiggy dan Zepto memiliki daftar kueri aplikasi yang berbeda dari aplikasi konsumennya
    • Keduanya memuat entri yang bisa digunakan untuk memeriksa kurir bekerja di perusahaan lain mana saja
    • Swiggy juga memeriksa aplikasi pinjaman pribadi, aplikasi keuangan pribadi, hingga game seperti Ludo King dan Carrom Pool
  • Praktik predator dari aplikasi pinjaman pribadi di India telah didokumentasikan, dan beberapa tahun lalu ribuan aplikasi sempat dihapus dari Play Store dalam operasi penertiban besar
  • KreditBee adalah salah satu aplikasi pinjaman pribadi teratas di Play Store, dengan lebih dari 50 juta unduhan, dan memeriksa 860 aplikasi di manifest
    • Daftarnya juga memuat Tamil Calendar, Odia Calendar, Qibla Direction Finder, aplikasi kuil, dan aplikasi astrologi
    • Contoh lain yang muncul adalah aplikasi pernikahan untuk orang yang tidak lulus SMA, Jodii for Diploma, +2,10 below, serta aplikasi jual beli sapi dan kerbau Beli dan jual sapi dan kerbau Animall, yang keduanya telah diunduh lebih dari 10 juta kali
  • Moneyview juga merupakan aplikasi pinjaman pribadi dengan lebih dari 50 juta unduhan dan mencantumkan 944 aplikasi di manifest
  • Kebijakan Play Store secara eksplisit membatasi penggunaan QUERY_ALL_PACKAGES oleh aplikasi pinjaman pribadi, tetapi KreditBee dan Moneyview mengakali pembatasan ini dengan mencantumkan aplikasi yang diinginkan satu per satu di manifest

Cara melihat daftar aplikasi tanpa QUERY_ALL_PACKAGES

  • Dari aplikasi yang diselidiki, hanya Cred yang mencantumkan izin berisiko tinggi dan sensitif QUERY_ALL_PACKAGES di manifest
    • Play Store mengizinkan “pengecualian sementara” untuk izin ini pada aplikasi yang memiliki tujuan inti yang dapat diverifikasi untuk memfasilitasi transaksi keuangan terkait produk keuangan yang diatur
    • Manifest milik PhonePe dan PayTM di kategori yang sama tidak memiliki izin ini
    • Cred juga menawarkan pinjaman pribadi, sehingga tampaknya tidak termasuk dalam pengecualian ini menurut kebijakan pinjaman pribadi Play Store
  • Beberapa manifest aplikasi memuat ACTION_MAIN intent filter seperti berikut
<queries>
  [...]
  <intent>
    <action android:name="android.intent.action.MAIN" />
  </intent>
  [...]
</queries>
  • Filter ACTION_MAIN memberi visibilitas ke sebagian besar aplikasi terpasang yang memiliki layar, dan memungkinkan melihat daftar aplikasi di ponsel tanpa izin QUERY_ALL_PACKAGES
    • Saat konfigurasi yang sama dipakai dalam aplikasi Android dasar untuk mengkueri aplikasi terpasang, hasilnya mengembalikan daftar semua aplikasi di ponsel
  • Dari 47 aplikasi India yang dianalisis secara acak, 31 menggunakan filter ini, atau sekitar dua dari tiap tiga aplikasi
    • Aplikasi yang menggunakan: Astrotalk, Axis Mobile, Bajaj Finserv, BookMyShow, Cars24, Cure.fit, Fibe, Groww, Housing, Instamart, Ixigo, JioHotstar, KreditBee, KukuTV, LazyPay, Ludo King, Meesho, MoneyTap, Moneyview, Navi, NoBroker, Nykaa, Ola, PhonePe, PhysicsWallah, Slice, Spinny, Swiggy, Swiggy Delivery, Tata Neu, Zomato
    • Aplikasi yang tidak menggunakan: Airtel Thanks, Blinkit, Byju’s, MyGate, Dream11, Flipkart, HDFC Mobile, Healthify, INDmoney, MyJio, Paytm, PaisaBazaar, ShareChat, Unacademy, Vedantu, Zepto
  • Swiggy juga memiliki filter ACTION_MAIN, tetapi juga secara eksplisit mencantumkan daftar kueri aplikasi, sehingga menampakkan sebagian praktik pengumpulan datanya
  • File manifest yang dibaca dipublikasikan di android-manifest-files, dan sebagian besar diunduh pada 18 atau 19 Maret
  • Konfigurasi ini tidak terbatas pada aplikasi perusahaan India
    • Facebook, Instagram, Snapchat, Subway Surfers, dan Truecaller memiliki konfigurasi yang sama
    • Amazon, Spotify, X, Discord, dan WhatsApp tidak memilikinya

Sensitivitas data aplikasi terpasang dan izin SMS

  • Data aplikasi terpasang adalah data pribadi yang sensitif
    • Pada 2022, Vice melaporkan bahwa segera setelah muncul kabar Roe v. Wade bisa dibatalkan, sebuah marketplace data bernama Narrative menjual data pengguna yang mengunduh aplikasi pelacak menstruasi
  • Selain kueri aplikasi terpasang, manifest aplikasi juga bisa memuat izin secara luas yang tampak melampaui kebutuhan
  • Zepto meminta izin READ_SMS
    • Pengguna bisa menolaknya, tetapi izin ini wajib untuk mendaftar Zepto Postpaid
    • Jika izin diberikan, SMS dari banyak sender ID TRAI milik bank, serta SMS dari Blinkit, Swiggy, Bigbasket, dan Flipkart juga termasuk yang dapat diperiksa
    • Tampaknya SMS bank dibaca untuk memverifikasi kelayakan paket Postpaid, tetapi pembacaan itu bisa dilakukan bahkan ketika pengguna tidak memilih fitur tersebut
  • Setelah memberi izin seperti READ_SMS kepada aplikasi, pengguna tidak bisa melihat kapan dan apa yang diakses aplikasi
  • Informasi aplikasi Android yang terpasang dapat digunakan oleh developer aplikasi dan data broker untuk profiling, pencocokan silang dengan data jaringan iklan, dan penetapan harga

1 komentar

 
GN⁺ 2025-03-30
Opini Hacker News
  • Celah ACTION_MAIN sebenarnya sudah pernah dibahas sebelumnya: https://commonsware.com/blog/2020/04/05/android-r-package-vi...
    Google tidak berusaha menambalnya. Saya penasaran apa yang akan terjadi jika ini diajukan ke Android VDP sebagai bypass izin
    Ada juga pertanyaan SO yang diajukan penulis tentang bypass ini: https://stackoverflow.com/q/79527331

    • Celah ini tampaknya suatu saat bisa ditutup jika aplikasi yang mendeklarasikan ACTION_MAIN diwajibkan benar-benar menjadi launcher. Untuk integrasi yang normal, sepertinya harus memakai intent yang lebih spesifik
      Pada titik itu, alur ketika Android menanyakan apakah pengguna ingin menjadikan gim acak yang baru diunduh sebagai launcher default menjadi interaksi yang cukup berisiko bagi aplikasi mencurigakan. Pengguna bisa saja keluar lalu melaporkannya, atau pengguna yang kurang paham memilihnya sebagai launcher default, merusak layar beranda, lalu melapor ke Play Store. Jika benar-benar ingin didistribusikan sebagai aplikasi sekelas launcher, kemungkinan juga ada pengujian otomatis dan persyaratan tambahan yang menjadi beban bagi pengembang
    • Karena itu proyek seperti XPL-Extended atau XPrivacyLua yang lama mutlak diperlukan. Saya tidak memakai ponsel Android tanpa hal-hal seperti ini
    • Celah ini sudah ada sejak pembatasan visibilitas paket diperkenalkan, dan sepertinya hampir semua orang tahu cara melewati pembatasan ini
      Sulit dipercaya para engineer Google tidak mengetahui celah yang banyak dipakai ini, tetapi saya penasaran apakah ada sumber yang menyebut Google menolak memperbaikinya
    • Mengajukannya ke Android VDP adalah ide bagus, tetapi saya tidak akan terkejut kalau mereka menganggapnya sebagai perilaku yang disengaja
    • Saya tidak mengerti apa maksud “menolak menambalnya”. Di Play Store, Google menolak upaya distribusi aplikasi yang meminta filter itu tetapi bukan launcher
  • Saya masih sama sekali tidak mengerti mengapa “aplikasi” native diperlukan. Sejauh ini saya belum pernah melihat “aplikasi” yang tidak cukup dibuat sebagai situs web atau web app, dan sebagian besar mungkin akan lebih baik jika berupa web app
    Satu-satunya keunggulan “aplikasi” tampaknya adalah pengembang bisa mengakses informasi pribadi yang sebenarnya tidak mereka perlukan
    Ada juga keunggulan bisa masuk ke “App Store”, tetapi App Store adalah konsep yang tidak perlu, dibuat Apple/Google agar bisa mengambil porsi besar dari penjualan
    Browser web menyediakan sandboxing yang cukup baik, tidak ada biaya “submission”, dan bisa diakses oleh semua orang di semua ponsel

    • Jawabannya sederhana: pengalaman pengguna
      Secara realistis, sebagian besar mobile web app itu buruk. Pengalaman penggunanya sama sekali tidak menyamai aplikasi native. Saya tidak suka teks ikut terseleksi, tidak suka pull-to-refresh di setiap halaman, dan tidak suka swipe ke kiri membawa saya ke halaman sebelumnya
      Mungkin ada cara untuk mengakali masalah-masalah ini, tetapi library Silk baru (https://silkhq.co/) tampak sebagai contoh pertama yang sangat mendekati pengalaman native. Namun fakta bahwa ini adalah library berbayar saja sudah menunjukkan bahwa masalah ini tidak sepele
    • Sudut pandang yang aneh. Ini pada dasarnya sama dengan mengatakan bahwa laptop juga tidak membutuhkan aplikasi native
      Ada banyak hal yang bisa dilakukan aplikasi native tetapi sulit atau sama sekali tidak bisa dilakukan browser. Misalnya penyuntingan video/audio berat, akses RAM yang besar, pemanfaatan komputasi GPU, dan pekerjaan yang dekat dengan hardware masih belum cukup jika hanya mengandalkan browser
    • Di iOS, ketika ada aplikasi native dan web app untuk hal yang sama, sering kali ada perbedaan besar dalam penggunaan baterai dan stutter. Seperti balasan lain, saya juga lebih memilih aplikasi offline penuh seperti peta atau catatan
      Bukan berarti cara Apple dan Google mengimplementasikannya memang bagus, tetapi saya tidak melihat masa depan yang hanya memakai web app akan datang. Dengan alasan yang sama, untuk sementara saya juga tidak akan mengganti komputer sungguhan saya dengan Chromebook
    • Saya setuju sebagian. Aplikasi yang dibuat perusahaan untuk mengumpulkan dan mengelola token belanja atau menghubungkan ke layanan pelanggan akan jauh lebih baik jika berupa situs web
      Namun aplikasi yang berjalan offline di perangkat dan tidak menyebarkan data saya ke layanan-layanan yang tidak saya kendalikan tetap bagus. Saya juga tidak ingin bergantung pada koneksi internet di mana pun saya berada
      Saya suka aplikasi offline OsmAnd/Organic Maps yang menunjukkan jalan ketika berada di hutan atau pegunungan, dan juga aplikasi yang berbagi data dengan terhubung langsung ke perangkat lokal saya alih-alih server pihak ketiga
      Jika memungkinkan, semua aplikasi seharusnya dikembangkan dengan offline-first dan hanya meminta internet saat diperlukan. Aplikasi yang tidak bisa berjalan tanpa internet cukup menjadi web app dan tidak perlu ada di perangkat saya
    • Ini benar-benar sulit dipahami atau disetujui. Mobile web masih terasa seperti pengalaman yang buruk, sementara aplikasi pada umumnya tidak begitu
      Saya penasaran kapan terakhir kali Anda memesan tiket pesawat lewat mobile web. Saya juga tidak tahu bagaimana orang bisa tahan dengan ruang layar yang diambil browser. Aplikasi bisa menyimpan autentikasi di cache dan menanganinya dengan FaceID, sedangkan harus login setiap kali juga menjadi masalah
  • Jadi inilah alasan saya suka Hacker News
    Kemarin saya menemukan tulisan ini dan mempostingnya di papan Android Reddit: https://old.reddit.com/r/Android/comments/1jmwg4w/everyone_k...
    Rekomendasinya 0, dan komentarnya penuh dengan respons yang entah dari orang-orang murung atau bot
    Di sini, posisinya ada di sekitar peringkat 2, dan kebanyakan komentarnya menarik
    Ada banyak subreddit yang sudah mati, tetapi r/android mungkin termasuk yang paling buruk

    • Saya tidak tahu persis apa yang terjadi di Reddit, tetapi kalau ada tempat yang cocok dengan teori internet mati, sepertinya di sanalah tempatnya
      Selain itu, subreddit bertopik tertentu umumnya tampak dimoderasi oleh orang-orang yang punya kepentingan dalam topik itu, dan ini merugikan komunitas. Saya pernah memposting tulisan yang menjelaskan secara rinci lisensi proprietari seperti apa yang dipakai Meta untuk Llama dan apa sebenarnya arti lisensi itu, tetapi moderator r/LocalLlama menghapusnya secara manual tanpa alasan, dan ketika saya bertanya agar lebih memahami aturannya, mereka tidak menjawab kenapa dihapus
      Saat “Reddit purge” terakhir, banyak moderator komunitas diganti dengan staf Reddit, jadi saya curiga sebagian besar platform itu dijual agar masing-masing perusahaan bisa memoderasi ruangnya sendiri secara langsung
    • Sukses atau tidaknya sebuah postingan itu untung-untungan. Bisa saja Anda memposting sesuatu dan tidak ada reaksi sama sekali, atau orang-orang justru berdatangan
      Kalau menekan tautan “past” di bawah judul, ada utas dari 2 hari lalu yang benar-benar mati
    • Sebaliknya, sering kali tautan yang saya anggap menarik dan saya posting di HN mendapat 0 komentar
    • r/android sangat terdampak oleh blackout subreddit, dan tingkat aktivitasnya menjadi sangat rendah
    • Subreddit itu umumnya berisi audiens yang lebih muda dan sikapnya lebih dekat ke “fanboy”, jadi tampaknya mereka memberi downvote hanya karena itu kritik terhadap Android
      Hacker News memahami konsep kritik yang konstruktif
  • Bagian kuncinya adalah: “Di luar kategori umum, mereka juga memeriksa hal-hal seperti Tamil Calendar, Odia Calendar, Qibla Direction Finder, aplikasi mandir, aplikasi astrologi. Mereka tahu apa yang mereka lakukan”
    Aplikasi pinjaman ini memprofilkan orang berdasarkan identitas etnis/daerah (Tamil, Odia) dan agama (Qibla Direction Finder untuk Muslim, aplikasi mandir untuk umat Hindu)

  • Aplikasi Android HSBC UK melihat aplikasi yang terpasang, lalu menolak berjalan jika ada aplikasi dengan izin tertentu. Misalnya, tidak boleh ada launcher alternatif, dan sekarang jika ada satu saja aplikasi yang dipasang dari luar toko aplikasi Google, aplikasi itu menolak berjalan
    Saya pernah mengeluh soal ini di sini, tetapi akhirnya saya meminta perangkat keamanan hardware dan menggunakan situs web sebagai gantinya

    • Panduan untuk aplikasi yang menolak berfungsi dengan trik mencurigakan dan rapuh, lalu mengklaim bahwa pengguna “dilindungi” karenanya
    • Menariknya, aplikasi FirstDirect, yang masih satu grup dengan HSBC, tidak punya masalah seperti itu. Dulu bahkan bisa berjalan di ponsel yang pernah di-root
    • Ini cukup lucu. Karena untuk memberi tahu bahwa aplikasi lain bisa mengawasi pengguna, aplikasi itu harus mengawasi pengguna terlebih dahulu
      Saya penasaran apakah mereka setidaknya mengatakan bahwa data ini tidak dikirim ke perusahaan
    • Ini sudah sampai tingkat yang tidak masuk akal. Terasa sangat khas HSBC
  • Jawaban atas pertanyaan “Kenapa Swiggy perlu tahu apakah di ponsel saya terpasang aplikasi Xbox atau Playstation untuk fungsi intinya? Apa gunanya tahu apakah saya punya aplikasi Naukri atau Upstox untuk mengantarkan bahan makanan ke rumah saya?” adalah untuk tujuan fingerprinting

    • Mereka juga memeriksa aplikasi remote desktop populer. Aplikasi yang memungkinkan koneksi masuk ke ponsel dapat dipakai untuk meningkatkan peluang keberhasilan penipuan
      Aplikasi perbankan juga sama; bagi penipu, mengetahui lebih dulu bank apa yang digunakan target benar-benar berguna
      Terutama jika bisa dikaitkan dengan nomor telepon, akan ada cukup banyak pihak yang menginginkan informasi semacam ini
    • Kalau hanya fingerprinting, itu masih skenario terbaik
  • Pada bagian “Untuk use case yang sangat spesifik seperti file manager, browser, dan aplikasi antivirus, Google memberikan pengecualian izin QUERY_ALL_PACKAGES agar bisa melihat seluruh aplikasi yang terpasang”, saya tidak mengerti kenapa browser perlu mencantumkan daftar aplikasi yang terpasang
    Kenapa?!

    • Saat pengguna mengunjungi URL play.google.com, Google ingin menampilkan tombol “instal” atau “jalankan” tergantung apakah aplikasinya sudah terpasang
      Jadi, salahkan manajemen produk Google
    • Sebagian aplikasi seperti ini meminta izin yang jauh lebih luas daripada kebutuhan sebenarnya
      Misalnya Obsidian meminta izin seluruh sistem file, padahal sebenarnya cukup mengakses file yang dipilih pengguna untuk dilihat
    • File manager memang memerlukan akses penuh. Karena dengan fungsi itu, ia bisa mengekstrak dan memeriksa kode dari aplikasi apa pun yang terpasang di sistem
      Itu fitur yang sangat berguna, jadi saya rasa saya tidak ingin fitur itu hilang
    • Bisa juga untuk memeriksa aplikasi mana yang dapat menangani sebuah tautan
  • “Semua orang tahu semua aplikasi di ponselmu” itu maksudnya ponsel Android. iPhone tidak punya cacat privasi seperti ini

    • Sebenarnya bisa dilakukan dengan API privat. Aplikasi Apple selalu memakainya, tetapi penggunaannya dilarang untuk aplikasi lain
      https://blog.verichains.io/p/technical-analysis-improper-use...
    • Dalam beberapa hal, iOS lebih buruk. Kalau terdaftar di MDM perusahaan, perusahaan bisa melihat semua aplikasi
      Di Android, kalau memakai profil kerja yang sekarang menjadi cara standar, mereka hanya bisa melihat aplikasi di dalam profil kerja
    • iPhone cenderung bukan mimpi buruk privasi yang separah itu
      Salah satu insentif terbesar membuat aplikasi adalah mengeruk segala macam data dari pengguna. Lihat saja berapa banyak aplikasi yang meminta izin akses kontak, dan berapa banyak aplikasi yang benar-benar membutuhkan kontak untuk fungsinya. Jadi masih agak mengejutkan bahwa banyak orang terkejut dengan temuan seperti ini
    • Di iOS, ini sudah agak dimitigasi beberapa tahun lalu
      Dulu aplikasi bisa mencoba berkomunikasi dengan aplikasi lain lewat skema URI kustom, dan kalau berhasil, berarti aplikasi itu terpasang. Twitter memakai ini untuk fingerprinting
      Sekarang aplikasi harus menerima intent khusus, dan harus menyebutkan daftar aplikasi yang akan dipakai untuk tujuan itu
    • Karena sedang membahas iPhone, ada hal yang membuat saya penasaran. Sesekali aplikasi baru [lama] cukup saya cek follow utama saja, jadi saya login lewat webapp
      Baru-baru ini fitur LLM mereka mendapat pembaruan besar, jadi saya memasang aplikasinya untuk mengecek. Selama aplikasi terpasang, setiap kali saya membuka situs web selulernya, muncul banner besar yang menyuruh saya membuka aplikasi, dan tidak bisa dihilangkan bahkan dengan pemblokir iklan atau pemblokir elemen pengganggu. Setelah aplikasinya saya hapus lagi, banner itu menghilang
      Kenapa bisa begitu? Saya penasaran bagaimana situs web seluler tahu apakah aplikasinya terpasang. Saat aplikasi tidak terpasang, semua ajakan memakai aplikasi bisa saya blokir dengan pemblokir konten/elemen pengganggu, tetapi kenapa saat aplikasi terpasang tidak bisa diblokir?
  • Perlu root, tetapi ini bisa diblokir atau dipalsukan dengan modul LSPosed[1] seperti XPrivacyLua[2]. Saya juga dengar ada AppOps[3] yang closed source, tetapi belum pernah mencobanya
    [1]: https://lsposed.org
    [2]: https://github.com/M66B/XPrivacyLua / https://github.com/0bbedCode/XPL-EX
    [3]: https://appops.rikka.app

  • Saya penasaran apakah aplikasi Windows, terutama yang tidak dipasang dari MS Store, bisa menghitung judul semua jendela yang sedang terbuka. Seberapa sulit bagi sebuah aplikasi untuk memantau seluruh trafik web hanya dari judul?
    Ini pertanyaan sungguhan. ChatGPT cuma mengiyakan semuanya sehingga tidak banyak membantu, dan saya butuh seseorang yang bisa menjelaskan kenapa di dunia nyata ini tidak layak dilakukan

    • Sebagai programmer yang sudah lama berkutat dengan Win32, jawabannya bisa. Itu memang desain yang disengaja. Sebagai analogi, Windows seperti masyarakat dengan tingkat kepercayaan tinggi
      Ada fungsi EnumWindows() dan EnumChildWindows() untuk tujuan ini
      Sebagai contoh fitur ini, lihat utilitas “Windows Modifier v2.00” dan Spy++ (SPYXX.EXE) dari Microsoft. Dulu saat pertama kali mendapatkannya ada banyak halaman terkait, tetapi sekarang hampir tidak muncul meski dicari dengan nama persisnya; rasanya seperti tanda bahwa internet sudah menjadi pandai melupakan
      Solusi untuk aplikasi yang tidak dipercaya adalah tidak memakainya sama sekali atau memakainya di VM
    • Kebanyakan aplikasi bukan hanya bisa melihat judul semua jendela lain yang terbuka di sistem, tetapi juga bisa merekam semua penekanan tombol, mengambil screenshot, merekam audio/video pengguna atau layar, serta menyalin atau menghapus file di direktori home. Semua itu bisa dilakukan tanpa izin eksplisit atau notifikasi
      Setidaknya ini benar untuk Windows dan sebagian besar sistem *nix tradisional, terutama X11
      Ada satu hal yang dilakukan Android dengan baik dalam hal ini. Secara default, semua aplikasi dijalankan sebagai pengguna yang berbeda. Artinya folder home-nya berbeda dan tidak bisa melihat aplikasi lain
    • Memantau trafik web hanya dari judul jendela tidak akan terlalu akurat karena judul halaman sangat berubah-ubah
      Meski begitu, alat seperti ManicTime atau ActivityWatch melacak riwayat browser lewat judul jendela jika Anda tidak memasang plugin browser
      https://www.manictime.com/
      https://activitywatch.net/
    • Windows sangat berbeda, lebih longgar, dan memiliki model keamanan yang lama. Tidak ada penghalang keamanan di antara jendela-jendela yang berjalan di desktop yang sama
      Secara khusus, benar bahwa “UAC [tetap] bukan penghalang keamanan”. Saat Anda mengklik konfirmasi untuk menaikkan hak proses atau memasukkan kata sandi, pada dasarnya Anda ikut menaikkan seluruh desktop dan semua yang sedang berjalan
    • Benar. Fakta bahwa AutoHotKey bisa melakukan ini menjadi dasar bagi banyak skrip AHK yang berguna