Skip to content
This repository was archived by the owner on May 24, 2025. It is now read-only.

Commit c61cdc0

Browse files
committed
Add missing fields required by GitHub Code Scanning
1 parent de15593 commit c61cdc0

File tree

2 files changed

+32
-4
lines changed

2 files changed

+32
-4
lines changed

main.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,11 @@ func main() {
1818
if err != nil {
1919
log.Fatal("Error when parsing file: ", err)
2020
}
21-
// fmt.Printf("containerScan: %+v", containerScan)
2221

2322
sarifReport, err := sarif.FromContainerScan(containerScan)
2423
if err != nil {
2524
log.Fatal("Could not construct SARIF report from Container Scan input: ", err)
2625
}
27-
// fmt.Printf("sarifReport: %+v", sarifReport)
2826

2927
sarifWriteErr := sarifReport.WriteTo(*outputPath)
3028
if sarifWriteErr != nil {

sarif/sarif.go

Lines changed: 32 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,8 @@ type SarifReportRunResultLocationPhysicalLocationArtifactLocation struct {
7575
type SarifReportRunResultLocationPhysicalLocationRegion struct {
7676
StartLine *int `json:"startLine,omitempty"`
7777
StartColumn *int `json:"startColumn,omitempty"`
78+
EndLine *int `json:"endLine,omitempty"`
79+
EndColumn *int `json:"endColumn,omitempty"`
7880
}
7981

8082
func FromContainerScan(containerScanReport containerscan.ContainerScan) (SarifReport, error) {
@@ -125,7 +127,9 @@ func FromContainerScan(containerScanReport containerscan.ContainerScan) (SarifRe
125127
FullDescription: SarifReportRunToolDriverRuleDescription{
126128
Text: vulnerability.Description,
127129
},
128-
HelpUri: &helpUri,
130+
Help: &SarifReportRunToolDriverRuleDescription{
131+
Text: helpUri,
132+
},
129133
}
130134
}
131135
sarifRunResult := SarifReportRunResult{
@@ -135,12 +139,20 @@ func FromContainerScan(containerScanReport containerscan.ContainerScan) (SarifRe
135139
Text: vulnerability.Description,
136140
},
137141
}
142+
//startLine, endLine, startColumn, endColumn
143+
physicalLocationRegion := []int { 1, 1, 1, 1}
138144
sarifRunResult.Locations = append(sarifRunResult.Locations,
139145
SarifReportRunResultLocation{
140146
PhysicalLocation: SarifReportRunResultLocationPhysicalLocation{
141147
ArtifactLocation: SarifReportRunResultLocationPhysicalLocationArtifactLocation{
142148
Uri: toPathUri(vulnerability.Target),
143149
},
150+
Region: &SarifReportRunResultLocationPhysicalLocationRegion{
151+
StartLine: &physicalLocationRegion[0],
152+
EndLine: &physicalLocationRegion[1],
153+
StartColumn: &physicalLocationRegion[2],
154+
EndColumn: &physicalLocationRegion[3],
155+
},
144156
},
145157
})
146158
sarifReportRun.Results = append(sarifReportRun.Results, sarifRunResult)
@@ -172,7 +184,9 @@ func FromContainerScan(containerScanReport containerscan.ContainerScan) (SarifRe
172184
FullDescription: SarifReportRunToolDriverRuleDescription{
173185
Text: bestPracticeViolation.Title,
174186
},
175-
HelpUri: &helpUri,
187+
Help: &SarifReportRunToolDriverRuleDescription{
188+
Text: helpUri,
189+
},
176190
}
177191
}
178192
sarifRunResult := SarifReportRunResult{
@@ -182,6 +196,22 @@ func FromContainerScan(containerScanReport containerscan.ContainerScan) (SarifRe
182196
Text: bestPracticeViolation.Alerts,
183197
},
184198
}
199+
//startLine, endLine, startColumn, endColumn
200+
physicalLocationRegion := []int { 1, 1, 1, 1}
201+
sarifRunResult.Locations = append(sarifRunResult.Locations,
202+
SarifReportRunResultLocation{
203+
PhysicalLocation: SarifReportRunResultLocationPhysicalLocation{
204+
ArtifactLocation: SarifReportRunResultLocationPhysicalLocationArtifactLocation{
205+
Uri: toPathUri("container-image"),
206+
},
207+
Region: &SarifReportRunResultLocationPhysicalLocationRegion{
208+
StartLine: &physicalLocationRegion[0],
209+
EndLine: &physicalLocationRegion[1],
210+
StartColumn: &physicalLocationRegion[2],
211+
EndColumn: &physicalLocationRegion[3],
212+
},
213+
},
214+
})
185215
sarifReportRun.Results = append(sarifReportRun.Results, sarifRunResult)
186216
}
187217
sarifReportRun.Tool.Driver = sarifReportRunDriver

0 commit comments

Comments
 (0)