Repository navigation
fix(scan): upload the analyzed facts files next to the reachability report - #1653
Merged
Jeppe Fredsgaard Blaabjerg (jfblaa) merged 1 commit intoOct 23, 2026
Conversation
…eport A --reach scan uploaded Coana's report in place of every facts file. depscan drops the report's components without public metadata, so private libraries and build modules went missing from the stored SBOM and their dependencies lost their parent. Upload the facts files Coana analyzed, minus earlier reports, as --reach-use-only-pregenerated-sboms already does. Co-Authored-By: Claude Opus 5.5 <[email protected]>
Oskar Haarklou Veileborg (BarrensZeppelin)
approved these changes
Oct 23, 2026
Jeppe Fredsgaard Blaabjerg (jfblaa)
deleted the
jfblaa/rea-990-keep-private-maven-libraries-in-the-stored-sbom-when-dynamic
branch
October 23, 2026 13:21
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
LLM Description written by Claude Code:claude-opus-5-5
Fixes REA-990: a
--reachscan of a JVM build with Socket facts files stored no private libraries or build modules, and their dependencies had no parent. The same scan without--reachkeeps them.Cause: with
--reach, socket-cli uploaded Coana's report in place of every*.socket.facts.json. In Coana's report, components with no public metadata (private libraries, build modules) carrymissingMetadata, which depscan strips at scan create, so the report alone cannot carry them.Change: upload the files Coana was given (detected facts files minus reachability reports) next to its report, as
--reach-use-only-pregenerated-sbomsalready did. depscan merges them, so the facts files contribute the private components and their edges, and the report contributes reachability. Earlier reports (bare.socket.facts.json) stay out.Notes:
--reach: depscan only decodes the bare.socket.facts.json.br(REA-895).performReachabilityAnalysisis left as a follow-up.🤖 Generated with Claude Code
Note
Medium Risk
Changes scan upload composition for all
--reachruns and affects how depscan merges SBOMs; scope is limited to the reach success path with regression tests.Overview
socket scan create --reachno longer uploads only Coana’s reachability report in place of every*.socket.facts.json. It now uploads the same inputs Coana analyzed—build facts such aspom.xml.socket.facts.jsonandgradle.socket.facts.json, plus other manifests—along with the fresh report, while still omitting stale bare.socket.facts.jsonreachability reports.That fixes JVM reach scans where private libraries and build modules disappeared from the stored SBOM because depscan strips
missingMetadatacomponents from the report alone; merged uploads preserve those components and parent/child edges from the facts files while the report still supplies reachability.Tests and the changelog were updated to match the new upload set (including
--reach-use-only-pregenerated-sbomsbehavior).Reviewed by Cursor Bugbot for commit 514229f. Configure here.