# 🛡️ MAFIA – Middleware AI Firewall Application: Perlindungan Aplikasi di Level Middleware [Indonesian]

**MAFIA** adalah proyek open source yang saya kembangkan untuk menghadirkan lapisan keamanan tambahan langsung di dalam aplikasi web modern. Middleware ini ditulis dengan Python dan dirancang agar kompatibel dengan framework seperti **FastAPI**, dengan tujuan memberikan deteksi dan perlindungan berbasis AI terhadap berbagai serangan umum.

> ⚠️ **Catatan:** MAFIA bukanlah pengganti Web Application Firewall (WAF) tingkat enterprise. MAFIA dirancang untuk melengkapi WAF dengan proteksi langsung di lapisan aplikasi (application layer), terutama untuk endpoint sensitif.

---

## 🔍 Apa yang MAFIA Tawarkan?

Beberapa fitur utama dari MAFIA:

* ✅ **Deteksi Brute Force berbasis AI** dengan Isolation Forest
    
* ✅ **Rate Limiting** menggunakan Redis
    
* ✅ **Filter Payload Berbahaya** untuk XSS dan SQL Injection
    
* ✅ **Risk Scoring** berbasis kombinasi fitur (jumlah percobaan & interval waktu)
    
* ✅ **Tracking Metadata & Versioning Model**
    
* ✅ Middleware siap pakai untuk FastAPI
    

---

## ⚙️ Cara Instalasi dan Integrasi

### 1\. Instal langsung dari GitHub:

```bash
pip install git+https://github.com/akarkode/mafia.git
```

### 2\. Integrasi di proyek FastAPI:

```python
from fastapi import FastAPI
from mafia.middleware import BruteForceMiddleware

app = FastAPI()
app.add_middleware(BruteForceMiddleware, redis_url="redis://localhost:6379")

@app.get("/")
def home():
    return {"message": "Hello from MAFIA-protected API!"}
```

---

## 🚀 Bagaimana Cara Kerjanya?

1. **Permintaan Masuk (Request)** dicatat metadata-nya (IP, Path).
    
2. **Rate Limiting** akan memblokir jika batas request terlampaui.
    
3. **Payload Inspection** mengecek pola berbahaya (XSS, SQLi).
    
4. **Deteksi Brute Force** menggunakan Isolation Forest:
    
    * Menilai berdasarkan jumlah percobaan dan jeda antar request.
        
    * Menghasilkan nilai risiko antara 0 dan 1.
        
5. **Keputusan Risiko**:
    
    * Jika `risk_score > 0.8`, request diblokir.
        
    * Jika tidak, diteruskan ke aplikasi.
        

---

## ✅ Kapan Sebaiknya Digunakan?

Gunakan MAFIA di endpoint yang sensitif seperti:

* Endpoint login
    
* OTP API
    
* Reset password
    
* Konfirmasi transaksi penting
    

> ⚠️ **Tidak direkomendasikan** untuk public API dengan trafik tinggi (misalnya listing produk atau endpoint publik lainnya).

---

## 🧠 Referensi Ilmiah

* Isolation Forest (Liu et al, 2008)
    
* OWASP Authentication Cheat Sheet
    
* User Behavior Modeling (IEEE)
    
* Journal of Network and Computer Applications – Elsevier
    

---

## 🚧 Batasan yang Diketahui

* Tidak cocok untuk endpoint publik dengan trafik tinggi
    
* Membutuhkan Redis sebagai penyimpan status
    
* Akurasi model bergantung pada data pelatihan
    
* Tidak menggantikan sistem autentikasi yang kuat
    
* **Bukan pengganti WAF**, tapi pelengkap di level aplikasi
    
* Masih dalam tahap **riset awal dan pengembangan aktif**
    

---

## 🔮 Roadmap & Rencana Ke Depan

* Menambahkan fitur geolokasi & fingerprint perangkat
    
* Pipeline retraining model otomatis
    
* Integrasi dengan API Gateway eksternal seperti Kong atau AWS
    
* Visualisasi real-time untuk analisis risiko
    

---

## 📫 Ingin Kolaborasi?

Jika kamu tertarik untuk mengadopsi, mengembangkan, atau memberi masukan terhadap MAFIA, silakan hubungi saya di:  
📧 [akarkode@gmail.com](mailto:akarkode@gmail.com)

---

🔗 **Live Demo / Dokumentasi:**  
💻 [https://mafia.akarkode.com](https://mafia.akarkode.com)
