-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Better secret scrubber #3832
Merged
Merged
Better secret scrubber #3832
Conversation
This file contains 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
…-tests into cbeauchesne/prevent-leaks
25ed2fc
to
9859c02
Compare
9859c02
to
c388a6e
Compare
robertomonteromiguel
added a commit
that referenced
this pull request
Mar 17, 2025
Co-authored-by: roberto montero <[email protected]> Co-authored-by: Christophe Papazian <[email protected]> Co-authored-by: Christophe Papazian <[email protected]>
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.
Motivation
Better harness against secrets leakages.
Changes
Rather than scrubbing secrets every time we write a file (and exposing ourself to forget to call this when logging a new file), this PR instrument the python
open
method to scrub any written data, picking all the known environment variable names that store secrets.It will offer a secure-by-design solution for any write operations (including
logging
method)Though, it's not a silver bullet, here a non exhaustive list on how to continue leaking secrets, any idea to address those is welcome :
"
, it will be encoded, defeating thereplace
methodassert os.environ is False
-> will fail, and will print in stdout the value ofos.environ
print(os.environ)
in a failed test will also printos.environ
os.environ
(though,.env
file is supported)scrubber.py
, and this subprocess write a file with the leaked secret. For instance, read/write volumes mounted in the docker container ...Workflow
codeowners
file quickly.🚀 Once your PR is reviewed, you can merge it!
🛟 #apm-shared-testing 🛟
Reviewer checklist
[<language>]
, double-check that only<language>
is impacted by the changebuild-XXX-image
label is present