Skip to content

feat(github-release): update pre-commit hook zricethezav/gitleaks to v8.30.1#2164

Open
renovate[bot] wants to merge 1 commit intomainfrom
renovate/zricethezav-gitleaks-8.x
Open

feat(github-release): update pre-commit hook zricethezav/gitleaks to v8.30.1#2164
renovate[bot] wants to merge 1 commit intomainfrom
renovate/zricethezav-gitleaks-8.x

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate bot commented Jun 1, 2024

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Type Update Change
zricethezav/gitleaks repository minor v8.18.2v8.30.1

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.

Note: The pre-commit manager in Renovate is not supported by the pre-commit maintainers or community. Please do not report any problems there, instead create a Discussion in the Renovate repository if you have any questions.


Release Notes

zricethezav/gitleaks (zricethezav/gitleaks)

v8.30.1

Compare Source

v8.30.0

Compare Source

Changelog

v8.29.1

Compare Source

Changelog

v8.29.0

Compare Source

Changelog

v8.28.0

Compare Source

Changelog

Optimizations

#​1909 waits to find newlines until a match. This ends up saving a boat load of time since before we were finding newlines for every fragment regardless if a rule matched or not.
#​1908 promoted @​rgmz excellent stopword optimization

Composite Rules (Multi-part or required Rules) #​1905

In v8.28.0 Gitleaks introduced composite rules, which are made up of a single "primary" rule and one or more auxiliary or required rules. To create a composite rule, add a [[rules.required]] table to the primary rule specifying an id and optionally withinLines and/or withinColumns proximity constraints. A fragment is a chunk of content that Gitleaks processes at once (typically a file, part of a file, or git diff), and proximity matching instructs the primary rule to only report a finding if the auxiliary required rules also find matches within the specified area of the fragment.

Proximity matching: Using the withinLines and withinColumns fields instructs the primary rule to only report a finding if the auxiliary required rules also find matches within the specified proximity. You can set:

  • withinLines: N - required findings must be within N lines (vertically)
  • withinColumns: N - required findings must be within N characters (horizontally)
  • Both - creates a rectangular search area (both constraints must be satisfied)
  • Neither - fragment-level matching (required findings can be anywhere in the same fragment)

Here are diagrams illustrating each proximity behavior:

p = primary captured secret
a = auxiliary (required) captured secret
fragment = section of data gitleaks is looking at

    *Fragment-level proximity*               
    Any required finding in the fragment
          ┌────────┐                       
   ┌──────┤fragment├─────┐                 
   │      └──────┬─┤     │ ┌───────┐       
   │             │a│◀────┼─│✓ MATCH│       
   │          ┌─┐└─┘     │ └───────┘       
   │┌─┐       │p│        │                 
   ││a│    ┌─┐└─┘        │ ┌───────┐       
   │└─┘    │a│◀──────────┼─│✓ MATCH│       
   └─▲─────┴─┴───────────┘ └───────┘       
     │    ┌───────┐                        
     └────│✓ MATCH│                        
          └───────┘                        
                                           
                                           
   *Column bounded proximity*
   `withinColumns = 3`                    
          ┌────────┐                       
   ┌────┬─┤fragment├─┬───┐                 
   │      └──────┬─┤     │ ┌───────────┐   
   │    │        │a│◀┼───┼─│+1C ✓ MATCH│   
   │          ┌─┐└─┘     │ └───────────┘   
   │┌─┐ │     │p│    │   │                 
┌──▶│a│  ┌─┐  └─┘        │ ┌───────────┐   
│  │└─┘ ││a│◀────────┼───┼─│-2C ✓ MATCH│   
│  │       ┘             │ └───────────┘   
│  └── -3C ───0C─── +3C ─┘                 
│  ┌─────────┐                             
│  │ -4C ✗ NO│                             
└──│  MATCH  │                             
   └─────────┘                             
                                           
                                           
   *Line bounded proximity*
   `withinLines = 4`                      
         ┌────────┐                        
   ┌─────┤fragment├─────┐                  
  +4L─ ─ ┴────────┘─ ─ ─│                  
   │                    │                  
   │              ┌─┐   │ ┌────────────┐   
   │         ┌─┐  │a│◀──┼─│+1L ✓ MATCH │   
   0L  ┌─┐   │p│  └─┘   │ ├────────────┤   
   │   │a│◀──┴─┴────────┼─│-1L ✓ MATCH │   
   │   └─┘              │ └────────────┘   
   │                    │ ┌─────────┐      
  -4L─ ─ ─ ─ ─ ─ ─ ─┌─┐─│ │-5L ✗ NO │      
   │                │a│◀┼─│  MATCH  │      
   └────────────────┴─┴─┘ └─────────┘      
                                           
                                           
   *Line and column bounded proximity*
   `withinLines = 4`                      
   `withinColumns = 3`                    
         ┌────────┐                        
   ┌─────┤fragment├─────┐                  
  +4L   ┌└────────┴ ┐   │                  
   │            ┌─┐     │ ┌───────────────┐
   │    │       │a│◀┼───┼─│+2L/+1C ✓ MATCH│
   │         ┌─┐└─┘     │ └───────────────┘
   0L   │    │p│    │   │                  
   │         └─┘        │                  
   │    │           │   │ ┌────────────┐   
  -4L    ─ ─ ─ ─ ─ ─┌─┐ │ │-5L/+3C ✗ NO│   
   │                │a│◀┼─│   MATCH    │   
   └───-3C────0L───+3C┴─┘ └────────────┘   

v8.27.2

Compare Source

Changelog

v8.27.1

Compare Source

Changelog

v8.27.0

Compare Source

Changelog

Got another @​bplaxco release. Cheers!

Archive Scanning

Sometimes secrets are packaged within archive files like zip files or tarballs,
making them difficult to discover. Now you can tell gitleaks to automatically
extract and scan the contents of archives. The flag --max-archive-depth
enables this feature for both dir and git scan types. The default value of
"0" means this feature is disabled by default.

Recursive scanning is supported since archives can also contain other archives.
The --max-archive-depth flag sets the recursion limit. Recursion stops when
there are no new archives to extract, so setting a very high max depth just
sets the potential to go that deep. It will only go as deep as it needs to.

The findings for secrets located within an archive will include the path to the
file inside the archive. Inner paths are separated with !.

Example finding (shortened for brevity):

Finding:     DB_PASSWORD=8ae31cacf141669ddfb5da
...
File:        testdata/archives/nested.tar.gz!archives/files.tar!files/.env.prod
Line:        4
Commit:      6e6ee6596d337bb656496425fb98644eb62b4a82
...
Fingerprint: 6e6ee6596d337bb656496425fb98644eb62b4a82:testdata/archives/nested.tar.gz!archives/files.tar!files/.env.prod:generic-api-key:4
Link:        https://github.com/leaktk/gitleaks/blob/6e6ee6596d337bb656496425fb98644eb62b4a82/testdata/archives/nested.tar.gz

This means a secret was detected on line 4 of files/.env.prod. which is in
archives/files.tar which is in testdata/archives/nested.tar.gz.

Currently supported formats:

The compression
and archive
formats supported by mholt's archives package
are supported.

v8.26.0

Compare Source

Changelog

Calling this one @​bplaxco's release as he introduced a really clever method for mixed decoding without sacrificing too much performance. As I stated in his PR, I think he's either a wizard or some time traveling AI. Dude is wicked smaht

Anyways, Gitleaks now supports the following decoders: hex, percent(url enconding), and b64. It's relatively straight forward to add a new decoder so if you're motivated, community contributions are welcomed!

Here's an example:

~/code/gitleaks-org/gitleaks (master) cat decode.txt
text below
aGVsbG8sIHdvcmxkIQ%3D%3D%0A
text above
~/code/gitleaks-org/gitleaks (master) ./gitleaks dir decode.txt --max-decode-depth=2 --log-level=debug

    ○
    │╲
    │ ○
    ○ ░
    ░    gitleaks

4:08PM DBG using stdlib regex engine
4:08PM DBG unable to load gitleaks config from decode.txt/.gitleaks.toml since --source=decode.txt is a file, using default config
4:08PM DBG found .gitleaksignore file: .gitleaksignore
4:08PM DBG segment found: original=[29,38] pos=[29,38]: "%3D%3D%0A" -> "==\n"
4:08PM DBG segment found: original=[11,38] pos=[11,31]: "aGVsbG8sIHdvcmxkIQ==" -> "hello, world!"
4:08PM INF scanned ~50 bytes (50 bytes) in 1.5ms
4:08PM INF no leaks found

v8.25.1

Compare Source

Changelog

Big thanks @​rgmz

v8.25.0

Compare Source

Changelog

v8.24.3

Compare Source

Changelog

v8.24.2

Compare Source

What's Changed

New Contributors

Full Changelog: gitleaks/gitleaks@v8.24.0...v8.24.2

v8.24.1

Compare Source

v8.24.0

Compare Source

Changelog

v8.23.3

Compare Source

Changelog

v8.23.2

Compare Source

Changelog

v8.23.1

Compare Source

Changelog

v8.23.0

Compare Source

Changelog

READ THIS!!! The default gitleaks config now uses [[rules.allowlists]]

### ⚠️ In v8.21.0 `[rules.allowlist]` was replaced with `[[rules.allowlists]]`.
### This change was backwards-compatible: instances of `[rules.allowlist]` still  work.
    #

### You can define multiple allowlists for a rule to reduce false positives.
### A finding will be ignored if _ANY_ `[[rules.allowlists]]` matches.
    [[rules.allowlists]]
    description = "ignore commit A"

### When multiple criteria are defined the default condition is "OR".
### e.g., this can match on |commits| OR |paths| OR |stopwords|.
    condition = "OR"
    commits = [ "commit-A", "commit-B"]
    paths = [
      '''go\.mod''',
      '''go\.sum'''
    ]

### note: stopwords targets the extracted secret, not the entire regex match
### like 'regexes' does. (stopwords introduced in 8.8.0)
    stopwords = [
      '''client''',
      '''endpoint''',
    ]

    [[rules.allowlists]]

### The "AND" condition can be used to make sure all criteria match.
### e.g., this matches if |regexes| AND |paths| are satisfied.
    condition = "AND"

### note: |regexes| defaults to check the _Secret_ in the finding.
### Acceptable values for |regexTarget| are "secret" (default), "match", and "line".
    regexTarget = "match"
    regexes = [ '''(?i)parseur[il]''' ]
    paths = [ '''package-lock\.json''' ]

v8.22.1

Compare Source

Changelog

v8.22.0

Compare Source

Changelog


This bumps the gitleaks binary size from around 8.5MB to 15MB but yields 2-4x speedup. Worth it imo. If you feel strongly against this change feel free to open an issue where we can discuss the tradeoffs in more depth. Credit to @​ahrav

v8.21.4

Compare Source

Changelog

v8.21.3

Compare Source

Changelog

v8.21.2

Compare Source

Changelog

v8.21.1

Compare Source

Changelog

v8.21.0

Compare Source

Changelog

respect @​rgmz @​9999years

⚠️ Note: you may find some findings that were previously ignored if using .gitleaksignore pop up in your scans. This is due to a fix for a long standing bug where gitleaks would incorrectly report merge commit SHAs instead of the actual commit where a secret was introduced. See the following issues for more context:

v8.20.1

Compare Source

Changelog

v8.20.0

Compare Source

Changelog

Huge huge thanks to @​bplaxco for supporting b64 decoding, @​recreator66 for bug fixes, and to @​rgmz for his continued support of the project in the form of PRs and reviews. Thanks you!

New Feature: Decoding

Sometimes secrets are encoded in a way that can make them difficult to find
with just regex. Now you can tell gitleaks to automatically find and decode
encoded text. The flag --max-decode-depth enables this feature (the default
value "0" means the feature is disabled by default).

Recursive decoding is supported since decoded text can also contain encoded
text. The flag --max-decode-depth sets the recursion limit. Recursion stops
when there are no new segments of encoded text to decode, so setting a really
high max depth doesn't mean it will make that many passes. It will only make as
many as it needs to decode the text. Overall, decoding only minimally increases
scan times.

The findings for encoded text differ from normal findings in the following
ways:

  • The location points the bounds of the encoded text
    • If the rule matches outside the encoded text, the bounds are adjusted to
      include that as well
  • The match and secret contain the decoded value
  • Two tags are added decoded:<encoding> and decode-depth:<depth>

Currently supported encodings:

  • base64 (both standard and base64url)

v8.19.3

[Compare Source](https://redirect.github.com


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@rin-the-good-bot
Copy link
Copy Markdown

rin-the-good-bot bot commented Jun 1, 2024

🦙 MegaLinter status: ✅ SUCCESS

Descriptor Linter Files Fixed Errors Elapsed time
✅ REPOSITORY git_diff yes no 0.02s
✅ REPOSITORY secretlint yes no 1.19s
✅ YAML prettier 1 0 0.34s
✅ YAML yamllint 1 0 0.3s

See detailed report in MegaLinter reports
Set VALIDATE_ALL_CODEBASE: true in mega-linter.yml to validate all sources, not only the diff

MegaLinter is graciously provided by OX Security

@renovate renovate bot force-pushed the renovate/zricethezav-gitleaks-8.x branch from 97e4f82 to 040d3ad Compare June 14, 2024 16:53
@renovate renovate bot changed the title fix(github-release): update pre-commit hook zricethezav/gitleaks to v8.18.3 fix(github-release): update pre-commit hook zricethezav/gitleaks to v8.18.4 Jun 14, 2024
@renovate renovate bot force-pushed the renovate/zricethezav-gitleaks-8.x branch from 040d3ad to 10698ad Compare September 14, 2024 02:19
@renovate renovate bot changed the title fix(github-release): update pre-commit hook zricethezav/gitleaks to v8.18.4 feat(github-release): update pre-commit hook zricethezav/gitleaks to v8.19.0 Sep 14, 2024
@renovate renovate bot force-pushed the renovate/zricethezav-gitleaks-8.x branch from 10698ad to d3acee3 Compare September 14, 2024 10:45
@renovate renovate bot changed the title feat(github-release): update pre-commit hook zricethezav/gitleaks to v8.19.0 feat(github-release): update pre-commit hook zricethezav/gitleaks to v8.19.1 Sep 14, 2024
@renovate renovate bot changed the title feat(github-release): update pre-commit hook zricethezav/gitleaks to v8.19.1 feat(github-release): update pre-commit hook zricethezav/gitleaks to v8.19.2 Sep 16, 2024
@renovate renovate bot force-pushed the renovate/zricethezav-gitleaks-8.x branch from d3acee3 to 51edd74 Compare September 16, 2024 17:31
@renovate renovate bot changed the title feat(github-release): update pre-commit hook zricethezav/gitleaks to v8.19.2 feat(github-release): update pre-commit hook zricethezav/gitleaks to v8.19.3 Sep 26, 2024
@renovate renovate bot force-pushed the renovate/zricethezav-gitleaks-8.x branch from 51edd74 to a021879 Compare September 26, 2024 16:30
@renovate renovate bot changed the title feat(github-release): update pre-commit hook zricethezav/gitleaks to v8.19.3 feat(github-release): update pre-commit hook zricethezav/gitleaks to v8.20.0 Oct 3, 2024
@renovate renovate bot force-pushed the renovate/zricethezav-gitleaks-8.x branch from a021879 to c3357e5 Compare October 3, 2024 16:45
@renovate renovate bot changed the title feat(github-release): update pre-commit hook zricethezav/gitleaks to v8.20.0 feat(github-release): update pre-commit hook zricethezav/gitleaks to v8.20.1 Oct 7, 2024
@renovate renovate bot force-pushed the renovate/zricethezav-gitleaks-8.x branch from c3357e5 to ed56df1 Compare October 7, 2024 19:38
@renovate renovate bot changed the title feat(github-release): update pre-commit hook zricethezav/gitleaks to v8.20.1 feat(github-release): update pre-commit hook zricethezav/gitleaks to v8.21.0 Oct 15, 2024
@renovate renovate bot force-pushed the renovate/zricethezav-gitleaks-8.x branch from ed56df1 to ec46017 Compare October 15, 2024 03:24
@renovate renovate bot changed the title feat(github-release): update pre-commit hook zricethezav/gitleaks to v8.21.0 feat(github-release): update pre-commit hook zricethezav/gitleaks to v8.21.1 Oct 18, 2024
@renovate renovate bot force-pushed the renovate/zricethezav-gitleaks-8.x branch from ec46017 to 026ae0f Compare October 18, 2024 13:28
@renovate renovate bot changed the title feat(github-release): update pre-commit hook zricethezav/gitleaks to v8.21.1 feat(github-release): update pre-commit hook zricethezav/gitleaks to v8.21.2 Oct 28, 2024
@renovate renovate bot force-pushed the renovate/zricethezav-gitleaks-8.x branch from 026ae0f to 436a996 Compare October 28, 2024 14:23
@renovate renovate bot force-pushed the renovate/zricethezav-gitleaks-8.x branch from 436a996 to bf82b33 Compare December 19, 2024 22:49
@renovate renovate bot changed the title feat(github-release): update pre-commit hook zricethezav/gitleaks to v8.21.2 feat(github-release): update pre-commit hook zricethezav/gitleaks to v8.21.3 Dec 19, 2024
@renovate renovate bot force-pushed the renovate/zricethezav-gitleaks-8.x branch from bf82b33 to 801b9ff Compare December 20, 2024 20:54
@renovate renovate bot changed the title feat(github-release): update pre-commit hook zricethezav/gitleaks to v8.21.3 feat(github-release): update pre-commit hook zricethezav/gitleaks to v8.22.0 Dec 20, 2024
@renovate renovate bot force-pushed the renovate/zricethezav-gitleaks-8.x branch from 801b9ff to a0d7ad4 Compare December 30, 2024 17:06
@renovate renovate bot changed the title feat(github-release): update pre-commit hook zricethezav/gitleaks to v8.22.0 feat(github-release): update pre-commit hook zricethezav/gitleaks to v8.22.1 Dec 30, 2024
@renovate renovate bot force-pushed the renovate/zricethezav-gitleaks-8.x branch from 2ca3b20 to c8ed05b Compare January 29, 2025 17:30
@renovate renovate bot force-pushed the renovate/zricethezav-gitleaks-8.x branch from c8ed05b to 9cc8153 Compare February 20, 2025 03:15
@renovate renovate bot changed the title feat(github-release): update pre-commit hook zricethezav/gitleaks to v8.23.3 feat(github-release): update pre-commit hook zricethezav/gitleaks to v8.24.0 Feb 20, 2025
@renovate renovate bot force-pushed the renovate/zricethezav-gitleaks-8.x branch from 9cc8153 to 6db419e Compare March 22, 2025 14:02
@renovate renovate bot changed the title feat(github-release): update pre-commit hook zricethezav/gitleaks to v8.24.0 feat(github-release): update pre-commit hook zricethezav/gitleaks to v8.24.2 Mar 22, 2025
@renovate renovate bot force-pushed the renovate/zricethezav-gitleaks-8.x branch from 6db419e to 9741400 Compare April 11, 2025 15:10
@renovate renovate bot changed the title feat(github-release): update pre-commit hook zricethezav/gitleaks to v8.24.2 feat(github-release): update pre-commit hook zricethezav/gitleaks to v8.24.3 Apr 11, 2025
@renovate renovate bot force-pushed the renovate/zricethezav-gitleaks-8.x branch from 9741400 to 2daa914 Compare April 29, 2025 17:10
@renovate renovate bot changed the title feat(github-release): update pre-commit hook zricethezav/gitleaks to v8.24.3 feat(github-release): update pre-commit hook zricethezav/gitleaks to v8.25.0 Apr 29, 2025
@renovate renovate bot force-pushed the renovate/zricethezav-gitleaks-8.x branch from 2daa914 to 4bbf311 Compare April 30, 2025 19:06
@renovate renovate bot changed the title feat(github-release): update pre-commit hook zricethezav/gitleaks to v8.25.0 feat(github-release): update pre-commit hook zricethezav/gitleaks to v8.25.1 Apr 30, 2025
@renovate renovate bot force-pushed the renovate/zricethezav-gitleaks-8.x branch from 4bbf311 to 0956777 Compare May 12, 2025 22:13
@renovate renovate bot changed the title feat(github-release): update pre-commit hook zricethezav/gitleaks to v8.25.1 feat(github-release): update pre-commit hook zricethezav/gitleaks to v8.26.0 May 12, 2025
@renovate renovate bot force-pushed the renovate/zricethezav-gitleaks-8.x branch from 0956777 to 49a9bb4 Compare June 1, 2025 17:33
@renovate renovate bot changed the title feat(github-release): update pre-commit hook zricethezav/gitleaks to v8.26.0 feat(github-release): update pre-commit hook zricethezav/gitleaks to v8.27.0 Jun 1, 2025
@renovate renovate bot force-pushed the renovate/zricethezav-gitleaks-8.x branch from 49a9bb4 to 8648263 Compare June 8, 2025 02:50
@renovate renovate bot changed the title feat(github-release): update pre-commit hook zricethezav/gitleaks to v8.27.0 feat(github-release): update pre-commit hook zricethezav/gitleaks to v8.27.1 Jun 8, 2025
@renovate renovate bot force-pushed the renovate/zricethezav-gitleaks-8.x branch from 8648263 to 7234e6e Compare June 9, 2025 01:47
@renovate renovate bot changed the title feat(github-release): update pre-commit hook zricethezav/gitleaks to v8.27.1 feat(github-release): update pre-commit hook zricethezav/gitleaks to v8.27.2 Jun 9, 2025
@renovate renovate bot force-pushed the renovate/zricethezav-gitleaks-8.x branch from 7234e6e to eabb7bb Compare July 20, 2025 16:39
@renovate renovate bot changed the title feat(github-release): update pre-commit hook zricethezav/gitleaks to v8.27.2 feat(github-release): update pre-commit hook zricethezav/gitleaks to v8.28.0 Jul 20, 2025
@renovate renovate bot force-pushed the renovate/zricethezav-gitleaks-8.x branch from eabb7bb to a7faf3f Compare November 20, 2025 00:49
@renovate renovate bot changed the title feat(github-release): update pre-commit hook zricethezav/gitleaks to v8.28.0 feat(github-release): update pre-commit hook zricethezav/gitleaks to v8.29.1 Nov 20, 2025
@renovate renovate bot force-pushed the renovate/zricethezav-gitleaks-8.x branch from a7faf3f to abe4bf4 Compare November 26, 2025 18:28
@renovate renovate bot changed the title feat(github-release): update pre-commit hook zricethezav/gitleaks to v8.29.1 feat(github-release): update pre-commit hook zricethezav/gitleaks to v8.30.0 Nov 26, 2025
@renovate renovate bot force-pushed the renovate/zricethezav-gitleaks-8.x branch from abe4bf4 to 03889c3 Compare January 19, 2026 16:07
@renovate renovate bot force-pushed the renovate/zricethezav-gitleaks-8.x branch from 03889c3 to 9682b00 Compare February 12, 2026 15:55
…v8.30.1

| datasource  | package              | from    | to      |
| ----------- | -------------------- | ------- | ------- |
| github-tags | zricethezav/gitleaks | v8.18.2 | v8.30.1 |
@renovate renovate bot changed the title feat(github-release): update pre-commit hook zricethezav/gitleaks to v8.30.0 feat(github-release): update pre-commit hook zricethezav/gitleaks to v8.30.1 Mar 12, 2026
@renovate renovate bot force-pushed the renovate/zricethezav-gitleaks-8.x branch from 9682b00 to 89bf829 Compare March 12, 2026 19:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants