Skip to content

Latest commit

 

History

History
83 lines (68 loc) · 3.41 KB

File metadata and controls

83 lines (68 loc) · 3.41 KB

Core Functionality

  • Dry-run mode: Add --dry-run flag to preview queries without execution
  • Query preview: Show first 5 rows that would be affected by DELETE/UPDATE
  • Enhanced SQL parsing: Support more complex queries (JOINs, subqueries, CTEs)
  • Transaction support: Handle multi-statement transactions properly
  • Connection pooling: Optimize database connections for better performance

Enhanced Security

  • Multiple honeytokens: Support configurable canary table names
  • IP-based restrictions: Block/allow specific IP ranges
  • Rate limiting: Prevent query spam from clients
  • User authentication: Proxy-level user validation before DB access
  • Query signature detection: Block known dangerous query patterns

Configuration & Flexibility

  • Per-table row limits: Configure different thresholds per table
    [table_limits]
    users = 100
    products = 1000
    logs = 10000
  • Regex-based table matching: sensitive_* tables with stricter limits

Monitoring & Observability

  • Structured JSON logging: Machine-readable log format
  • Metrics endpoint: Prometheus metrics on /metrics?
  • Query history: Store and review blocked/allowed queries

Backup Integration

  • Real snapshot support: Integration with pg_dump or cloud backups
  • Backup verification: Ensure backups are valid before destructive queries
  • Point-in-time recovery: Automatic backup before major operations
  • Configurable backup storage: S3, GCS, local filesystem support

Query Analysis

  • Query cost estimation: Use EXPLAIN to predict query performance
  • Execution plan analysis: Block queries with expensive operations
  • Index usage detection: Warn about queries not using indexes
  • Query optimization suggestions: Recommend better query patterns

Integration & APIs

  • REST API: Control proxy settings via HTTP endpoints
  • Webhook notifications: Send alerts to Slack/Discord on blocks
  • Database migration support: Safe handling of schema changes
  • Multiple database support: MySQL, SQLite proxy variants

Testing & Development

  • Query simulation: Test mode with fake data responses
  • Fuzzing support: Automated testing with random queries
  • Benchmark suite: Performance testing framework
  • Integration tests: Full end-to-end testing setup

Production Readiness

Performance

  • Async query processing: Non-blocking query analysis
  • Connection reuse: Pool management for database connections
  • Query caching: Cache COUNT query results for similar patterns
  • Batch query analysis: Process multiple queries efficiently

Security Hardening

  • TLS support: Encrypted connections between client/proxy/database
  • Certificate validation: Proper SSL/TLS certificate handling

Deployment

  • Helm chart: kinda OD but why not
  • Multi-architecture builds: ARM64 and AMD64 Docker images
  • Health checks: Proper liveness/readiness probes

Documentation

  • Architecture docs: System design and component overview
  • Configuration reference: Complete settings documentation
  • Troubleshooting guide: Common issues and solutions
  • Performance tuning: Optimization recommendations

Quality of Life

Analytics

  • Usage statistics: Track query patterns and blocked attempts
  • Alerting rules: Custom alert conditions for suspicious activity
  • Report generation: Automated security and usage reports