Files
Charon/package.json
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

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"
}
}