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%)
27 lines
1013 B
JSON
27 lines
1013 B
JSON
{
|
|
"type": "module",
|
|
"scripts": {
|
|
"e2e": "PLAYWRIGHT_HTML_OPEN=never npx playwright test --project=chromium",
|
|
"e2e:all": "PLAYWRIGHT_HTML_OPEN=never npx playwright test",
|
|
"e2e:headed": "npx playwright test --project=chromium --headed",
|
|
"e2e:report": "npx playwright show-report",
|
|
"lint:md": "markdownlint-cli2 '**/*.md' --ignore node_modules --ignore .venv --ignore test-results --ignore codeql-db --ignore codeql-agent-results",
|
|
"lint:md:fix": "markdownlint-cli2 '**/*.md' --fix --ignore node_modules --ignore .venv --ignore test-results --ignore codeql-db --ignore codeql-agent-results"
|
|
},
|
|
"dependencies": {
|
|
"@typescript/analyze-trace": "^0.10.1",
|
|
"tldts": "^7.0.21",
|
|
"typescript": "^5.9.3",
|
|
"vite": "^7.3.1"
|
|
},
|
|
"devDependencies": {
|
|
"@bgotink/playwright-coverage": "^0.3.2",
|
|
"@playwright/test": "^1.58.1",
|
|
"@types/node": "^25.2.0",
|
|
"@types/tar": "^6.1.13",
|
|
"dotenv": "^17.2.3",
|
|
"markdownlint-cli2": "^0.20.0",
|
|
"tar": "^7.5.7"
|
|
}
|
|
}
|