Skip to content

Conversation

@bhanurp
Copy link
Contributor

@bhanurp bhanurp commented Dec 16, 2025

  • All tests passed. If this feature is not already covered by the tests, I added new tests.
  • All static analysis checks passed.
  • This pull request is on the dev branch.
  • I used gofmt for formatting the code before submitting the pull request.
  • Appropriate label is added to the PR for auto generate release notes.

Description:

Fix inconsistent RequestedBy Paths for .NET Dependencies

Summary

This PR fixes a bug where direct dependency attribution for .NET projects was inconsistent across multiple runs of jf audit or Frogbot. The "Direct Dependency" column and impact paths would change unpredictably, even with the same project and source code.

Root Cause

The root cause was non-deterministic Go map iteration order in the dependency resolution code. When a dependency appeared as both direct AND transitive (e.g., Newtonsoft.Json is a direct dependency and also a transitive dependency of NuGet.Core), the RequestedBy paths would be populated in random order across runs, causing:

  • Inconsistent direct dependency attribution - A dependency could flip between "direct" and "transitive" across runs
  • Flaky vulnerability reports - Impact paths would change between scans
  • Non-reproducible build-info - Same project producing different outputs

E2E Tests

jfrog/jfrog-cli#3279

@bhanurp bhanurp added the bug Something isn't working label Dec 16, 2025
@github-actions
Copy link

👍 Frogbot scanned this pull request and did not find any new security issues.


@bhanurp bhanurp merged commit 020d6c5 into jfrog:dev Dec 18, 2025
18 checks passed
fluxxBot pushed a commit to fluxxBot/build-info-go that referenced this pull request Dec 18, 2025
fluxxBot pushed a commit to fluxxBot/build-info-go that referenced this pull request Dec 18, 2025
fluxxBot pushed a commit to fluxxBot/build-info-go that referenced this pull request Dec 18, 2025
nitinp19 pushed a commit to nitinp19/build-info-go that referenced this pull request Dec 22, 2025
nitinp19 pushed a commit to nitinp19/build-info-go that referenced this pull request Dec 22, 2025
nitinp19 pushed a commit to nitinp19/build-info-go that referenced this pull request Dec 22, 2025
fluxxBot added a commit that referenced this pull request Dec 23, 2025
* Fix the request by overriding of direct dependencies (#349)

* Rebase dev (#350)

* Added support for collecting build info for helm project (#339)

* Added support for collecting build info for helm project

* Added repo as a field inside dependency struct (#342)

* Parse flag for flexpack check (#343)

* Poetry native support improvement (#340)

* Code optimization (#344)

* Code optimization

* Code optimization

* Fix for Security Violations (#348)

---------

Co-authored-by: Naveen Kumar <[email protected]>
Co-authored-by: Agrasth Naman <[email protected]>

* support-for-conan-build-info-collection (#351)

* Supporting Run native behavior for Gradle (#353)

* Added support of collecting build info for gradle project with run native command

* added support of flexplack for bi gradle.

* Revert "Supporting Run native behavior for Gradle (#353)" (#354)

This reverts commit 492fa58.

---------

Co-authored-by: Bhanu Reddy <[email protected]>
Co-authored-by: Naveen Kumar <[email protected]>
Co-authored-by: Agrasth Naman <[email protected]>
Co-authored-by: reshmifrog <[email protected]>
Co-authored-by: nitinp19 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants