Extend default gitleaks config; add secretscan exception for K8s Sealed Secrets#2701
Open
RebeccaMahany wants to merge 3 commits intokolide:mainfrom
Open
Extend default gitleaks config; add secretscan exception for K8s Sealed Secrets#2701RebeccaMahany wants to merge 3 commits intokolide:mainfrom
RebeccaMahany wants to merge 3 commits intokolide:mainfrom
Conversation
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.
Updates our config generation so that we can extend the default config with our own overrides.
This was a bit difficult because of two issues with global state in upstream packages:
maxExtendDepthof 2 across our test cases, despite parsing new config objects each time. This results in empty configs in every test except the first two that run, because gitleaks will no longer pull in the default config.I solved this with a package-level
config,configErr, andnewConfigOnce sync.OnceFunc. I am not thrilled with the solution, but I couldn't come up with anything better. (Callingviper.MergeConfigdidn't work -- it doesn't let us do partial rule overrides. I didn't want to re-implementconfig.extendhere and write merge logic from scratch, either.)This PR also adds an exception for K8s Sealed Secrets, as documented in gitleaks/gitleaks#1728, and test for same. Getting to add exceptions like these is the motivation for this PR. I plan to move
isEmptyVariableand hopefullyisEncryptedJWTFamilyValueto the config as well.