Commit Graph

4 Commits

Author SHA1 Message Date
Phillip Tarrant
f1c142c53d feat: add SQLite persistent storage for request logging
- Add SQLAlchemy-based database layer for persistent storage
  - Create models for access_logs, credential_attempts, attack_detections, ip_stats
  - Include fields for future GeoIP and reputation enrichment
  - Implement sanitization utilities to protect against malicious payloads
  - Fix XSS vulnerability in dashboard template (HTML escape all user data)
  - Add DATABASE_PATH and DATABASE_RETENTION_DAYS config options
  - Dual storage: in-memory for dashboard performance + SQLite for persistence

  New files:
  - src/models.py - SQLAlchemy ORM models
  - src/database.py - DatabaseManager singleton
  - src/sanitizer.py - Input sanitization and HTML escaping
  - requirements.txt - SQLAlchemy dependency

  Security protections:
  - Parameterized queries via SQLAlchemy ORM
  - Field length limits to prevent storage exhaustion
  - Null byte and control character stripping
  - HTML escaping on dashboard output
2025-12-28 10:43:32 -06:00
Patrick Di Fazio
61ba574e92 Added POST log and dashboard for used credentials 2025-12-27 19:17:27 +01:00
Phillip Tarrant
72f7293995 added attack classification, added attack types to stats and dashboard, also added a tiny curl script to simulate attacks for testing purposes 2025-12-24 10:25:00 -06:00
BlessedRebuS
076b2de584 First commit 2025-12-14 19:08:01 +01:00