Skip to content

Security: halilibrahimd27/api-sentinel

Security

SECURITY.md

Security Policy

API-Sentinel 3. parti API'leri izlerken kendisi de bir saldırı yüzeyi sunar — credential'lar, web dashboard, REST API, plugin runtime. Aşağıdaki disclosure süreci ile güvenli tutmak istiyoruz.

⚠️ Bildirilmesi gerekenler

  • Auth bypass / yetki yükseltme açıkları (AUTH_ENABLED=true iken bypass)
  • Credential storage'ında plaintext leak (Fernet şifreleme bozuk)
  • Plugin loading'de path traversal / arbitrary code execution
  • Schema fetcher'da SSRF (Server-Side Request Forgery)
  • Web dashboard'da XSS, CSRF
  • REST API'de injection (SQL, command, template)
  • Container escape / host file access
  • Default config ile çalıştırınca açık olan kontroller

🚨 Nasıl bildirilir?

Public issue açmayın. Önce private kanaldan bildirim:

  1. GitHub Security Advisory (önerilen, tek tıklama): https://github.com/halilibrahimd27/api-sentinel/security/advisories/new
  2. Veya repo sahibi @halilibrahimd27'a GitHub DM

⏱️ Yanıt süresi (best-effort, hobby project)

  • 24-72 saat: ilk yanıt + triage
  • 7 gün: severity tayini ve aksiyon planı
  • 30 gün: fix release veya kabul edilen mitigation

Kritik açıklar (RCE, auth bypass) için hızlandırılmış süreç.

🛡️ Güvenli kullanım önerileri

Production deployment için ana adımlar:

# .env — production
SECRET_KEY=<openssl rand -base64 32>      # Fernet key + auth secret
AUTH_ENABLED=true
ADMIN_PASSWORD=<güçlü, unique parola>
ALERT_COOLDOWN_SECONDS=600
LOG_LEVEL=WARNING
# docker-compose ports
schema-monitor:
  ports:
    - "127.0.0.1:8080:8080"   # localhost-only, reverse proxy önde
  • Reverse proxy (Caddy/Nginx) + HTTPS + IP whitelist
  • Cloud secrets (Vault / AWS Secrets Manager) ile credential yönetimi
  • Düzenli pip install --upgrade -r requirements.txt ile dep'leri güncel tut

🔐 Plugin güvenliği

Plugin'ler runtime'da Python kodu olarak yüklendiği için plugin trust = repo trust.

  • Sadece güvendiğiniz kaynaklardan plugin yükleyin
  • 3rd party plugin'leri okumadan deploy etmeyin
  • alerts/, auth/, store/ dizinlerine yazma izni dikkatli verin

🙏 Teşekkür

Bildirim yapanlar — istemezlerse anonim — README'nin "Acknowledgments" bölümünde anılır.

There aren't any published security advisories