Commit graph

125 commits

Author SHA1 Message Date
Mick Grove
49afc71803 - Improved error message when self-update cannot find the current binary
- Optimized memory usage via string interning and extensive data sharing
- Replaced quadratic match filtering with a per-rule span map, fixing missed secrets in extremely large files and improving scan performance
- Support scanning extremely large files by chunking input into 1 GiB segments with small overlaps, avoiding vectorscan buffer limits while preserving match offsets
- Always use chunked vectorscan, eliminating the slow regex fallback for blobs over 4 GiB
- Skip Base64 scanning for blobs over 64 MB to avoid a second pass over massive files
- Increased max-file-size default to 64 MB (up from 25 MB)
2025-09-04 21:51:24 -07:00
Mick Grove
bf60c5584b Optimized memory usage via string interning and extensive data sharing 2025-09-03 09:52:49 -07:00
Mick Grove
ac34f35f61 Optimized memory usage via string interning and extensive data sharing 2025-09-02 19:54:44 -07:00
Mick Grove
1575d35601 Improved error message when self-update cannot find the current binary 2025-09-02 13:59:01 -07:00
Mick Grove
2a85f66e4a fix windows x64 builds 2025-08-31 17:26:30 -07:00
Mick Grove
3bed8b36f2 Fix changes in response to code review 2025-08-30 20:07:31 -07:00
Mick Grove
aa2c3ba0cc Decode Base64 blobs and scan their contents for secrets while skipping short strings for performance. This has a small performance impact and can be disabled with --no-base64 2025-08-30 19:40:22 -07:00
Mick Grove
fc0be774b4 Decode Base64 blobs and scan their contents for secrets while skipping short strings for performance. This has a small performance impact and can be disabled with --no-base64 2025-08-30 19:40:11 -07:00
Mick Grove
984231e25c Decode Base64 blobs and scan their contents for secrets while skipping short strings for performance 2025-08-30 16:44:55 -07:00
Mick Grove
b2b5791190 - Improved rules: github oauth2, diffbot, mailchimp, aws
- Added validation to SauceLabs rule
- Added rules: shodan, bitly, flickr
2025-08-29 17:24:26 -07:00
Mick Grove
332f2c59f9 added top level 'self-update' cli sub command to update the binary independently. Now supports updating over homebrew managed binary 2025-08-27 15:35:01 -07:00
Mick Grove
c2de3bc25c added rules for zhipu 2025-08-27 12:43:41 -07:00
Mick Grove
7f3846c8e7 Added a new install-precommit subcommand that installs a git pre-commit hook, prompting or accepting --global/--repo flags to control scope and configuring the hook to run kingfisher --quiet --only-valid --no-update-check 2025-08-22 17:33:03 -07:00
Mick Grove
2f1385f5f1 Added a new install-precommit subcommand that installs a git pre-commit hook, prompting or accepting --global/--repo flags to control scope and configuring the hook to run kingfisher --quiet --only-valid --no-update-check 2025-08-22 17:26:48 -07:00
Mick Grove
910196d11d fixed failing tests 2025-08-21 16:10:52 -07:00
Mick Grove
245fb20670 - Added '--repo-artifacts' flag to scan repository issues, gists/snippets, and wikis when cloning via '--git-url'
- Added rules for sendbird, mattermost, langchain, notion
- JWT validation hardened to reject alg:none by default (only allowed if explicitly configured), require iss for OIDC/JWKS verification, ensuring Active Credential means cryptographically verified and time-valid, not just unexpired
- Updated the Git cloning logic to include all refs and minimize clone output, allowing Kingfisher to analyze pull request and deleted branch history
2025-08-21 15:39:04 -07:00
Mick Grove
87094ad773 - Added '--repo-artifacts' flag to scan repository issues, gists/snippets, and wikis when cloning via '--git-url' 2025-08-20 20:41:19 -07:00
Mick Grove
a3d9d22d6c - Added '--repo-artifacts' flag to scan repository issues, gists/snippets, and wikis when cloning via '--git-url' 2025-08-20 20:41:11 -07:00
Mick Grove
90405c77dd Added '--skip-regex' and '--skip-word' flags to ignore secrets matching custom patterns or skipwords 2025-08-19 19:19:13 -07:00
Mick Grove
bf08d973b4 Added '--skip-regex' and '--skip-word' flags to ignore secrets matching custom patterns or skipwords 2025-08-19 19:18:25 -07:00
Mick Grove
36f51afd63 - Fixed issue with self-update on Linux
- Reverted the change to json and jsonl outputs by rule
2025-08-19 11:55:28 -07:00
Mick Grove
d2f40c477f Fixed issue with self-update on Linux 2025-08-19 09:30:26 -07:00
Mick Grove
41a4ebb60f - Added rules for clearbit, kickbox, azure container registry, improved Azure Storage key
- Grouped JSON and JSONL outputs by rule, restoring matches arrays in reports
2025-08-18 22:56:34 -07:00
Mick Grove
92bbe70487 fixing windows tests 2025-08-17 21:11:09 -07:00
Mick Grove
d3b85ed370 fixing issues reported by code review 2025-08-17 18:02:36 -07:00
Mick Grove
c81e8a763d fixed failing tests 2025-08-17 17:41:51 -07:00
Mick Grove
068448193f fixed failing tests 2025-08-17 17:41:34 -07:00
Mick Grove
e3566b26e8 removed serde_utils and added Authress rule 2025-08-16 07:34:02 -07:00
Mick Grove
6619705459 removed serde_utils and added Authress rule 2025-08-16 07:33:36 -07:00
Mick Grove
0ce72739dc Improved language detection 2025-08-15 16:08:46 -07:00
Mick Grove
7a0ea600d3 refactored rule loading 2025-08-15 13:13:54 -07:00
Mick Grove
1a6f03df26 refactored rule loading 2025-08-15 13:13:33 -07:00
Mick Grove
6d0027c14f code cleanup' 2025-08-15 09:07:25 -07:00
Mick Grove
b8ffa3ba0c - Added support for scanning gitlab subgroups, with 'kingfisher scan --gitlab-group my-group --gitlab-include-subgroups' 2025-08-14 09:25:18 -07:00
Mick Grove
12e9a01b5e Improved Tailscale api key detectors 2025-08-13 09:13:50 -07:00
Mick Grove
e7a8da6b3c Dropped the “prevalidated” flag from rule definitions and validation logic so every finding now flows through the standard active/inactive/unknown pipeline, simplifying rule configuration and preventing special‑case bypasses 2025-08-13 08:22:53 -07:00
Mick Grove
25268eabef Added support for scanning Confluence pages 2025-08-11 09:03:58 -07:00
Mick Grove
bf4fc622fa Added support for scanning Confluence pages 2025-08-11 08:26:49 -07:00
Mick Grove
2a40b9efee Added support for scanning Confluence pages 2025-08-11 08:25:24 -07:00
Mick Grove
baa7b6e761 Added support for scanning Confluence pages 2025-08-10 21:51:31 -07:00
Mick Grove
9ca6ea5fb6 removed unused cli argument, snippet-length 2025-08-10 17:27:36 -07:00
Mick Grove
690db297e3 removed unused cli argument, snippet-length 2025-08-10 17:25:32 -07:00
Mick Grove
c9c0aba687 - --quiet now suppresses scan summaries and rule statistics unless --rule-stats is explicitly provided
- Added X Consumer key detection and validation
2025-08-09 15:36:12 -07:00
Mick Grove
0a53a58ac1 GitLab: include nested subgroup projects when enumerating group repositories 2025-08-08 21:42:49 -07:00
Mick Grove
4dd8a4531b GitLab: include nested subgroup projects when enumerating group repositories 2025-08-08 18:08:17 -07:00
Mick Grove
cdfdd5f54e GitLab: include nested subgroup projects when enumerating group repositories 2025-08-08 15:12:33 -07:00
Mick Grove
c763780905 GitLab: include nested subgroup projects when enumerating group repositories 2025-08-08 15:11:44 -07:00
Mick Grove
02803a9bb2 GitLab: include nested subgroup projects when enumerating group repositories 2025-08-08 15:11:36 -07:00
Mick Grove
a912043eb9 changes in response to code review 2025-08-07 18:45:46 -07:00
Mick Grove
0bdd68c900 JWT tokens without both 'iss' and 'aud' are no longer reported as active credentials 2025-08-07 18:30:40 -07:00