Perancangan & Evaluasi Kerangka Kerja Security Triage Hibrida Berbasis Konteks & LLM untuk Validasi Exploitability SAST

Tesis Magister Teknik Informatika — Universitas Pamulang | Raihanudin Rafif (251012000080)
● Magister Teknik Informatika — Universitas Pamulang

Kerangka Kerja Security Triage Hibrida Berbasis Konteks Semantik & LLM

Penyusun: Raihanudin Rafif (251012000080)
Fokus: DevSecOps & SAST Exploitability Triage
Kompiler Target: Microsoft Roslyn (.NET / C#)
False Positive Reduction 57,98%
57,98%
Akurasi Klasifikasi +30,05%
72,24%
F1-Score Semantik 91,77% Rec
73,61%
Uji McNemar (χ²) p < 0,001
265,64

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.

Pilar 1 • Fenomena Industri

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.

FP Ratio: 30% s.d. >80%–90%
Pilar 2 • Keterbatasan Teknis

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).

Kelemahan: Zero Semantic Context
Pilar 3 • Kerapuhan AI

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).

Halusinasi: 41,20% pada Raw LLM
Pilar 4 • Solusi Usulan Tesis

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.

Solusi: Roslyn AST + RAG + SSVC

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):

SOTA BENCHMARK #1 • EMPIRICAL AI TRIAGE

ZeroFalse: Improving Precision in Static Analysis with LLMs

Mohsen Iranmanesh, dkk. (2025) • IEEE / ACM Software Engineering
  • ✓ 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).
Kelemahan & Research Gap:

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.

Jawaban Inovasi Tesis Ini:

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)

72,24%
Akurasi E5 (Full Framework)
8,23%
Rasio Halusinasi Semantik

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

Baseline SonarQube (42,19%)
Context-Aware Framework Actual

Aktivitas Audit Triase Riil

STREAM AKTIF
✓
eShopOnWeb / S2077 +33,3% Cut
10 Okt 2026, 14:20 WIB
NOT_EXPLOITABLE (EF Core Parameter Binding)
⟳
Raw LLM Prompt (E2) -41,2% Halusinasi
10 Okt 2026, 13:45 WIB
Model berhalusinasi tanpa konteks kompilator Roslyn
+
Roslyn Context Extractor 6 Dimensi
10 Okt 2026, 11:15 WIB
Slicing AST menghasilkan Security Context Graph presisi
✓
nopCommerce / S3649 +25,0% Cut
09 Okt 2026, 16:30 WIB
NOT_EXPLOITABLE (LINQ Expression Tree Safe)
!
Juliet CWE-89 #410 P1 IMMEDIATE
09 Okt 2026, 10:12 WIB
EXPLOITABLE (Direct Sink Reachable, Tanpa Sanitasi)

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.

TAHAP 1: INPUT PEMINDAIAN

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.
ARTEFAK DATA & PAYLOAD JSON C# Roslyn / JSON
// 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).

Geser tabel ke samping untuk melihat seluruh 6 kolom matriks kebaruan
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:

Sel a (Both Correct)
Sonar Benar, Framework Benar
Sel b (Discordant -)
Sonar Benar, Framework Salah
Sel c (Discordant +)
Sonar FP, Dikoreksi Framework
Sel d (Both Wrong)
Kedua Sistem Salah

Parameter Inferensial Real-Time

Nilai Chi-Square Edwards (χ²): 265.64 Batas kritis α = 0,001 adalah 10,83 (Signifikan mutlak).
Odds Ratio (Rasio Keberhasilan Koreksi): 9.66x Framework 9,66x lebih sering mengoreksi error dibanding membuat salah.
P-Value Signifikansi: < 0,0001 (Tolak H0)

Studi Kasus Repositori Produksi (.NET Enterprise)

Evaluasi ketahanan sistem pada repositori open-source berskala enterprise di bawah Mature OSS Assumption.

33,33% Reduksi Alert Fatigue | 15 Temuan -> 5 Dieliminasi

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.

TRACING SINK & REASONING SEMANTIK ROSLYN AST EXTRACTOR
// 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

Hasil Triase SSVC Terkalkulasi
NOT EXPLOITABLE

Tindakan DevSecOps: SUPPRESS_ALERT (False Positive Eliminated)
Alasan Penalaran: Detected valid sanitization/parameter binding protecting CWE-89. SAST warning suppressed safely.

LUARAN JSON KOMPATIBEL CI/CD SSVC SCHEMA
{
  "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.