Commit graph

209 commits

Author SHA1 Message Date
Mick Grove
7c85b89aae Fixed tree-sitter scanning bug where passing --no-base64 caused errors to be printed when the file type couldn’t be determined 2025-10-08 08:59:25 -07:00
Mick Grove
ec1d640b74 Added first-class Azure Repos support, including CLI commands, enumeration, and documentation updates 2025-10-04 23:12:28 -07:00
Mick Grove
d6d854c168 - Improved performance of tree-sitter parsing
- Updated Windows build script to ensure static binary is produced
2025-10-03 17:22:28 -07:00
Mick Grove
ae5c8eecbe Replaced Match::finding_id’s SHA1-based hashing with a fast xxh3_64 digest that keeps IDs deterministic while eliminating a hot-path SHA1 dependency 2025-09-24 12:22:56 -07:00
Mick Grove
08b87eadf4 Populate the finding path from git blob metadata so history-derived secrets display their file location instead of an empty path 2025-09-23 17:24:11 -07:00
Mick Grove
6a974907ee Added support for Gitea 2025-09-23 13:07:45 -07:00
Mick Grove
5c70fdc8e5 Added support for BitBucket 2025-09-22 18:21:03 -07:00
Mick Grove
19cca00c2b Removed the unused --rlimit-nofile flag 2025-09-18 17:02:56 -07:00
Mick Grove
4112af193c Enabled ANSI formatting in the tracing formatter whenever stderr is attached to a terminal so colorized updater messages render correctly instead of showing escape sequences. 2025-09-17 14:54:01 -07:00
Mick Grove
866bf63202 Added diff-only Git scanning via --since-commit and --branch, including remote-aware ref resolution so CI jobs can pair --git-url clones with pull request branches 2025-09-16 14:20:43 -07:00
Mick Grove
563fa66d46 Added --github-exclude and --gitlab-exclude options to skip specific repositories when scanning or listing GitHub and GitLab sources, including support for gitignore-style glob patterns 2025-09-15 21:26:51 -07:00
Mick Grove
01b6038f46 updated rule for AWS Secret Access key 2025-09-10 16:00:21 -07:00
Mick Grove
a593e6d51e Increase max-file-size default to 256 mb (up from 64 mb) 2025-09-09 22:40:00 -07:00
Mick Grove
6a1d9e4142 - Enabled MongoDB URI validation
- AWS + GCP validators now respect HTTPS_PROXY and share a consistent user agent across AWS, GCP, and HTTP validation
2025-09-09 16:45:02 -07:00
Mick Grove
82e4d7b620 updated readme 2025-09-04 23:52:43 -07:00
Mick Grove
8d15c8eabf - 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
c3513ea206 Optimized memory usage via string interning and extensive data sharing 2025-09-02 19:54:44 -07:00
Mick Grove
23102f4b59 Improved error message when self-update cannot find the current binary 2025-09-02 13:59:01 -07:00
Mick Grove
5638a6cb45 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
9de355a5c8 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
e54dbe90d0 - 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
b3f80d7a33 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
c4cda65690 added rules for zhipu 2025-08-27 12:43:41 -07:00
Mick Grove
8798d799f9 added rules for together.ai 2025-08-27 12:20:44 -07:00
Mick Grove
41b237740b added rules for nvidia nim 2025-08-27 11:39:32 -07:00
Mick Grove
0bd7a428f6 added rules for cerbras, friendli, fireworks.ai 2025-08-27 11:25:39 -07:00
Mick Grove
1945d65a70 Added rule for 'weights and biases' 2025-08-27 10:20:04 -07:00
Mick Grove
b54f9894c2 added ollama rule 2025-08-26 10:22:18 -07:00
Mick Grove
231b92e52e 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
78b9f3dd8d - Improved rules: AWS, pem 2025-08-22 16:16:00 -07:00
Mick Grove
ef4cb03226 mproved AWS rule 2025-08-22 13:26:54 -07:00
Mick Grove
81d2f47c67 - 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
6e4c94ddc3 - 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
d3bf941c5f 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
2411b86b78 - 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
343c08ed00 Fixed issue with self-update on Linux 2025-08-19 09:30:26 -07:00
Mick Grove
951b62d61e - 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
125858c060 fixed failing tests 2025-08-17 17:41:34 -07:00
Mick Grove
6d669b4bb7 added more rules 2025-08-16 20:23:27 -07:00
Mick Grove
a2965bcf47 added more rules 2025-08-16 14:54:01 -07:00
Mick Grove
1d2522882a added clickhouse rule and validation 2025-08-16 08:41:39 -07:00
Mick Grove
695b051e24 Improved language detection 2025-08-15 16:08:46 -07:00
Mick Grove
5b8e83f5e7 refactored rule loading 2025-08-15 13:13:33 -07:00
Mick Grove
737e4829ac - Added support for scanning gitlab subgroups, with 'kingfisher scan --gitlab-group my-group --gitlab-include-subgroups' 2025-08-14 09:26:44 -07:00
Mick Grove
e83b171694 added rule for Vercel 2025-08-13 15:35:04 -07:00
Mick Grove
f90c0a6eff Improved Tailscale api key detectors 2025-08-13 09:13:50 -07:00
Mick Grove
8c71eae231 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
22c5594b53 Added support for scanning Confluence pages 2025-08-10 21:51:31 -07:00
Mick Grove
2fd6cd30e1 - --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
3458c37d33 Added X Consumer key detection and validation 2025-08-09 08:46:07 -07:00