https://github.com/byigitt/kovan
Kovan — Merkezi komuta kontrol ve ağ anomali tespit sistemi. Pardus/Linux uyumlu, gerçek zamanlı ajan yönetimi, CVE tarama ve ML tabanlı trafik analizi.
https://github.com/byigitt/kovan
anomaly-detection bun command-and-control cve-scanner cybersecurity fastapi golang machine-learning network-monitoring pardus react typescript
Last synced: 3 months ago
JSON representation
Kovan — Merkezi komuta kontrol ve ağ anomali tespit sistemi. Pardus/Linux uyumlu, gerçek zamanlı ajan yönetimi, CVE tarama ve ML tabanlı trafik analizi.
- Host: GitHub
- URL: https://github.com/byigitt/kovan
- Owner: byigitt
- License: mit
- Created: 2026-02-21T08:09:29.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2026-02-22T08:06:38.000Z (4 months ago)
- Last Synced: 2026-03-01T19:47:38.701Z (4 months ago)
- Topics: anomaly-detection, bun, command-and-control, cve-scanner, cybersecurity, fastapi, golang, machine-learning, network-monitoring, pardus, react, typescript
- Language: TypeScript
- Size: 18.7 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Agents: AGENTS.md
Awesome Lists containing this project
README
KOVAN
Pardus Tabanlı Uç Nokta Güvenlik & Yönetim Platformu
Ağ cihazlarınızı tek panelden yönetin, güvenlik açıklarını tarayın,
ML tabanlı anomali tespiti yapın ve tehditlere anında müdahale edin.
---
https://github.com/user-attachments/assets/7c45cd16-4190-4d2b-9f53-969f922ca16a
## Problem
Kamu kurumları ve işletmeler, uç nokta güvenliğinde ciddi sorunlarla karşı karşıya:
| Problem | Açıklama |
|---------|----------|
| **Dağınık Cihaz Yönetimi** | Yüzlerce uç nokta farklı araçlarla yönetiliyor, merkezi görünürlük yok |
| **Zafiyet Takip Eksikliği** | CVE veritabanları takip edilmiyor, kurulu paketlerdeki açıklar tespit edilemiyor |
| **Ağ Anomali Tespiti** | Anormal ağ trafiği manuel süreçlerle tespit ediliyor, müdahale geç kalıyor |
| **Yetki & Erişim Kontrolü** | Rol tabanlı yetkilendirme çoğu çözümde bulunmuyor |
| **Tehdit Görünürlüğü** | Saldırı yüzeyleri bilinmiyor, tehditler algılanamıyor |
> Türkiye'de siber saldırılar **%68 artış** gösterdi (2024-2025). Ortalama veri ihlali tespit süresi **207 gün**, maliyeti **$4.45M** (IBM 2024).
---
## Kovan Nedir?
**Kovan**, Pardus ve Debian tabanlı sistemler için geliştirilmiş açık kaynak bir **uç nokta güvenlik ve yönetim platformu**dur. Merkezi bir panelden tüm cihazlarınızı yönetmenizi, güvenlik açıklarını taramanızı ve ağ anomalilerini tespit etmenizi sağlar.
### Temel Yetenekler
**Uzaktan Komut Yönetimi**
Agent'lara terminal üzerinden anlık komut gönderin, çıktıları gerçek zamanlı izleyin. İnteraktif PTY desteği.
**CVE Zafiyet Taraması**
47.000+ CVE kaydı ile kurulu paketleri karşılaştırın. `dpkg` entegrasyonu, fuzzy search desteği.
**ATTDAP Anomali Tespiti**
ML tabanlı 3 model ensemble (IF + GMM + Autoencoder) ile ağ trafiğini analiz edin.
**Dosya Yöneticisi**
Uzak cihaz dosya sistemi üzerinde gezinin, dosya indirin/yükleyin/silin.
**Ağ Keşfi & Tarama**
Yerel ağdaki cihazları otomatik keşfedin, açık portları ve servisleri haritalayın.
**Zamanlanmış Görevler**
Cron tabanlı otomatik komut çalıştırma. Tekil veya grup bazlı hedefleme.
**Ekran & Tuş İzleme**
Gerçek zamanlı ekran akışı (ffmpeg/PowerShell). Keylogger desteği — red team senaryoları için.
**Grup Broadcast**
Agent'ları gruplara ayırın, tek komutla tüm gruba toplu komut gönderin.
### Ek Özellikler
- **Rol Tabanlı Erişim (RBAC)** — Admin/kullanıcı rolleri, agent bazlı yetkilendirme
- **Sistem Metrikleri** — CPU, RAM, Disk, GPU kullanımı, uptime (gerçek zamanlı grafikler)
- **GeoIP Harita** — Agent'ların coğrafi konumu dünya haritası üzerinde
- **Alert Engine & Telegram** — Metrik eşik aşımı, agent çevrimdışı → otomatik bildirim
- **Donanım Parmak İzi** — machineId, MAC, CPU model ile kalıcı agent tanıma
- **Cross-Platform** — Windows + Linux (Pardus/Debian), otomatik OS algılama
---
## Mimari
```mermaid
graph TB
subgraph SERVER["KOVAN SERVER — Bun + Hono, Port 4444"]
API["REST API"]
WS["WebSocket"]
STORE["In-Memory Store"]
DB["PostgreSQL
CVE + Auth DB"]
API --> STORE
WS --> STORE
STORE --> DB
end
subgraph AGENTS["Go Agent'lar (~5.5MB binary)"]
A1["Agent 1
Komut exec · Dosya yönet. · Keylogger"]
A2["Agent N
Heartbeat · Ekran stream · Ağ tarama"]
end
subgraph DASHBOARD["Web Dashboard — React + Vite"]
D1["Agent listesi · Terminal UI · CVE tarama"]
end
subgraph ATTDAP["ATTDAP Service — FastAPI, Port 8000"]
ML["IF + GMM + AE
AUC-ROC: 0.91 · F1: 0.80"]
end
A1 <-->|"ws://host:4444"| WS
A2 <-->|"ws://host:4444"| WS
D1 <-->|"http://host:4444"| API
SERVER -.->|"Anomali skorlama"| ATTDAP
```
---
## Hızlı Başlangıç
### Gereksinimler
- [Bun](https://bun.sh) v1.0+
- [Go](https://go.dev) 1.21+ (agent derlemesi için)
- [PostgreSQL](https://www.postgresql.org/) 15+ (CVE + Auth veritabanı)
- [Python](https://www.python.org/) 3.10+ (anomali modeli için, opsiyonel)
- [pnpm](https://pnpm.io/) (paket yönetimi)
### 1. Veritabanı Kurulumu
```bash
# PostgreSQL'de kovan veritabanını oluşturun
createdb -U postgres kovan
# Auth tablolarını oluşturun
cd server
psql -U postgres -d kovan -f scripts/init-auth.sql
psql -U postgres -d kovan -f scripts/init-permissions.sql
pnpm run db:seed
# CVE tablolarını oluşturun ve verileri yükleyin
pnpm run db:init
pnpm run db:import # ~47K CVE, ~32 saniye
```
### 2. Server
```bash
cd server
pnpm install
pnpm run dev
```
Server `http://0.0.0.0:4444` adresinde başlar. REST API, WebSocket ve frontend hepsi tek portta çalışır.
### 3. Frontend (Geliştirme)
```bash
cd frontend
pnpm install
pnpm run dev
```
Dashboard `http://localhost:5173` adresinde açılır (API proxy aktif).
### 4. Frontend (Production)
```bash
cd frontend
pnpm run build
```
Build çıktısı `frontend/dist/` klasörüne oluşur. Server otomatik olarak serve eder.
### 5. Go Agent
```bash
cd client-go
# Derleme
go build -ldflags="-s -w" -o kovan-agent .
# Çalıştırma (varsayılan: localhost)
./kovan-agent
# Uzak sunucuya bağlanma
./kovan-agent --server ws://SUNUCU_IP:4444/ws/agent
# Env ile bağlanma
C2_SERVER=ws://SUNUCU_IP:4444/ws/agent ./kovan-agent
# Daemon olarak kurma (Linux: systemd, Windows: Scheduled Task)
sudo ./kovan-agent install --server ws://SUNUCU_IP:4444/ws/agent
```
#### Cross-Compilation
```bash
cd client-go
make linux # Linux AMD64 (Pardus)
make windows # Windows AMD64
make all # Tüm platformlar
```
### 6. ATTDAP Anomali Servisi (Opsiyonel)
```bash
cd anomaly-model
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
# Veri setlerini indir
python -m data.download_datasets
# Modelleri eğit
python -m pipeline.train
# API'yi başlat
uvicorn api.main:app --host 0.0.0.0 --port 8000 --reload
```
---
## API Referansı
### REST API (Port 4444)
| Method | Endpoint | Açıklama | Auth |
|--------|----------|----------|------|
| `GET` | `/api/health` | Sağlık kontrolü | Hayır |
| `GET` | `/api/agents` | Tüm agent'ları listele | Evet |
| `GET` | `/api/agents/:id` | Agent detayı | Evet |
| `PATCH` | `/api/agents/:id` | Agent alias güncelle | Evet |
| `DELETE` | `/api/agents/:id` | Agent sil | Admin |
| `GET` | `/api/agents/:id/commands` | Agent komut geçmişi | Evet |
| `DELETE` | `/api/agents/:id/commands` | Komut geçmişini temizle | Evet |
| `POST` | `/api/command` | Komut gönder | Evet |
| `GET` | `/api/commands` | Tüm komutlar | Evet |
| `GET` | `/api/cves/stats` | CVE istatistikleri | Hayır |
| `GET` | `/api/cves/search?q=openssl` | CVE arama | Hayır |
| `GET` | `/api/cves/:id` | CVE detayı | Hayır |
| `POST` | `/api/cves/scan` | Paket zafiyet taraması | Hayır |
| `GET/POST/DELETE` | `/api/permissions` | Agent yetkileri | Admin |
### WebSocket (`/ws/agent`)
| Mesaj | Yön | Açıklama |
|-------|-----|----------|
| `register` | Agent → Server | İlk kayıt (hostname, os, username, ip) |
| `registered` | Server → Agent | Kayıt onayı (agentId) |
| `heartbeat` | Agent → Server | Canlılık sinyali (10sn aralık) |
| `command` | Server → Agent | Çalıştırılacak komut |
| `result` | Agent → Server | Komut çıktısı (stdout/stderr) |
### ATTDAP API (Port 8000)
| Method | Endpoint | Açıklama |
|--------|----------|----------|
| `GET` | `/health` | Servis durumu + model bilgisi |
| `POST` | `/score` | Tek ağ akışı skorlama |
| `POST` | `/batch-score` | Toplu skorlama (max 10K event) |
| `GET` | `/model-info` | Model config, metrikler, feature listesi |
---
## ATTDAP — Anomali Tespit Modülü
**ATTDAP** (Anomaly Traffic Detection & Analysis Platform), ML tabanlı ağ trafiği anomali tespit modülüdür.
| Metrik | Değer |
|--------|-------|
| **F1 Score** | 0.7995 |
| **AUC-ROC** | 0.9088 |
| **Precision** | 0.8836 |
| **Recall** | 0.7300 |
- **3 Model Ensemble:** Isolation Forest (0.10 ağırlık) + GMM (0.90 ağırlık) + Denoising Autoencoder
- **Eğitim Verileri:** CICIDS2017 + UNSW-NB15 (26 ortak ağ akışı özelliği)
- **Çıktı:** 0-100 arası hibrit risk skoru
- **Risk Seviyeleri:** Düşük (<79) · Orta (<50) · Yüksek (<75) · Kritik (≥75)
---
## Teknoloji Stack'i
| Katman | Teknolojiler |
|--------|-------------|
| **Backend** | Bun · Hono · TypeScript · WebSocket · Better Auth |
| **Frontend** | React · Vite · TypeScript · Zustand |
| **Agent** | Go (~5.5MB binary) · Cross-platform · Daemon installer |
| **Veritabanı** | PostgreSQL · TimescaleDB (zaman serisi) |
| **ML Pipeline** | Python · PyTorch · scikit-learn · FastAPI |
| **Araçlar** | ffmpeg (ekran yakalama) · pnpm · Makefile |
---
## Takım
| İsim | Rol |
|------|-----|
| **Barış Cem Bayburtlu** | Full-Stack / Takım Lideri |
| **Batuhan Bayazıt** | Backend / DevOps |
| **Burak Aydoğmuş** | Go Agent / Sistem |
| **Mustafa Yusuf Onur** | Frontend / UX |
| **Mehmet Ali Selvet** | ML / Anomali Modeli |
---
## Varsayılan Giriş Bilgileri
| Hesap | E-posta | Şifre |
|-------|---------|-------|
| Admin | `admin@admin.com` | `admin123` |
---
## Testler
```bash
cd server
bun test
```
15 test: REST API (health, agents, commands, 404, 400) + WebSocket (register, heartbeat, offline, send/receive commands, errors, multi-command).
---
## Uyarı
> **Bu proje yalnızca eğitim ve demo amaçlıdır.** Yetkisiz sistemlerde kullanımı yasalara aykırıdır. Tüm sorumluluk kullanıcıya aittir.
---
## Lisans
MIT License — Detaylar için [LICENSE](LICENSE) dosyasına bakın.
---
HackMETU 2026 — Wired Takımı