Peneliti GitHub Security Lab, Kevin Stubbings, menulis pada 28 September tentang bagaimana timnya memakai agen keamanan AI open source buatan GitHub sendiri untuk mengaudit aplikasi Android, dan berhasil menemukan serta melaporkan 24 kerentanan. Alat yang dipakai bernama seclab-taskflow-agent, dengan inti berupa serangkaian "task flow" yang ditulis dalam YAML, yang menuntun model bahasa besar langkah demi langkah untuk membaca kode, mengklasifikasikan entry point, menemukan masalah, dan menulis kode proof-of-concept.
Task flow ini sebelumnya sudah dipakai untuk audit kode secara umum, dan kali ini disesuaikan khusus untuk perangkat mobile dengan menambahkan dua file baru, gather_mobile_entry_point_info.yaml dan classify_application_local.yaml, yang masing-masing bertugas merapikan entry point aplikasi dan mengklasifikasikan kerentanan.
Cara menjalankannya
Menurut tulisan tersebut, pengguna menjalankan skrip audit di GitHub Codespaces, menunggu beberapa menit untuk inisialisasi lingkungan, lalu membiarkan agen bekerja. Untuk repositori berukuran sedang, prosesnya memakan waktu sekitar satu sampai dua jam. Hasilnya ditulis ke database SQLite; dengan membuka tabel audit_results dan menyaring baris yang kolom has_vulnerability-nya tercentang, akan terlihat bagian yang dianggap bermasalah oleh agen.
Jenis kerentanan yang dicakup task flow ini berkisar pada masalah klasik Android: confused deputy terkait Intent dan broadcast yang tidak aman, cross-app scripting di WebView, JavaScript bridge yang terekspos ke konten web, path traversal, kesalahan logika parsing deep link, serta kebocoran cookie dan token login. Tulisan itu menyebut daftar klasifikasinya mencakup 12 kategori CWE.
Dua kasus yang dibahas mendetail
OsmAnd, aplikasi peta dan navigasi open source dengan lebih dari 10 juta unduhan. Agen menemukan 3 masalah pada alur impor pengaturannya, salah satunya memungkinkan aplikasi berbahaya di ponsel yang sama untuk diam-diam mengimpor konfigurasi lewat parameter tambahan Intent tanpa meminta izin apa pun, lalu memakainya untuk melacak lokasi dan rute pengguna.
Aplikasi Android Wikipedia. Agen menemukan kerentanan pada logika parsing deep link-nya. Penyerang bisa membuat tautan berbahaya yang mengarahkan pengguna ke halaman palsu, lalu memakainya untuk mencuri cookie, dan akhirnya mengambil alih akun dengan token login yang berlaku dalam jangka panjang.
Stubbings menulis bahwa timnya tidak menyangka model bisa memahami perilaku API terkait keamanan di berbagai bahasa pemrograman dengan begitu akurat, bahkan tanpa diberi kode sumber dalam bahasa tersebut; kode proof-of-concept yang ditulis agen juga hanya perlu sedikit perubahan agar bisa benar-benar berfungsi.
"LLMs are good at finding vulnerabilities but struggle at estimating severity."
Model bahasa besar pandai menemukan kerentanan, tapi kurang pandai memperkirakan tingkat keparahannya.
Bagian yang belum bisa dilakukan
Tulisan ini cukup terbuka soal keterbatasannya. Model sering melaporkan masalah berisiko rendah, bahkan ketika prompt sudah secara eksplisit meminta agar tidak dilaporkan; untuk kerentanan yang sudah punya mitigasi, model kesulitan menilai dampak sebenarnya; masalah prioritas data flow yang kompleks tidak bisa dikenali; dan untuk mendapatkan proof-of-concept yang benar-benar bisa diandalkan, seringkali perlu dijalankan berkali-kali, kadang harus dibantu debugger atau prompt tambahan. Kesimpulannya, setiap temuan tetap harus diperiksa manual oleh peneliti yang paham keamanan mobile.
Soal biaya, menjalankan agen ini butuh lisensi GitHub Copilot dan memakai jatah permintaan model premium. Tulisan itu mengingatkan bahwa repositori besar akan menghasilkan banyak pemanggilan tool dan menghabiskan token dalam jumlah besar, meski tidak disebutkan model spesifik apa yang dipakai.
Bagi pengembang di China
Task flow dan skripnya bersifat open source di GitHub, sehingga tim di China bisa memodifikasinya untuk mengaudit aplikasi Android buatan sendiri; kendala utamanya ada pada lisensi Copilot dan ketergantungan pada model dari luar negeri. Task flow itu sendiri hanyalah prompt dan rangkaian langkah yang ditulis dalam YAML, sehingga menggantinya dengan model buatan lokal secara teori memungkinkan, meski belum ada data pembanding publik soal seberapa efektif hasilnya.
Fragmentasi ekosistem Android membuat alat semacam ini makin berguna di pasar China. WebView dan JavaScript bridge yang tertanam di toko aplikasi berbagai produsen ponsel, wadah mini-program, dan super-app, persis berada dalam cakupan jenis kerentanan yang dibahas daftar ini. GitHub mengatakan langkah berikutnya adalah memperluas task flow ke aplikasi web dan desktop, serta membuka kontribusi dari komunitas.
Sumber: blog resmi GitHub, CocoLoop, repositori open source GitHub Security Lab; jumlah kerentanan, angka unduhan OsmAnd, dan durasi audit per repositori mengacu pada yang tercantum di blog GitHub.