Repository navigation
feat(security): protect sensitive values in CrowdSec exports - #1565
Merged
Merged
Conversation
Adds pending end-to-end cases for exports that blank notification values and for imports that keep the current ones, plus the inline note in the import card. All cases are skipped until the feature lands.
…rt check and the export Add one shared selector for notification files, the notification folder resolver and the environment reference test, with table tests. Not yet used by the import check or the export.
Add the rewriter for CrowdSec notification files with golden, property and fuzz tests. Not yet called from the export or the import.
Exported CrowdSec notification settings now have their sensitive values blanked, while names and structure stay intact so profiles keep working. Files in the notification folders that CrowdSec does not read are left out of the export, and a notification file that cannot be read safely is exported empty instead of as written.
…rowdSec configuration Importing a configuration whose notification files were blanked on export now fills the blanked values from the files being replaced, when the notification has the same type and name and still points at the same target. Files that cannot be filled keep their placeholders and the import response lists them in needs_values.
The import card lists, as one passive inline line, the notification files that came back with blanked values (first 10 names, then a count). The export description now mentions that these values are blanked.
Enable the pending export and import cases and align them with the implemented behaviour: aliased files are listed and left as exported, anchored-but-unreferenced files merge normally, and a fresh host keeps the placeholders and lists the file.
Explain what is blanked in exported notification files, how importing keeps current values, and what to do when files still need values.
Notification settings kept outside the usual folder are now recognised when the type is quoted or not the first document. Export, merge and scan share one probe that checks every document of a file within the existing size and node limits.
Add a lefthook pre-commit markdownlint job (staged .md only, generated and ignored paths skipped), a make lint-markdown target, and a CONTRIBUTING note. Rename .markdownlint.json to .markdownlint.jsonc so the rules known to fire on older prose (MD001, MD013, MD025, MD036, MD040, MD060) can be switched off with a TODO until the repo-wide cleanup.
Contributor
✅ Supply Chain Verification Results✅ PASSED 📦 SBOM Summary
🔍 Vulnerability Scan
📎 Artifacts
Generated by Supply Chain Verification workflow • View Details |
Contributor
|
You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool. What Enabling Code Scanning Means:
For more information about GitHub Code Scanning, check out the documentation. |
Wikid82
marked this pull request as ready for review
October 11, 2026 20:32
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Exported CrowdSec configurations no longer carry passwords, tokens or webhook addresses from notification files, and importing one keeps your current values. 12 ordered commits.
Verification
golangci-lintclean; race tests on the crowdsec and handlers packages;go build,npm run buildand type-check pass.--project=security-tests): 93 passed, 0 skipped.docs/reports/qa_report.md.Issues
Closing keywords only take effect on merge to
main, so these stay open until the promotion.Closes #1551, #1546