chore(deps): update pre-commit hook gitleaks/gitleaks to v8.28.0 #26
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.
This PR contains the following updates:
v8.16.4->v8.28.0Note: The
pre-commitmanager in Renovate is not supported by thepre-commitmaintainers or community. Please do not report any problems there, instead create a Discussion in the Renovate repository if you have any questions.Release Notes
gitleaks/gitleaks (gitleaks/gitleaks)
v8.28.0Compare Source
Changelog
4fb4382cant countb1c9c7eComposite rules (#1905)72977e4feat: add Anthropic API key detection (#1910)7b02c98fix(git): handle port (#1912)2a7bcffdont prematurely calculate fragment newlines (#1909)bd79c3efeat(allowlist): promote optimizations (#1908)7fb4edaFix: CVEs on go and go crypto (#1868)a044b81feat: add artifactory reference token and api key detection (#1906)bf380d4sillyf487f85Update gitleaks.yml958f55aadd just like that, no leaksOptimizations
#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
requiredRules) #1905In v8.28.0 Gitleaks introduced composite rules, which are made up of a single "primary" rule and one or more auxiliary or
requiredrules. To create a composite rule, add a[[rules.required]]table to the primary rule specifying anidand optionallywithinLinesand/orwithinColumnsproximity 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 auxiliaryrequiredrules also find matches within the specified area of the fragment.Proximity matching: Using the
withinLinesandwithinColumnsfields instructs the primary rule to only report a finding if the auxiliaryrequiredrules 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)Here are diagrams illustrating each proximity behavior:
v8.27.2Compare Source
Changelog
c7acf33Merge branch 'master' of github.com:gitleaks/gitleaks9faaa4aAdd experimental allowlist optimizations (#1731)79068b3Detect Notion Public API Keys #1889 (#1890)v8.27.1Compare Source
Changelog
80468efMerge branch 'master' of github.com:gitleaks/gitleaksef82237fix(atlassian): reduce false-positives for v1 pattern (#1892)2463f11Fix log suppresion issue (#1887)6f251eeAdded Heroku API Key New Version (#1883)20f9a1dAdd Platform Bitbucket (#1886)722ce82Add Platform Gitea (#1884)79780b8Merge branch 'master' of github.com:gitleaks/gitleaksc5683caprevent default warn message when max-archive-depth not set (#1881)0357c3cprevent default warn message when max-archive-depth not setv8.27.0Compare Source
Changelog
782f310Archive support (#1872)489d13cUpdate README.mdd29ee55Reduce aws-access-token false positives (#1876)611db65Setpass_filenamestofalsefor Docker hook (#1850)0589ae0unicode decoding (#1854)82f7e32Diagnostics (#1856)f97a9eechore: include decoder in debug log (#1853)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-depthenables this feature for both
dirandgitscan 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-depthflag sets the recursion limit. Recursion stops whenthere 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):
This means a secret was detected on line 4 of
files/.env.prod.which is inarchives/files.tarwhich is intestdata/archives/nested.tar.gz.Currently supported formats:
The compression
and archive
formats supported by mholt's archives package
are supported.
v8.26.0Compare Source
Changelog
78eebacPercent/URL Decoding Support (#1831)6f967cafix(kubernetes): remove slow element from pat (#1848)88f56d3feat: identify slow file (#1479)9609928rm 1password detect test since we test it in cfg gen23cb69ffeat(rules): Add 1Password secret key detection (#1834)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), andb64. It's relatively straight forward to add a new decoder so if you're motivated, community contributions are welcomed!Here's an example:
v8.25.1Compare Source
Changelog
d1c7759fix(detect): test all allowlists (#1845)Big thanks @rgmz
v8.25.0Compare Source
Changelog
4451b45feat(config): define multiple global allowlists (#1777) (cause for the minor bump change)7fb21a4feat(rules): Add Perplexity AI API key detection (#1825)f6193bcfeat(gcp): increase rule entropy (#1840)9bc7257Adding clickhouse scanner (#1826)b6cc71afix(baseline): work with --redact (#1741)cfdeb0dfeat(rule): validate & sort rule when generating (#1817)v8.24.3Compare Source
Changelog
107a418Add support for GitLab Runner Tokens (Routable) (#1820)7fac002bump repo version in pre-commit example (#1815)4b54104Fix currentLine out of bounds error (#1810)af7d5bcadd support for Azure DevOps platform in SCM detection and link (#1807)3e8cd2dAdd MaxMind license key rule (#1771)ddcc753implement new openai regex pattern (#1780)9708e65A first attempt adding hooks.slack.com/triggers/ (#1792)198e410feat(generic): tweak false-positives (#1803)e273a97chore: tweak logging and readme for GITLEAKS_CONFIG_TOML feature (#1802)a503b58feat: add option to set config from env var with toml content (#1662)v8.24.2Compare Source
What's Changed
platformflag being ignored withgitleaks detectby @rgmz in #1765report-formatfromreport-pathextension if no value is provided by @rgmz in #1776generic-api-key: ignore csrf-tokens by @rgmz in #1779New Contributors
Full Changelog: gitleaks/gitleaks@v8.24.0...v8.24.2
v8.24.1Compare Source
v8.24.0Compare Source
Changelog
c2afd56Make paths and fingerprints platform-agnostic (#1622)818e32fAdd Sonar rule (#1756)3fa5a3aMinor false positive improvements (#1758)2020e6aAdd support for streaming DetectReader (#1760)9122a2dchore: Update github.com/wasilibs/go-re2 to v1.9.0 (#1763)398d0c4docs: describe extended rules take precedence over base rules (#1563)ae26efffeat(git): disable link generation (#1748)c6424a6added sourcegraph token rule (#1736)6411402feat(config): add rule for .p12 files (#1738)d71d95dadd deno.lock to default exclusions (#1740)v8.23.3Compare Source
Changelog
3188ad6Don't exit with error if git repacking is required (#1711)7fc11bbrefactor(config): use non-capture groups for allowlists (#1735)36c52c6chore: Enhancecurl-auth-userto detect empty usernames or passwords (#1726)1f323d8fix(cmd): read log-opts before GitLogCmd (#1730)v8.23.2Compare Source
Changelog
d88bc09facebook keyword3fdaefdfix(meraki): restrict keyword case (#1722)f3ae52efeat(generic-api-key): detect base64 (#1598)d6a828agreat branch name (#1721)d2ffffefix(git): remove .git suffix for links (#1716)a43dc0dchore: refine generic-api-key fps + trace logging (#1720)69ed20efix(generate): move newline out of char range (#1719)52b895anewline literal (#1718)3f4d91fbuild: support either stdlib or 3rd-party regexp (#1706)049f5b2chore(detect): update trace logging (#1713)7a6183dfeat(git): redact passwords from remote URL (#1709)3c7f3f0feat(git): include link in report (#1698)0e3f4f7chore: reduce generic-api-key fps (#1707)3ed8567blorpe977850added new rule for cisco meraki api key (#1700)ad7a4fbfeat: general fp tweaks (#1703)b2cf03cchore(generate): use \x60 instead of literal (#1702)a3f623cchore(regex): simplify secretPrefix, suffix (#1620)cc71bb1update version for pre-commit in README.md (#1699)v8.23.1Compare Source
Changelog
7bad9f7chore(gcp): add firebase example keys to the gcp-api-key allowlists (#1635)977236cfix: unaligned 64-bit atomic operation panic (#1696)a211b16force push to master everyday0e5f644feat(config): disable extended rule (#1535)f320a60style: prevent globbing and word splitting (#1543)c4526b2refactor(generic-api-key): remove hard-coded 'magic' (#1600)748076dchore(generate): add failing test case (#1690)v8.23.0Compare Source
Changelog
db8e5e6feat(generate): use multiple allowlists (#1691)973c794chore(rules): include fps in reference (#1471)f0d4499Add comma as operator for GenerateSemiGenericRegex (#1679)ab38a46refactor: central logger (#1692)b022d1cfriendship ended with tinesREAD THIS!!! The default gitleaks config now uses
[[rules.allowlists]]v8.22.1Compare Source
Changelog
b69b515Entropy trace (#1659)7357adcbuild: add 'toolchain' to go.mod (#1682)4c3da6erefactor(detect): create readUntilSafeBoundary + add tests (#1676)dbe3746twitter really does suck ass now7edfc6bchore(tests): test cases for generate.go (#1623)efe40cafix: only use non-empty secret groups (#1632)7cb5f6fbuild: upgrade sprig v2->v3 (#1674)2930537fix: generate report file even if no findings (#1673)v8.22.0Compare Source
Changelog
a91c671replace std library regex engine with go-re2 (#1669)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.4Compare Source
Changelog
906085fUpdate golang version to 1.23 (#1672)8a83062log bytes (#1670)v8.21.3Compare Source
Changelog
a9e6d8cgo mod 1.232f73a3eEnsure keywords are downcased (#1633)f696605feat: add settlemint api keys detection (#1663)0bf13fcfeat(dir): better chunking (#1665)83e99bafeat(report): allow user-defined templates (#1650)e393d29Add support for GitLab routable tokens (#1656)263ce82Add freemius secret key detection (#1611)3c0e068fix(kubernetes): only match 'kind: secret' (#1649)f3adda0feat: use STDOUT when report file not specified (#1642)ed205a5fix(dir): skip opening file&dir if allowlist matches (#1653)6018012fix: increase chunk size 10kb -> 100kb (#1652)7f77987feat: detect sentry.io tokens in the new format (#1640)48a2e0erefactor: pre-commit hooks (#1627)4e303d0fix(easypost): only detect tokens of correct length (#1628)c1add1dfeat(dir): continue on permission error (#1621)202106aAdd human readable description for curl rules (#1625)8e94f98Add option to includeLinefield in report (#1616)dbb42a7hm (great comment)2599460Update README.md8ffb980nop for stupid build4181ad6Add new jira api token pattern (#1601)48ea14bfeat: update global & generic allowlist (#1618)81f0002fix(vault-service-token): ensure that TPS contains digits (#1614)c11adc9Generate comprehensive secret samples (#1484)d1d9054fix(aws): detect token in url (#1615)5fe58bffix(rules): entropy, uppercase in samples (#1593)5c2e813feat: tweak rules (#1608)v8.21.2Compare Source
Changelog
43fae35feat(rules): create Octopus Deploy api key (#1602)a158e4ffix(aws-access-token): only match if correct length (#1584)b6e0eeefix(config): ignore jquery/swagger w/o version (#1607)722e7d8feat: add new GitLab tokens (#1560)961f2e6feat(generic-api-key): tune false positives (#1606)e734fcfCreate .gitleaks.toml (#1605)7206d6bfeat(curl): tweak tps and fps (#1603)2db25f1feat(config): ignore swagger-ui assets (#1604)e97695bfeat(generic-api-key): exclude keywords (#1587)0afb525feat(okta): bump entropy to 4 (#1599)2068870feat: update global allowlist (#1597)8cf93b9refactor(allowlist): deduplicate commits & keywords (#1596)50c2818feat(config): ignore jquery static assets (#1595)455ae0aMore rule fixes (#1586)5407c44chore: log skipped symlinks (#1591)d03d6c4feat: match left side of identifier (#1585)851c11awhat secrets?8cfa6b2fix(rules): add entropy (#1580)9152eaafeat(aws): add entropy & allowlist (#1582)93acc6efeat(rules): add 1password token (#1583)83a5724feat(config): add curl header rule (#1576)v8.21.1Compare Source
Changelog
cf5334ffeat: add curl basic auth rule (#1575)d07b394Update spelling in README.md (#1574)5c03fa4refactor(allowlist): use iota for condition (#1569)12034a7refactor(config): temporarily switch to [rules.allowlist] (#1573)v8.21.0Compare Source
Changelog
aabe381Define multiple allowlists per rule (#1496)8ea6085build: upgrade gitleaks/go-gitdiff to v0.9.1 (#1559)be9d0f8Fix rule extension (#1556)9988e52Update base config allowlist (#1555)8fb39bafeat(azure): detect Azure AD client secrets (#1199)14c924dchore: match gitleaks.toml anywhere (#1553)respect @rgmz @9999years
v8.20.1Compare Source
Changelog
b2fbaebfeat(config): add placeholder regexes to global allowlist (#1547)00bb821feat: add PrivateAI rule (#1548)445abe3Bump golang verion used in docker build to match version specified in go.mod (#1551)1a2f656feat: add cohere rule (#1549)82d737dfeat(generate): generate global (#1546)f6e5499Feat/nuget config password rule (#1540)v8.20.0Compare Source
Changelog
bf8a49fMake private key check less greedy and include fifth dash (#1440)9c354f5print tags if they exist2278a2aDecode Base64 (#1488)c5b15c9refactor(config): keyword map (#1538)a971a32fix: use regexTarget for extend config (#1536)a0f2f46feat: bump go to 1.22 (#1537)4e8d7d3fix: handle pre-commit and staged (#1533)f8dcd83Bugfix/1352 incorrect report multiple lines (#1501)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-depthenables this feature (the defaultvalue "0" means the feature is disabled by default).
Recursive decoding is supported since decoded text can also contain encoded
text. The flag
--max-decode-depthsets the recursion limit. Recursion stopswhen 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:
include that as well
decoded:<encoding>anddecode-depth:<depth>Currently supported encodings:
base64(both standard and base64url)v8.19.3Compare Source
Changelog
ed19c4efix(config): extend allowlist & handle extend when validating (#1524)989ef19refactor(kubernetes-secret): tweak variable chars (#1520)191eb43Revert "remove validate config test temporarily" (#1529)78f7d3ffeat: create fly.io rule (#1528)7098f6dfix: to many false-positive for gltf files, add gltf suffix to allowlist (#1527)97dbe1eAdd support in .gitleaksignore file comment strings (#1425) (#1502)9e06824Restrict Etsy keywords (#1491)db78260feat(github): add entropy to rule (#1489)df126a7feat(gcp): update api key rule (#1481)75dd70efix(hashicorp): ignore common fps (#1498)8510d39fix(square): make prefix case sensitive (#1469)3698060refactor(kubernetes-secret): collapse rules and update regex (#1462)v8.19.2Compare Source
Changelog
128cd22fix(rule): comment out errant validation case (#1509)1a6d2b0remove validate config test temporarily0874ebcUpdate README.mdv8.19.1Compare Source
Changelog
9463ffafix flag access (#1506)v8.19.0Compare Source
Changelog
44ad62eDeprecatedetectandprotect. Addgit,dir,stdin(#1504) HEY THIS IS AN IMPORTANT CHANGE. If it breaks some stuff... sorry, I'll fix it asap, just open an issue and make sure to ping me. The change is meant to be backwards compatible.e93a7c0Update Harness rules to add _ and - in the account ID part. (#1503)4e43d11chore: fix gl workflow error (#1487)bd81872](https://redirect.gConfiguration
📅 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.
To execute skipped test pipelines write comment
/ok-to-test.This PR has been generated by MintMaker (powered by Renovate Bot).