| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
The flag was hidden and hardcoded to false on `socket scan reach`, since it relied on `--auto-manifest` generating the per-build-root Socket facts first and that command has no such flag. Run the recursive facts generation directly instead, so standalone reachability gets the same per-project/module splitting `scan create` does. Without it, Gradle and sbt projects analyzed through this path find no vulnerabilities at all. Extract the recursive-facts step out of handle-create-new-scan into run-dynamic-sbom-inference so both commands share one implementation and one set of error messages, and give the flag a per-command description since only `scan create` implies --auto-manifest.
There was a problem hiding this comment.
LGTM ✅
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
What
Adds --dynamic-sbom-inference support to socket scan reach.
The flag was hidden and hardcoded to false there, because it relied on --auto-manifest generating the per-build-root Socket facts first and scan reach has no such flag. It now runs the recursive facts generation directly instead, so standalone reachability gets the same per-project/module splitting scan create does.
Why
socket scan reach is the path Coana uses for its CI e2e tests. Without the flag, Gradle and sbt projects analyzed through it are reduced to one synthetic root and every test passes vacuously with 0 vulnerabilities detected.
How
No changelog entry: socket scan reach is internal-only.
Testing
Note
The generated per-root facts are written as <build-root>/.socket.facts.json, and Coana's report defaults to .socket.facts.json in cwd. If cwd is itself a build root, the report overwrites that root's generated facts after the upload. Pre-existing behavior shared with scan create, not introduced here — --output avoids it if a caller needs both files on disk.
🤖 Generated with Claude Code
Note
Medium Risk
Changes reachability manifest discovery and Coana inputs for multi-root JVM builds; failures abort the whole command rather than partial analysis, but behavior only applies when the new flag is set.
Overview
socket scan reach now honors --dynamic-sbom-inference instead of hiding the flag and forcing it off. For Gradle, sbt, and Maven monorepos, the command discovers each independent build root, builds it to emit per-root .socket.facts.json, includes those paths in manifest upload/discovery, and passes the resolved-paths sidecar into Coana so reachability splits per module like scan create.
Recursive facts generation is centralized in runDynamicSbomInference, shared with handle-create-new-scan (same errors for missing roots or partial failures). scan reach runs that step directly (no --auto-manifest); when the flag is on it keeps an sbt toolchain temp dir alive via withTmpDir until analysis finishes. Help text uses a shared DYNAMIC_SBOM_INFERENCE_DESCRIPTION with command-specific wording.
Reviewed by Cursor Bugbot for commit 84aafcf. Configure here.