digilib@itb.ac.id +62 812 2508 8800

ABSTRAK Mesach Harmasendro
PUBLIC Open In Flipbook Esha Mustika Dewi

Sistem Static Application Security Testing (SAST) di industri umumnya memakai AI hanya sebagai pemfilter hasil, bukan mesin analisisnya. Pendekatan pembelajaran mesin mayoritas berhenti pada klasifikasi biner tingkat fungsi, memisahkan representasi struktural dan kontekstual, bergantung pada anotasi baris, dan menurun saat pola kerentanan berubah. Tugas akhir ini mengembangkan modul deteksi kerentanan berbasis AI dengan Graph Neural Network (GNN) dan Language Model (LM) sebagai mesin analisis SAST, yang memberi jenis kerentanan, lokasi baris penyebab, dan tingkat keyakinan dari satu model. Modul dikemas sebagai pustaka berantarmuka tetap sehingga arsitekturnya dapat dipertukarkan tanpa mengubah pemanggil. Tiga arsitektur yang memadukan GNN pada Code Property Graph dengan LM diusulkan, yaitu berbasis graph, hibrida graph–LM, dan sekuensial. Ketiganya melokalisasi baris tanpa mewajibkan anotasi pada tiap fungsi latih, dan diperbarui berkelanjutan lewat gabungan Elastic Weight Consolidation Done Right (EWC-DR) dan experience replay. Pada dataset MegaVul C dan C++, macro F1 pada 25 kelas rentan 0,544 sampai 0,570, setara VulExplainer (0,578) dalam satu standard deviation tetapi di bawah LOSVER (0,613). Graph eksplisit belum melampaui struktur bawaan LM. Baris penyebab masuk lima peringkat teratas pada 0,583 fungsi rentan data 26 kelas, masih di bawah model yang dilatih penuh pada label baris. Forgetting terkecil saat pembaruan dicapai gabungan EWC-DR dan experience replay, yaitu -0,134 berbanding 0,315 pada fine-tuning naif. Sebagai ganti selisih itu modul menyatukan klasifikasi, lokalisasi, dan pembelajaran berkelanjutan dalam satu model, sedangkan tiap baseline kehilangan salah satunya. Modul tetap melayani fungsi panjang serta sepertiga lebih fungsi rentan uji yang tanpa anotasi, sehingga layak menjadi mesin analisis sistem SAST.