GitHub Actions
93894c517b
fix(security): resolve API key logging vulnerability and enhance import validation
Critical security fix addressing CWE-312/315/359 (Cleartext Storage/Cookie
Storage/Privacy Exposure) where CrowdSec bouncer API keys were logged in cleartext.
Implemented maskAPIKey() utility to show only first 4 and last 4 characters,
protecting sensitive credentials in production logs.
Enhanced CrowdSec configuration import validation with:
- Zip bomb protection via 100x compression ratio limit
- Format validation rejecting zip archives (only tar.gz allowed)
- CrowdSec-specific YAML structure validation
- Rollback mechanism on validation failures
UX improvement: moved CrowdSec API key display from Security Dashboard to
CrowdSec Config page for better logical organization.
Comprehensive E2E test coverage:
- Created 10 test scenarios including valid import, missing files, invalid YAML,
zip bombs, wrong formats, and corrupted archives
- 87/108 E2E tests passing (81% pass rate, 0 regressions)
Security validation:
- CodeQL: 0 CWE-312/315/359 findings (vulnerability fully resolved)
- Docker Image: 7 HIGH base image CVEs documented (non-blocking, Debian upstream)
- Pre-commit hooks: 13/13 passing (fixed 23 total linting issues)
Backend coverage: 82.2% (+1.1%)
Frontend coverage: 84.19% (+0.3%)
2026-02-04 00:12:13 +00:00
..
2026-01-26 19:22:05 +00:00
2026-02-01 14:17:58 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-02-03 00:02:45 +00:00
2026-01-30 15:29:49 +00:00
2026-01-30 15:29:49 +00:00
2026-01-30 15:29:49 +00:00
2026-01-30 15:29:49 +00:00
2026-01-26 19:22:05 +00:00
2026-01-28 21:46:11 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-02-02 13:31:56 +00:00
2026-01-27 22:43:33 +00:00
2026-02-01 14:17:58 +00:00
2026-02-01 14:17:58 +00:00
2026-01-27 22:43:33 +00:00
2026-01-27 22:43:33 +00:00
2026-01-26 19:22:05 +00:00
2026-01-27 05:23:49 +00:00
2026-01-28 10:34:27 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-02-02 06:17:48 +00:00
2026-01-26 19:22:05 +00:00
2026-02-03 00:02:45 +00:00
2026-02-03 00:02:45 +00:00
2026-02-03 00:02:45 +00:00
2026-02-02 06:17:48 +00:00
2026-02-03 00:02:45 +00:00
2026-02-03 01:02:51 +00:00
2026-02-03 02:02:53 +00:00
2026-02-03 02:43:26 +00:00
2026-02-03 02:43:26 +00:00
2026-02-03 02:43:26 +00:00
2026-02-03 02:43:26 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-02-01 09:33:26 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-02-02 13:31:56 +00:00
2026-01-26 19:22:05 +00:00
2026-02-01 15:21:26 +00:00
2026-02-01 14:17:58 +00:00
2026-01-26 19:22:05 +00:00
2026-02-02 18:53:30 +00:00
2026-02-02 13:31:56 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-02-03 08:00:24 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-29 03:15:06 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-02-01 14:17:58 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-02-02 19:59:40 +00:00
2026-02-02 22:55:41 +00:00
2026-02-02 21:32:27 +00:00
2026-01-31 06:16:52 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-28 20:10:37 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-02-04 00:12:13 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-02-03 04:06:56 +00:00
2026-02-02 18:53:30 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00
2026-01-26 19:22:05 +00:00