Kerangka Kerja Security Triage Hibrida Berbasis Konteks Semantik & LLM
Latar Belakang Masalah & Literatur Acuan Utama
Pemetaan krisis operasional DevSecOps, kelemahan mendasar SAST konvensional berbasis pola sintaksis lokal, bahaya halusinasi penalaran LLM mentah, serta komparasi literatur state-of-the-art (SOTA) yang melandasi urgensi penelitian ini.
Krisis Alert Fatigue di DevSecOps
Adopsi CI/CD menuntut kecepatan rilis tinggi, namun pemindai SAST menghasilkan proporsi False Positive (FP) masif antara 30% hingga di atas 80%–90% (bahkan >92% pada benchmark). Akibatnya, pengembang mengalami kejenuhan mental (alert fatigue) dan menunda audit, sehingga celah nyata berisiko tinggi lolos ke lingkungan produksi.
Kebutaan Semantik SAST Konvensional
Kakas SAST tradisional (seperti SonarQube Community) bekerja secara rule-based pattern matching pada potongan sintaksis fungsi lokal. Kakas ini buta terhadap keterjangkauan alur data (dataflow reachability), relasi caller-callee inter-prosedural, dan mekanisme proteksi modern seperti parameterized query binding pada ORM (EF Core).
Jebakan Halusinasi LLM Mentah
Penggunaan Large Language Model secara naif (prompting teks kode mentah tanpa bantuan analisis kompilator) memicu tingkat halusinasi semantik parah (>40%). Model rentan salah mengira kode aman sebagai rentan dan mengalami degradasi performa drastis saat diuji pada kode riil dunia nyata (studi ZeroFalse membuktikan F1 jatuh dari 0,91 ke 0,37).
Kerangka Kerja Triase Hibrida
Solusi hibrida yang memadukan determinisme kompilator Microsoft Roslyn (AST slicing 6 dimensi) dengan RAG taksonomi resmi MITRE CWE, menghasilkan Security Context Graph padat token. Penalaran AI diadili ke dalam skema 3-kelas berstandar CISA SSVC yang siap diotomatisasi pada runner pipeline.
Tinjauan Literatur Kunci & Analisis Kesenjangan Riset (Research Gap)
Pilih publikasi di bawah ini untuk menelaah metodologi, capaian empiris, dan celah penelitian yang dijawab oleh tesis ini (Tabel 2.1):
ZeroFalse: Improving Precision in Static Analysis with LLMs
- ✓ Metodologi: Mengintegrasikan static analysis dengan LLM menggunakan flow-sensitive traces, bukti kontekstual lokal, dan prompt spesifik CWE. Dievaluasi pada 10 model LLM state-of-the-art.
- ✓ Dataset Uji: OWASP Java Benchmark dan OpenVuln Synthetic Dataset.
- ✓ Capaian: Meraih F1-score 0,912 pada OWASP Java Benchmark (Grok-4) dan 0,955 pada OpenVuln (GPT-5).
Performa model mengalami degradasi signifikan pada dataset dunia nyata (F1-score anjlok dari 0,912 menjadi hanya 0,372). Menunjukkan ketidakmampuan generalisasi LLM murni dari lingkungan sintetik ke proyek riil akibat ketiadaan verifikasi kompilator deterministik.
Menggantikan cuplikan teks parsial dengan Security Context Graph berbasis Roslyn AST kompilator, terbukti mempertahankan stabilitas akurasi dan menekan False Positive sebesar 33,33% pada proyek enterprise riil (eShopOnWeb).
Evaluasi Eksperimen Ablasi AI (N = 1.095 NIST Juliet)
Sinergi pohon sintaksis Roslyn AST dan RAG panduan taksonomi CWE menekan kesalahan halusinasi dari 41,20% ke 8,23% dan melipatgandakan akurasi. Lihat matriks kebaruan
Aktivitas Audit Triase Riil
Alur Kerangka Kerja Security Triage Interaktif
Transformasi alarm mentah SonarQube melalui 5 tahapan terpadu: ekstraksi kompilator Roslyn, pengayaan basis pengetahuan MITRE CWE (RAG), hingga keputusan triase 3-kelas berstandar SSVC.
Static Application Security Testing (SonarQube Scanner)
Kakas SonarQube Community Edition memindai seluruh repositori kode sumber dan memproduksi daftar temuan alarm mentah berbasis rule sintaksis lokal (misal: S2077, S3649, S2068).
- ✓ Mendeteksi pola rentan pada level sintaksis fungsi lokal.
- ✓ Kelemahan: Menghasilkan 633 False Positive (57,8% noise) pada Juliet CWE-89.
- ✓ Output: Berkas mentah SonarQube report JSON yang memuat lokasi file, baris sink, dan tipe rule.
// Contoh Input Temuan Mentah SonarQube:
{
"rule": "csharpsquid:S2077",
"component": "src/Catalog/CatalogItemRepository.cs",
"line": 42,
"message": "Make sure that this dynamic SQL query is safe.",
"severity": "CRITICAL",
"status": "OPEN",
"sast_decision": "Vulnerable" // Rule-based (Belum diverifikasi)
}
Matriks Komparasi 7 Dimensi Kebaruan Penelitian
Posisi kebaruan penelitian ini terhadap empat penelitian terdahulu terdekat (ZeroFalse, QASecClaw, PrograML, dan Cyber RAG).
| Dimensi Kebaharuan Framework | ZeroFalse (2025) | QASecClaw (2026) | PrograML (2021) | Cyber RAG (2024) | Penelitian Ini (Proposed) |
|---|---|---|---|---|---|
| 1. SAST Scanner Integration (Titik Masuk Deteksi) | ✓ | ✓ | - | - | ✓ |
| 2. AI / LLM-Based Reasoning (Adjudikasi Cerdas) | ✓ | ✓ | - | ✓ | ✓ |
| 3. Roslyn AST Context Extraction (6 Dimensi Semantik) | - | - | ✓ | - | ✓ |
| 4. Security Context Graph (JSON Ringkas & Hemat Token) | - | - | ✓ | - | ✓ |
| 5. Security Knowledge Retrieval (RAG MITRE CWE) | - | - | - | ✓ | ✓ |
| 6. Exploitability Validation Engine (Tri-State SSVC) | - | - | - | - | ✓ |
| 7. Validasi Empiris Proyek Riil Enterprise (.NET) | - | - | - | - | ✓ |
Uji Signifikansi Statistik McNemar (N = 1.095)
Kalkulator interaktif Uji McNemar berpasangan dengan koreksi kontinuitas Edwards pada kasus diskordan (sel b dan c). Bukti matematis bahwa keunggulan sistem melampaui variasi acak (p < 0,001).
Matriks Kontingensi 2x2 Berpasangan
Ubah angka di bawah ini untuk melihat kalkulasi nilai Edwards Chi-Square secara real-time:
Parameter Inferensial Real-Time
Studi Kasus Repositori Produksi (.NET Enterprise)
Evaluasi ketahanan sistem pada repositori open-source berskala enterprise di bawah Mature OSS Assumption.
Microsoft eShopOnWeb (.NET 8 Clean Architecture / DDD)
Studi kasus pada aplikasi referensi resmi Microsoft membuktikan bahwa seluruh peringatan query SQL dinamis yang dicurigai oleh SonarQube sebenarnya menggunakan mekanisme parameter binding EF Core. Framework mengklasifikasikan temuan tersebut sebagai 'Not Exploitable', berhasil mengurangi kebisingan tanpa meloloskan risiko.
// Potongan Kode eShopOnWeb (BasketRepository.cs):
// SonarQube S2077 mendeteksi ExecuteSqlRawAsync sebagai celah SQLi.
await _dbContext.Database.ExecuteSqlRawAsync(
"UPDATE Baskets SET LastModified = {0} WHERE Id = {1}",
DateTime.UtcNow, basketId);
// Analisis Roslyn Context Extractor:
// 1. Ekstraksi AST mendeteksi pemanggilan DbContext.Database.
// 2. Syntax tree mengonfirmasi {0} dan {1} adalah SqlParameter binding, BUKAN string concatenation (+).
// 3. Adjudikasi Framework: NOT_EXPLOITABLE (False Positive Tersaring).
Simulator Interaktif Keputusan Triase SSVC
Uji coba secara langsung logika penalaran Exploitability Validation Engine. Pilih parameter kerentanan di bawah ini untuk melihat keputusan triase 3-kelas dan skema JSON secara real-time.
Parameter Skenario Kerentanan
Tindakan DevSecOps: SUPPRESS_ALERT (False Positive Eliminated)
Alasan Penalaran: Detected valid sanitization/parameter binding protecting CWE-89. SAST warning suppressed safely.
{
"triage_decision": "NOT_EXPLOITABLE",
"confidence": 0.96
}
Kesimpulan Akhir & Saran Penelitian Masa Depan
Ringkasan komprehensif dari pembuktian hipotesis tesis magister dan arahan strategis untuk riset lanjutan di bidang kecerdasan buatan dan keamanan perangkat lunak.
1. Efektivitas Reduksi False Positive
Terbukti secara empiris mereduksi FP sebesar 57,98%, meningkatkan akurasi dari 42,19% ke 72,24%, dan meraih F1-Score 73,61% (signifikan pada uji McNemar χ² = 265,64, p < 0,001).
2. Signifikansi Roslyn AST & RAG
Kombinasi analisis sintaksis kompilator Roslyn AST dan RAG panduan MITRE CWE terbukti krusial dalam menekan rasio halusinasi LLM dari 41,20% menjadi hanya 8,23%.
3. Kelayakan Operasional Industri
Berhasil menurunkan Alert Fatigue sebesar 33,33% pada eShopOnWeb dan 25,00% pada nopCommerce, menghemat token masukan >60% dengan latensi 24,8 detik.