Skip to content

feat: catch-up sync from the commercial development tree (2026-04-29 → 2026-07-09) - #24

Merged
Zeerg merged 1 commit into
mainfrom
sync/commercial-2026-07-09
Jul 10, 2026
Merged

feat: catch-up sync from the commercial development tree (2026-04-29 → 2026-07-09)#24
Zeerg merged 1 commit into
mainfrom
sync/commercial-2026-07-09

Conversation

@Zeerg

@Zeerg Zeerg commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

Catch-up sync bringing ~2.5 months of engine development to the public repo in one reviewed change: 3,310 files, +474k/−15k lines.

Highlights

  • ssaflow — new Go SSA taint engine (def-use chains, cross-function fixpoint summaries, module-local cross-package analysis). On by default; BATOU_SSAFLOW=0 opts out.
  • Cross-file taint — per-language call-graph builders, cross-file edge resolution, and a shared cross-file taint walk for 14 languages (previously Go-only), including stored-state taint (instance fields / module globals) and cross-language HTTP service-boundary routes.
  • batou scan <dir> — new repo scanner: parallel walk over a shared in-memory call graph, JSONL or SARIF 2.1.0 output, --fail-on CI gate, --min-confidence.
  • tsflow — walker grew 1.9k → 9.9k LOC: barrier guards, arg-shape/payload-position sink gating, Shell language config (17 configs total).
  • Taint catalogs — 3,254 → 10,664 entries across 17 languages.
  • Rules & analyzers — +58 regex rules; new perlast/shellast/zigast analyzers; major C/C++ analyzer expansion (use-after-free/double-free, TLS/libc hardening); parse determinism + timeout hardening.
  • Suppression — adjudicated suppression (machine-checks the -- reason against the finding's dataflow) and gosec #nosec annotation support.
  • Benchmarks — committed 13-language bench corpus + 6 offline CVE ground-truth benches, with make targets and scorecard aggregation.

Verification

  • go build ./... passes in both modules (CGo).
  • Smoke tests pass on the touched packages (reporter, findings, rules/java, rules/csharp).
  • Full -race suite runs in CI on this PR.

🤖 Generated with Claude Code

…→ 2026-07-09)

~2.5 months of engine development in one reviewed sync:

- ssaflow: new Go SSA taint engine (def-use chains, cross-function fixpoint
  summaries, module-local cross-package analysis); on by default,
  BATOU_SSAFLOW=0 opts out
- Cross-file taint: per-language call-graph builders, cross-file edge
  resolution, and a shared cross-file taint walk for 14 languages (was
  Go-only), including stored-state taint (instance fields / module globals)
  and cross-language HTTP service-boundary routes
- batou scan <dir>: new repo scanner — parallel walk over a shared in-memory
  call graph, JSONL or SARIF 2.1.0 output, --fail-on CI gate, --min-confidence
- tsflow: walker 1.9k → 9.9k LOC; barrier guards, arg-shape and
  payload-position sink gating, Shell language config (17 configs total)
- Taint catalogs: 3,254 → 10,664 entries across 17 languages
- +58 regex rules; new perlast/shellast/zigast analyzers; major C/C++
  analyzer expansion (UAF/double-free, TLS/libc hardening)
- Adjudicated suppression + gosec annotation support; findings lifecycle
  reason tracking; parse determinism and timeout hardening
- Committed benchmark corpora: 13-language bench suite + 6 offline CVE
  ground-truth benches with make targets and scorecard aggregation

Not mirrored: internal benchmarking harnesses, profiling artifacts, and
infra-specific CI configuration. OSS-only files (release workflows, lint
config, hook setup) are preserved; the CI test timeout is raised for the
larger suite.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@Zeerg
Zeerg merged commit 080cfa8 into main Jul 10, 2026
3 checks passed
@Zeerg
Zeerg deleted the sync/commercial-2026-07-09 branch July 10, 2026 03:24
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