Skip to content

v1.2: logging, richer recon, parallel web enum, markdown report, validation#2

Merged
WhiteMuush merged 8 commits into
mainfrom
improve/v1.2
Jun 17, 2026
Merged

v1.2: logging, richer recon, parallel web enum, markdown report, validation#2
WhiteMuush merged 8 commits into
mainfrom
improve/v1.2

Conversation

@WhiteMuush

Copy link
Copy Markdown
Owner

Summary

Six improvements on top of the v1.1 modular refactor, each a self-contained commit. Plan documented in docs/IMPROVEMENTS.md.

Area Change
logger Mirror every log_* line to per-session kraken.log (audit trail)
recon Add AAAA/TXT/CNAME records, prefer dig over host, dig-based reverse DNS
web Parallel directory enumeration, bounded jobs via KRAKEN_WEB_JOBS (default 8)
report Markdown report alongside plaintext + bugfix: scope sed used | as both delimiter and alternation, so Target(s) was always empty
core kraken_valid_target rejects empty/whitespace/shell-metachar input; wired into recon/scan/vuln/web
tooling .shellcheckrc matching CI exclusions; version bump to 1.2.0

Testing

  • bash -n clean on all scripts
  • CI-equivalent smoke passes (25 functions), incl. new kraken_valid_target
  • --help / --version verified
  • Live-tested logger mirror, recon DNS fallback, parallel web enum, markdown report + scope fix, target validation

🤖 Generated with Claude Code

Every log_* call now appends a timestamped, color-stripped line to
${KRAKEN_OUTPUT_DIR}/kraken.log when a session is active, giving an
audit trail of what was run. No-op until a session directory exists.
DNS recon now collects IPv6 (AAAA), TXT and CNAME records in addition
to A/MX/NS. dig is used when available (cleaner, more reliable output),
falling back to host, nslookup, then getent. Reverse DNS uses dig -x
when dig is present.
Path probes now run as bounded background jobs (KRAKEN_WEB_JOBS, default
8) instead of one blocking curl at a time. Results are collected, sorted
for deterministic output, then rendered and written. A dead host no
longer serializes ~14 timeouts.
Reporting now writes a REPORT_*.md alongside the plaintext report, with
heading structure and a summary table for pasting into tickets/wikis.

Also fixes the scope line: the targets sed used | as both delimiter and
alternation, so it errored and Target(s) was always empty. Switched the
delimiter to # in both the text and Markdown summaries.
Add kraken_valid_target, rejecting empty input, whitespace and shell
metacharacters and requiring host-legal characters. Recon, scan, vuln
and web modules now validate the target/URL host right after prompting,
failing fast instead of feeding junk to nmap/curl/host. Registered in
the CI smoke test.
Encode the SC1091/SC2034 exclusions from the CI workflow in a repo-level
.shellcheckrc so contributors running shellcheck locally get the same
results as CI.
@WhiteMuush WhiteMuush merged commit 90118f3 into main Jun 17, 2026
3 checks passed
@WhiteMuush WhiteMuush deleted the improve/v1.2 branch June 17, 2026 12:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant