Skip to content

About

Sistem deteksi SEO Spam Judol dan contentnya

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Judol Hunter Logo

🛡️ Judol Hunter (AI-Sentinel)

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

✨ Fitur Utama

  1. 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.
  2. 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.
  3. Multi-Language Defacement Scanner: Mendeteksi anomali (injeksi iframe, display:none SEO Spam, fungsi obfuscated JS, dan eksekusi PHP ilegal) lintas bahasa pemrograman (HTML, JS, CSS, PHP).
  4. 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).
  5. Explainable AI (XAI) Dashboard: Antarmuka interaktif yang dapat membeberkan "Mengapa" kecerdasan buatan menganggap sebuah file berbahaya, divisualisasikan melalui grafik interaktif dari Plotly.
  6. PDF Report Generator: Mendukung ekspor hasil Deep Scan (lengkap beserta temuan snippet-nya) ke dokumen PDF profesional (via fpdf2).

💡 Metodologi Analisis AI

1. Natural Language Processing (NLP) - Analisis SEO Spam

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.

2. Code Anomaly Scanner - Analisis Source Code

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.

📂 Struktur Direktori

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

⚙️ Persyaratan (Requirements)

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)

🚀 Cara Menjalankan

  1. (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
  2. (Opsional) Latih Ulang Model: Jika dataset bertambah, perbarui kecerdasan model dengan:
    python model_core.py
  3. Jalankan Aplikasi Streamlit: Buka dashboard detektor di browser Anda:
    streamlit run app.py

🎓 Tentang Proyek

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.

About

Sistem deteksi SEO Spam Judol dan contentnya

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages