Judol Hunter adalah sistem Kecerdasan Buatan komprehensif (End-to-End) yang dirancang untuk mendeteksi web defacement dan penyisipan SEO Spam perjudian online pada institusi pendidikan (.ac.id) dan pemerintahan (.go.id).
Proyek ini tidak hanya mendeteksi tautan pada permukaan web, melainkan menggunakan agen Deep Crawler yang menelusuri keseluruhan struktur direktori target, mengekstrak fitur kode menggunakan Explainable AI, dan mengklasifikasikan anomali dengan algoritma kelas dunia (XGBoost).
- Deep Website Crawler: Agen scraper yang merayapi sebuah domain secara rekursif hingga kedalaman tertentu (
max_depth) untuk membongkar halaman landing page promosi judol yang sengaja disembunyikan di dalam sub-folder. - Keyword & Snippet Extraction: Jika halaman terdeteksi sebagai SEO Spam, sistem tidak hanya memberi label, melainkan membedah teks dan menampilkan langsung potongan kalimat (snippet) kotor (misal:
...situs slot gacor hari ini...) agar pengguna langsung tahu letak kesalahannya. - Multi-Language Defacement Scanner: Mendeteksi anomali (injeksi
iframe,display:noneSEO Spam, fungsi obfuscated JS, dan eksekusi PHP ilegal) lintas bahasa pemrograman (HTML, JS, CSS, PHP). - State-of-the-Art ML Models:
- XGBoost (Extreme Gradient Boosting): Mengklasifikasikan source code kotor (Webshell/Defacement) versus source code murni (Benign Native Code) dengan akurasi teruji 96%.
- Multinomial Naive Bayes: Membaca indikasi spam teks berbasis TF-IDF. (Nilai ambang batas / Threshold deteksi adalah 50% confidence untuk mendeteksi spam secara agresif dan akurat 100% pada uji coba).
- Explainable AI (XAI) Dashboard: Antarmuka interaktif yang dapat membeberkan "Mengapa" kecerdasan buatan menganggap sebuah file berbahaya, divisualisasikan melalui grafik interaktif dari
Plotly. - PDF Report Generator: Mendukung ekspor hasil Deep Scan (lengkap beserta temuan snippet-nya) ke dokumen PDF profesional (via
fpdf2).
Mendeteksi sisipan artikel, promosi, atau keyword stuffing perjudian online pada teks.
- Dataset Dinamis (Dorking & Tanpa Deduplikasi): Data latih dikumpulkan secara otonom menggunakan DuckDuckGo Dorking (
site:ac.id slot gacor) untuk mempelajari pola live retasan. Model dipertajam agar tidak terkecoh oleh laman akademik berkat pasokan jurnal-jurnal resmi (sebagai data bersih). - Algoritma: Naive Bayes (MultinomialNB) & TF-IDF Vectorization.
Mendeteksi injeksi backdoor atau webshell (PHP, JS, HTML) yang telah disandikan (obfuscated).
- Dataset Skala Masif: Dilatih menggunakan ribuan file kode bersih dari framework modern (seperti Laravel dan CodeIgniter), serta ratusan skrip berbahaya (Webshell & Obfuscated JS).
- Ekstraksi Fitur Kompleks: Menganalisis Shannon Entropy, rasio panjang string, frekuensi Base64/Hex encoding, hingga obfuscation scoring (mencapai >5000 fitur vektor).
- Algoritma: XGBoost Classifier dengan arsitektur canggih (learning rate terkalibrasi).
- Explainable AI (XAI): Menampilkan grafik interaktif yang mengungkap parameter paling dominan pemicu kecurigaan.
judol_hunter/
├── app.py # Antarmuka Pengguna (UI) berbasis Streamlit
├── data_pipeline.py # Crawler, Text Preprocessor, & Code Feature Extractor
├── data_crawler.py # Script otomatis pembuat dataset dunia nyata
├── model_core.py # Logika pelatihan model (TF-IDF, NB, XGBoost)
├── utils/ # Skrip utilitas sekunder (Unzip cepat & Augmentasi sintesis)
├── datasets/ # Kumpulan data (Webshells, Benign Code, Hacked HTML, Text)
├── *.joblib # Model terkompilasi hasil pelatihan
└── custom_scrape_urls.txt # File teks untuk memasukkan URL retas kustom
Pastikan Anda menggunakan Python 3.9+ dan telah menginstal paket berikut:
pip install -r requirements.txt(Paket utama: streamlit, pandas, scikit-learn, xgboost, plotly, beautifulsoup4, requests, fpdf2, GitPython)
- (Opsional) Koleksi Data: Jika Anda ingin menambah dataset riil, tambahkan URL situs retas ke dalam
custom_scrape_urls.txt, lalu jalankan:python data_crawler.py
- (Opsional) Latih Ulang Model: Jika dataset bertambah, perbarui kecerdasan model dengan:
python model_core.py
- Jalankan Aplikasi Streamlit: Buka dashboard detektor di browser Anda:
streamlit run app.py
Proyek ini dibangun sebagai solusi teknis dan akademis pada mata kuliah "Kecerdasan Buatan". Model dilatih menggunakan ribuan sampel riil webshell dari GitHub, basis kode murni WordPress, dan kloningan HTML5 Boilerplate, sehingga sangat tahan banting terhadap arsitektur web modern.
