Commit graph

11 commits

Author SHA1 Message Date
trvon
53d258563f
fix(build): harden setup.sh meson native-file array + hooks path
Use a bash array for MESON_NATIVE_FILES instead of a space-joined string
(safe word-splitting/quoting), and set core.hooksPath to .githooks so the
tracked lint/pre-push hooks are active after setup.
2026-08-16 16:41:03 -06:00
trvon
faad55be6d
ci: validate setup script builds 2026-07-28 11:20:29 -04:00
trvon
661157e648
feat(cli): add scan scopes + complexity detector 2026-06-22 09:09:43 -04:00
trvon
50230c809b
checkpoint 2026-06-04 20:20:29 -04:00
trvon
374aa7475d
many good updates for binary and SAST / DAST scanning 2026-06-02 12:39:03 -04:00
trvon
3e89a18ccd
fix: wire llvm-ar into meson native file so tests can rebuild
- setup.sh creates build/llvm_ar.ini with ar=llvm-ar path
- meson configure passes llvm_ar.ini as additional native file
- Fixes 'llvm-ar: command not found' when meson test rebuilds
- Also find llvm-ar in meson.build for direct ninja invocations
2026-05-30 00:13:10 -04:00
trvon
4345e88e52
fix: CXXThrowExpr support in symbolic encoder applyStmt
- Throw expressions treated as control-flow terminals (like ReturnStmt)
- Previously caused function body walks to bail entirely
- Required for OOB detection in functions with throw guards
- 132 build targets
2026-05-30 00:05:44 -04:00
trvon
45c92b49d3
fix: setup.sh Conan build_type — use bash if/fi instead of sed \u
- macOS BSD sed doesn't support \u (GNU extension)
- Simple if/fi: debug→Debug, everything else→Release
- Verified: ./setup.sh runs cleanly on macOS
2026-05-29 20:21:17 -04:00
trvon
9c20455d64
fix: macOS BSD sed \u replacement for Conan build_type
- BSD sed doesn't support \u (literal 'u' emitted as prefix)
- Replace with python3 mapping: release→Release, debug→Debug
- Fixes 'Invalid setting urelease' Conan error
2026-05-29 20:19:31 -04:00
trvon
600f8020a6
build(setup): portable LLVM detection on Linux
setup.sh only checked /opt/homebrew/Cellar/llvm/* and exited with
"No Homebrew LLVM installation found" on any non-macOS host. Add
Linux probing for /usr/lib/llvm-N/bin and llvm-config-N on PATH,
plus a brew --prefix llvm@N fallback for Intel/custom-prefix macOS.

Also:
- Symlink z3.pc from the arch-dependent /usr/lib path into the
  meson build dir on Linux (libz3-dev installs there but meson
  doesn't search it by default).
- Thread the discovered llvm-config path through to meson via
  -Dllvm-config-path so the fold meson option picks up the right
  binary instead of guessing.
- Default CC/CXX to the discovered clang when unset; necessary on
  apt-installed Linux where bare `clang`/`clang++` may not exist.
- Honor caller-provided LLVM_BIN env override.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-24 17:41:04 -04:00
trvon
3f1234f7bb
fold: bounded symbolic SAST for C++
Clang LibTooling + Z3 BV-64 encoding.
11 detectors: clone, equiv, class-dup, dead, null-deref,
div-by-zero, int-overflow, oob, int-truncation,
sign-conversion, taint-track.

Interfaces: CLI, MCP (JSON-RPC 2.0), LSP.
Output: SARIF 2.1.0, JSON, Markdown.
2026-05-14 23:14:54 -04:00