| Version | Supported |
|---|---|
| latest | ✅ |
This is a web dashboard for Linux kernel hardening scan reports. If you discover a security vulnerability, please do NOT open a public issue.
Contact the maintainer directly at jefferson.antunes@gmail.com with details about the issue.
We commit to acknowledging receipt within 48 hours and providing a fix timeline within 7 days.
- Rate limiting is in-memory per-worker: The
LINVIEW_RATE_LIMITis enforced per gunicorn worker process, not shared across workers. Under high load, a client could send up toworkers × RATE_LIMITrequests per minute. - CORS is globally enabled:
flask-corsis configured without origin restrictions. In restricted networks, add explicitorigins=to theCORS()call inapp.py. - No authentication on read endpoints: The dashboard homepage and scan detail pages are publicly accessible. Put them behind a VPN or a proxy-level auth (basic auth, OAuth) if needed.
- API key in transit: API keys are transmitted in the
X-API-Keyheader. Always use TLS in production to prevent credential leakage. - SQLite concurrency: SQLite with WAL mode handles concurrent reads well, but concurrent writes may cause
database is lockederrors under heavy parallel submission. The project uses SQLite exclusively; for high-throughput deployments, consider migrating to a client-server database. - History rewriting: This repository's git history was cleaned with git-filter-repo. If you have an older clone, please re-clone from the latest remote.