salvacybersec
6fc0abe8ae
feat(05-05): wire --verify into scan pipeline with consent gate
...
- Add --verify-timeout (default 10s) and --verify-workers (default 10) flags
- Refactor scan loop to collect findings, verify, then persist
- Gate verification behind verify.EnsureConsent(db, stdin, stderr)
- Route findings through verify.HTTPVerifier.VerifyAll with configurable
timeout and worker pool, back-assign Result.Status/HTTPCode/Metadata
onto engine.Finding by provider+masked-key tuple
- Persist verify_* columns via storage.SaveFinding after verification
2026-04-05 15:53:47 +03:00
salvacybersec
d5370783d4
test(05-05): add failing test for --verify-timeout/--verify-workers flags
2026-04-05 15:52:57 +03:00
salvacybersec
260e342f2f
feat(05-02): add LEGAL.md, embed it, and wire keyhunter legal command
...
- Add LEGAL.md at repo root (109 lines) covering CFAA, Computer Misuse Act,
EU Directive 2013/40/EU, responsible use, disclosure, and disclaimer.
- Mirror to pkg/legal/LEGAL.md for go:embed (Go cannot traverse parents).
- Add pkg/legal package exposing Text() for the embedded markdown.
- Add cmd/legal.go registering keyhunter legal subcommand to print it.
2026-04-05 15:46:11 +03:00
salvacybersec
b151e88a29
feat(04-05): wire all Phase 4 sources through scan command
...
- Add --git, --url, --clipboard, --since, --max-file-size, --insecure flags
- Introduce selectSource dispatcher with sourceFlags struct
- Dispatch to Dir/File/Git/Stdin/URL/Clipboard sources based on args+flags
- Reject mutually exclusive source selectors with clear error
- Forward --exclude patterns into DirSource
- Args changed to MaximumNArgs(1) to allow --url/--clipboard without positional
2026-04-05 15:23:12 +03:00
salvacybersec
9105ca11f5
test(04-05): add failing tests for selectSource dispatcher
2026-04-05 15:21:37 +03:00
salvacybersec
9da0b68129
feat(01-05): add CLI root command, config package, output table, and settings helpers
...
- cmd/root.go: Cobra root with all 11 subcommands, viper config loading
- cmd/stubs.go: 8 stub commands for future phases (verify, import, recon, keys, serve, dorks, hook, schedule)
- cmd/scan.go: scan command wiring engine + storage + output with per-installation salt
- cmd/providers.go: providers list/info/stats subcommands
- cmd/config.go: config init/set/get subcommands
- pkg/config/config.go: Config struct with Load() and defaults
- pkg/output/table.go: lipgloss terminal table for PrintFindings
- pkg/storage/settings.go: GetSetting/SetSetting for settings table CRUD
2026-04-05 12:26:36 +03:00
salvacybersec
58259cb9d3
feat(01-01): create main.go, test scaffolding, and testdata fixtures
...
- main.go entry point (7 lines) delegates to cmd.Execute()
- cmd/root.go stub so go build ./... compiles (Plan 05 replaces)
- pkg/providers, pkg/storage, pkg/engine package stubs
- Test stubs with t.Skip() for providers, storage, engine packages
- testdata/samples: openai_key.txt, anthropic_key.txt, multiple_keys.txt, no_keys.txt
- go build ./... and go test ./... -short both exit 0
2026-04-05 00:04:42 +03:00