Skip to content

Commit 75ecfbf

Browse files
authored
V3 - Fast SAST mode scanning changed files only (#1297)
1 parent 93a730b commit 75ecfbf

3 files changed

Lines changed: 24 additions & 17 deletions

File tree

go.mod

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@ require (
77
github.com/go-git/go-git/v5 v5.18.0
88
github.com/golang/mock v1.6.0
99
github.com/google/go-github/v45 v45.2.0
10-
github.com/jfrog/build-info-go v1.13.1-0.20260331040230-c3b53d1a24ac
10+
github.com/jfrog/build-info-go v1.13.1-0.20260429070557-93b98034d295
1111
github.com/jfrog/froggit-go v1.21.1
1212
github.com/jfrog/gofrog v1.7.6
13-
github.com/jfrog/jfrog-cli-core/v2 v2.60.1-0.20260427010241-873f53d940b3
13+
github.com/jfrog/jfrog-cli-core/v2 v2.60.1-0.20260504054219-ba16d20c7b0f
1414
github.com/jfrog/jfrog-cli-security v1.28.0
15-
github.com/jfrog/jfrog-client-go v1.55.1-0.20260428070955-750b933dc5c7
15+
github.com/jfrog/jfrog-client-go v1.55.1-0.20260505115216-b6c67f807bc3
1616
github.com/owenrumney/go-sarif/v3 v3.2.3
1717
github.com/stretchr/testify v1.11.1
1818
github.com/tidwall/gjson v1.18.0
@@ -63,7 +63,7 @@ require (
6363
github.com/jedib0t/go-pretty/v6 v6.7.8 // indirect
6464
github.com/jfrog/archiver/v3 v3.6.3 // indirect
6565
github.com/jfrog/jfrog-apps-config v1.0.1 // indirect
66-
github.com/jfrog/jfrog-cli-artifactory v0.8.1-0.20260423195010-d7aa2c437305 // indirect
66+
github.com/jfrog/jfrog-cli-artifactory v0.8.1-0.20260501071051-3c8035fc662b // indirect
6767
github.com/kevinburke/ssh_config v1.6.0 // indirect
6868
github.com/klauspost/compress v1.18.5 // indirect
6969
github.com/klauspost/cpuid/v2 v2.3.0 // indirect
@@ -127,7 +127,7 @@ require (
127127
gopkg.in/yaml.v3 v3.0.1 // indirect
128128
)
129129

130-
// replace github.com/jfrog/jfrog-cli-security => github.com/jfrog/jfrog-cli-security dev
130+
replace github.com/jfrog/jfrog-cli-security => github.com/jfrog/jfrog-cli-security v1.28.1-0.20260505135007-a2c39d56de78
131131

132132
// replace github.com/jfrog/jfrog-cli-core/v2 => github.com/jfrog/jfrog-cli-core/v2 dev
133133

go.sum

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -138,22 +138,22 @@ github.com/jedib0t/go-pretty/v6 v6.7.8 h1:BVYrDy5DPBA3Qn9ICT+PokP9cvCv1KaHv2i+Hc
138138
github.com/jedib0t/go-pretty/v6 v6.7.8/go.mod h1:YwC5CE4fJ1HFUDeivSV1r//AmANFHyqczZk+U6BDALU=
139139
github.com/jfrog/archiver/v3 v3.6.3 h1:hkAmPjBw393tPmQ07JknLNWFNZjXdy2xFEnOW9wwOxI=
140140
github.com/jfrog/archiver/v3 v3.6.3/go.mod h1:5V9l+Fte30Y4qe9dUOAd3yNTf8lmtVNuhKNrvI8PMhg=
141-
github.com/jfrog/build-info-go v1.13.1-0.20260331040230-c3b53d1a24ac h1:VKZar+MKKcCoEnT3f1Nq0DkHV07PuI18NEPjlnJCh7M=
142-
github.com/jfrog/build-info-go v1.13.1-0.20260331040230-c3b53d1a24ac/go.mod h1:+OCtMb22/D+u7Wne5lzkjJjaWr0LRZcHlDwTH86Mpwo=
141+
github.com/jfrog/build-info-go v1.13.1-0.20260429070557-93b98034d295 h1:EH0h86KwGvNHWyEBQoHoU9WfMMKy1GJ6jJQNmfy6E0U=
142+
github.com/jfrog/build-info-go v1.13.1-0.20260429070557-93b98034d295/go.mod h1:+OCtMb22/D+u7Wne5lzkjJjaWr0LRZcHlDwTH86Mpwo=
143143
github.com/jfrog/froggit-go v1.21.1 h1:I/XUOO6GQ1d/rmBlM361F8T654C3ohIWrpw23xNL9JY=
144144
github.com/jfrog/froggit-go v1.21.1/go.mod h1:umBiakJB0CSPFfe0AHVaC3n9xsmUT7NGkDCny3bRchI=
145145
github.com/jfrog/gofrog v1.7.6 h1:QmfAiRzVyaI7JYGsB7cxfAJePAZTzFz0gRWZSE27c6s=
146146
github.com/jfrog/gofrog v1.7.6/go.mod h1:ntr1txqNOZtHplmaNd7rS4f8jpA5Apx8em70oYEe7+4=
147147
github.com/jfrog/jfrog-apps-config v1.0.1 h1:mtv6k7g8A8BVhlHGlSveapqf4mJfonwvXYLipdsOFMY=
148148
github.com/jfrog/jfrog-apps-config v1.0.1/go.mod h1:8AIIr1oY9JuH5dylz2S6f8Ym2MaadPLR6noCBO4C22w=
149-
github.com/jfrog/jfrog-cli-artifactory v0.8.1-0.20260423195010-d7aa2c437305 h1:wSoVNwbZ2Scm/q2MEfcf+vCUuq41wejk3+rlgnF56jE=
150-
github.com/jfrog/jfrog-cli-artifactory v0.8.1-0.20260423195010-d7aa2c437305/go.mod h1:6QJFQvde/CLnFeIIFOvm/6QuQr8OT1QWiTJAkQ+1Mnc=
151-
github.com/jfrog/jfrog-cli-core/v2 v2.60.1-0.20260427010241-873f53d940b3 h1:LdLQQmhOMUfU+3x7wbtB7kY/Dd2LXKHz7CCUpHWn7uM=
152-
github.com/jfrog/jfrog-cli-core/v2 v2.60.1-0.20260427010241-873f53d940b3/go.mod h1:qpD7einonjqskDTEyqeG3NzAbZO6se0s0Pet0ObBQ3I=
153-
github.com/jfrog/jfrog-cli-security v1.28.0 h1:A/xxwbnjCfQOGT8LqtjYsPXmGg2kpcjlABw2DMFgId8=
154-
github.com/jfrog/jfrog-cli-security v1.28.0/go.mod h1:+eO5IgCkfiz0/8fCf6UwBg1KWXoDbOQ/E2V8DR9Ziq8=
155-
github.com/jfrog/jfrog-client-go v1.55.1-0.20260428070955-750b933dc5c7 h1:MvHnFczVntYB/USj7/RRANvdWbTUcwEvXcIGr7lOyTc=
156-
github.com/jfrog/jfrog-client-go v1.55.1-0.20260428070955-750b933dc5c7/go.mod h1:sCE06+GngPoyrGO0c+vmhgMoVSP83UMNiZnIuNPzU8U=
149+
github.com/jfrog/jfrog-cli-artifactory v0.8.1-0.20260501071051-3c8035fc662b h1:FthglG4ivcUSQLNPWWdKzbBHR9FCCG1WJSO5fpbLkY4=
150+
github.com/jfrog/jfrog-cli-artifactory v0.8.1-0.20260501071051-3c8035fc662b/go.mod h1:teaYcsWBYyYa0mhofzOJkEqWRMZ/1gS7uhy6HT64XXg=
151+
github.com/jfrog/jfrog-cli-core/v2 v2.60.1-0.20260504054219-ba16d20c7b0f h1:l5BPLF8GYBSvXmNqurqAP291lVHr1iCo4nwc5xe7KNM=
152+
github.com/jfrog/jfrog-cli-core/v2 v2.60.1-0.20260504054219-ba16d20c7b0f/go.mod h1:bjAkVD8c2W+jg4whqy10bSXDC/c+Se8/ll/GPp5F/+0=
153+
github.com/jfrog/jfrog-cli-security v1.28.1-0.20260505135007-a2c39d56de78 h1:NAvhctthunYAUCDHlUlIk0wzkRJG/Ds8aTndlo+Lcs8=
154+
github.com/jfrog/jfrog-cli-security v1.28.1-0.20260505135007-a2c39d56de78/go.mod h1:8dIzcSzO553Q/feb9XXNE9uNAWLa98D+XjXZScd/MbM=
155+
github.com/jfrog/jfrog-client-go v1.55.1-0.20260505115216-b6c67f807bc3 h1:yjPAmowZM/2yDpgYVwWBuFFm8IETnYkCe5OLp6zFsQA=
156+
github.com/jfrog/jfrog-client-go v1.55.1-0.20260505115216-b6c67f807bc3/go.mod h1:sCE06+GngPoyrGO0c+vmhgMoVSP83UMNiZnIuNPzU8U=
157157
github.com/jhump/protoreflect v1.15.1 h1:HUMERORf3I3ZdX05WaQ6MIpd/NJ434hTp5YiKgfCL6c=
158158
github.com/jhump/protoreflect v1.15.1/go.mod h1:jD/2GMKKE6OqX8qTjhADU1e6DShO+gavG9e0Q693nKo=
159159
github.com/kevinburke/ssh_config v1.6.0 h1:J1FBfmuVosPHf5GRdltRLhPJtJpTlMdKTBjRgTaQBFY=

utils/scandetails.go

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -133,12 +133,12 @@ func (sc *ScanDetails) SetXscGitInfoContext(scannedBranch, gitProject string, cl
133133

134134
// For PR-Scan
135135
func (sc *ScanDetails) SetXscPRGitInfoContext(gitProject string, client vcsclient.VcsClient, prDetails vcsclient.PullRequestInfo) *ScanDetails {
136-
XscGitInfoContext, err := sc.createGitInfoContext(prDetails.Source.Name, gitProject, client, &prDetails)
136+
xscCtx, err := sc.createGitInfoContext(prDetails.Source.Name, gitProject, client, &prDetails)
137137
if err != nil {
138138
log.Debug("Failed to create a GitInfoContext for Xsc due to the following error:", err.Error())
139139
return sc
140140
}
141-
sc.XscGitInfoContext = XscGitInfoContext
141+
sc.XscGitInfoContext = xscCtx
142142
return sc
143143
}
144144

@@ -170,6 +170,13 @@ func (sc *ScanDetails) createGitInfoContext(scannedBranch, gitProject string, cl
170170
return nil, err
171171
}
172172
gitInfo.Target = &targetInfo
173+
// Get PR modified files
174+
changedFiles, err := client.GetModifiedFiles(context.Background(), sc.RepoOwner, sc.RepoName, prDetails.Target.Name, prDetails.Source.Name)
175+
if err != nil {
176+
log.Warn("Failed to get PR modified files for git diff context:", err.Error())
177+
} else {
178+
gitInfo.ChangedFiles = changedFiles
179+
}
173180
return
174181
}
175182

0 commit comments

Comments
 (0)