Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: group image vulnerabilities by base/os image #5680

Merged
merged 27 commits into from
Aug 23, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
942f0a4
feat: add support for app and env sorting in scan list api and add me…
gireesh-naidu Aug 2, 2024
0a991b6
fix: query fix for appName sort or envName sort
gireesh-naidu Aug 2, 2024
e5f0bb4
Merge branch 'main' into cve-severity-image-scan-oss
gireesh-naidu Aug 5, 2024
c6d622b
Merge branch 'main' into cve-severity-image-scan-oss
gireesh-naidu Aug 5, 2024
b928140
fix: sql script number change
gireesh-naidu Aug 5, 2024
0279d8a
fix: minor changes
gireesh-naidu Aug 6, 2024
8f03c8f
fix: review fix
gireesh-naidu Aug 6, 2024
05246c3
fix: remove dml on cve_store and handle it in code handling this vers…
gireesh-naidu Aug 8, 2024
99dd81b
Merge branch 'main' into cve-severity-image-scan-oss
gireesh-naidu Aug 8, 2024
7d7bde7
fix: review comments
gireesh-naidu Aug 8, 2024
f0d5ae5
Merge branch 'main' into cve-severity-image-scan-oss
gireesh-naidu Aug 8, 2024
b8df085
Merge branch 'main' into cve-severity-image-scan-oss
gireesh-naidu Aug 12, 2024
bf6c26e
Merge branch 'main' into cve-severity-image-scan-oss
gireesh-naidu Aug 12, 2024
19e0262
feat: storing target,class and type values in imageScanExecutionResults
gireesh-naidu Aug 12, 2024
5e21bc7
feat: add sql script
gireesh-naidu Aug 12, 2024
5aa58d6
feat: add sql script
gireesh-naidu Aug 12, 2024
f87af7e
fix: add new columns
gireesh-naidu Aug 12, 2024
32c518b
fix: update script numbers
gireesh-naidu Aug 12, 2024
8a59aa3
Merge branch 'main' into cve-severity-image-scan-oss
gireesh-naidu Aug 13, 2024
477666b
Merge branch 'cve-severity-image-scan-oss' into vulnerability-grouping
gireesh-naidu Aug 13, 2024
3027397
Merge branch 'develop-oss' into cve-severity-image-scan-oss
gireesh-naidu Aug 13, 2024
546fb9e
Merge branch 'cve-severity-image-scan-oss' into vulnerability-grouping
gireesh-naidu Aug 13, 2024
2e8af31
fix: correct down script
gireesh-naidu Aug 13, 2024
099e890
fix: minor fix
gireesh-naidu Aug 14, 2024
46c9127
chore: script number update
gireesh-naidu Aug 23, 2024
5361a8d
Merge branch 'develop-oss' into vulnerability-grouping
gireesh-naidu Aug 23, 2024
319a141
Merge branch 'develop-oss' into vulnerability-grouping
gireesh-naidu Aug 23, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,7 @@ func (impl ImageScanDeployInfoRepositoryImpl) scanListQueryWithoutObject(request
query = query + " AND res.cve_store_name ILIKE '%" + request.CVEName + "%'"
}
if len(request.Severity) > 0 {
severities := strings.Trim(strings.Join(strings.Fields(fmt.Sprintf("%d", request.Severity)), ","), "[]")
severities := strings.Trim(strings.Join(strings.Fields(fmt.Sprint(request.Severity)), ","), "[]")
query = query + fmt.Sprintf(" AND (cs.standard_severity IN (%s) OR (cs.severity IN (%s) AND cs.standard_severity IS NULL))", severities, severities)
}
if len(request.EnvironmentIds) > 0 {
Expand Down Expand Up @@ -239,7 +239,7 @@ func (impl ImageScanDeployInfoRepositoryImpl) scanListQueryWithObject(request *s
}

if len(request.Severity) > 0 {
severities := strings.Trim(strings.Join(strings.Fields(fmt.Sprintf("%d", request.Severity)), ","), "[]")
severities := strings.Trim(strings.Join(strings.Fields(fmt.Sprint(request.Severity)), ","), "[]")
query = query + fmt.Sprintf(" AND (cs.standard_severity IN (%s) OR (cs.severity IN (%s) AND cs.standard_severity IS NULL))", severities, severities)
}
if len(request.EnvironmentIds) > 0 {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,9 @@ type ImageScanExecutionResult struct {
Package string `sql:"package"`
Version string `sql:"version"`
FixedVersion string `sql:"fixed_version"`
Target string `sql:"target"`
Type string `sql:"type"`
Class string `sql:"class"`
CveStore CveStore
ImageScanExecutionHistory ImageScanExecutionHistory
}
Expand Down
3 changes: 3 additions & 0 deletions pkg/security/ImageScanService.go
Original file line number Diff line number Diff line change
Expand Up @@ -331,6 +331,9 @@ func (impl ImageScanServiceImpl) FetchExecutionDetailResult(request *bean3.Image
FVersion: item.FixedVersion,
Package: item.CveStore.Package,
Severity: item.CveStore.GetSeverity().String(),
Target: item.Target,
Type: item.Type,
Class: item.Class,
//Permission: "BLOCK", TODO
}
// data already migrated hence get package, version and fixedVersion from image_scan_execution_result
Expand Down
3 changes: 3 additions & 0 deletions pkg/security/bean/bean.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@ type Vulnerabilities struct {
CVersion string `json:"currentVersion"`
FVersion string `json:"fixedVersion"`
Permission string `json:"permission"`
Target string `json:"target"`
Class string `json:"class"`
Type string `json:"type"`
}

func (vul *Vulnerabilities) IsCritical() bool {
Expand Down
3 changes: 3 additions & 0 deletions scripts/sql/276_scan_policies.down.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
UPDATE cve_policy_control
SET deleted = true, updated_on = 'now()', updated_by = '1'
WHERE severity = '3' OR severity = '5';
6 changes: 6 additions & 0 deletions scripts/sql/276_scan_policies.up.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@

-- severity 3 is for high and 5 is for unknown
INSERT INTO "public"."cve_policy_control" ("global", "cluster_id", "env_id", "app_id", "cve_store_id", "action", "severity", "deleted", "created_on", "created_by", "updated_on", "updated_by") VALUES
('t', NULL, NULL, NULL, NULL, '1', '3', 'f', 'now()', '1', 'now()', '1'),
('t', NULL, NULL, NULL, NULL, '1', '5', 'f', 'now()', '1', 'now()', '1');

21 changes: 21 additions & 0 deletions scripts/sql/281_update_scan_tool_metadata.down.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
UPDATE scan_tool_metadata
SET image_scan_descriptor_template = '[
{
"pathToVulnerabilitiesArray": "Results.#.Vulnerabilities",
"name": "VulnerabilityID",
"package": "PkgName",
"packageVersion": "InstalledVersion",
"fixedInVersion": "FixedVersion",
"severity": "Severity"
}
]', updated_on = 'now()'
WHERE name = 'TRIVY'
AND version = 'V1'
AND scan_target = 'IMAGE'
AND active = true
AND deleted = false;

ALTER TABLE image_scan_execution_result
DROP COLUMN class,
DROP COLUMN type,
DROP COLUMN target;
29 changes: 29 additions & 0 deletions scripts/sql/281_update_scan_tool_metadata.up.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
UPDATE scan_tool_metadata SET result_descriptor_template = '[
{
"pathToResultArray": "Results",
"pathToVulnerabilitiesArray": "Vulnerabilities",
"vulnerabilityData":{
"name": "VulnerabilityID",
"package": "PkgName",
"packageVersion": "InstalledVersion",
"fixedInVersion": "FixedVersion",
"severity": "Severity"
},
"resultData":{
"target":"Target",
"class":"Class",
"type":"Type"
}
}
]',updated_on = 'now()'

WHERE name = 'TRIVY'
AND version = 'V1'
AND scan_target = 'IMAGE'
AND active = true
AND deleted = false;

ALTER TABLE image_scan_execution_result
ADD COLUMN class TEXT,
ADD COLUMN type TEXT,
ADD COLUMN target TEXT;
2 changes: 1 addition & 1 deletion wire_gen.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.