Skip to content

Commit 2f2b48b

Browse files
rushk014xingzhang-suse
authored andcommitted
fix(vulnerabilities): Refactor mock data into /data/sbombastic.rancher.io.vulnerability
1 parent 4e41efd commit 2f2b48b

File tree

6 files changed

+165
-112
lines changed

6 files changed

+165
-112
lines changed

pkg/sbombastic-image-vulnerability-scanner/components/TopSevereVulnerabilitiesChart.vue

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
<SevereVulnerabilitiesItem
88
v-for="vulnerability in topSevereVulnerabilities"
99
:vulnerability="vulnerability"
10-
:total="totalVulnerabilities"
1110
/>
1211
</div>
1312
</div>
@@ -26,10 +25,6 @@
2625
type: Array,
2726
required: true
2827
},
29-
totalVulnerabilities: {
30-
type: Number,
31-
required: true
32-
}
3328
},
3429
data() {}
3530
}

pkg/sbombastic-image-vulnerability-scanner/components/common/SevereVulnerabilitiesItem.vue

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
<template>
22
<div class="vulnerability-record">
33
<div class="cve">
4-
{{ vulnerability.cve }}
4+
{{ vulnerability.metadata.name }}
55
</div>
6-
<ScoreBadge :score="vulnerability.scoreV3" scoreType="v3" />
6+
<ScoreBadge :score="vulnerability.spec.scoreV3" scoreType="v3" />
77
<div class="impacted-container">
88
<div class="impacted">
9-
<span>{{ vulnerability.impactedImages }}</span>
9+
<span>{{ vulnerability.spec.impactedImages }}</span>
1010
<BlockPercentageBar
1111
class="percentage-bar"
12-
:percentage="(vulnerability.impactedImages / total) * 100"
12+
:percentage="(vulnerability.spec.impactedImages / vulnerability.spec.totalImages) * 100"
1313
/>
1414
</div>
1515
</div>
@@ -31,10 +31,6 @@
3131
type: Object,
3232
required: true
3333
},
34-
total: {
35-
type: Number,
36-
required: true
37-
}
3834
},
3935
data() {
4036
return { };

pkg/sbombastic-image-vulnerability-scanner/config/table-headers.ts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -235,41 +235,41 @@ export const VULNERABILITIES_TABLE = [
235235
{
236236
name: "cve",
237237
labelKey: "imageScanner.vulnerabilities.table.headers.cve",
238-
value: "cve",
239-
sort: "cve",
238+
value: "metadata.name",
239+
sort: "metadata.name",
240240
width: 140,
241241
},
242242
{
243243
name: "score",
244244
labelKey: "imageScanner.vulnerabilities.table.headers.score",
245-
value: "scoreV3",
245+
value: "spec.scoreV3",
246246
formatter: "ScoreBadgeCell",
247-
sort: "severity",
247+
sort: "spec.scoreV3",
248248
width: 100,
249249
},
250250
{
251251
name: "affectedImages",
252252
labelKey: "imageScanner.vulnerabilities.table.headers.affectedImages",
253-
value: "impactedImages",
253+
value: "spec.impactedImages",
254254
formatter: "ImpactedCell",
255255
formatterParams: { ticks: 23 },
256-
sort: "impactedImages",
256+
sort: "spec.impactedImages",
257257
width: 200,
258258
},
259259
{
260260
name: "severity",
261261
labelKey: "imageScanner.vulnerabilities.table.headers.severity",
262-
value: "severity",
263-
sort: "severity",
262+
value: "spec.severity",
263+
sort: "spec.severity",
264264
width: 120,
265265
},
266266
{
267267
name: "identifiedImages",
268268
labelKey: "imageScanner.vulnerabilities.table.headers.identifiedImages",
269-
value: "identifiedImages",
269+
value: "spec.identifiedImages",
270270
formatter: "ImpactedCell",
271271
formatterParams: { ticks: 45 },
272-
sort: "identifiedImages",
272+
sort: "spec.identifiedImages",
273273
width: 300,
274274
},
275275
];
Lines changed: 142 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,142 @@
1+
export const severityDistribution = {
2+
critical: 120,
3+
high: 54,
4+
medium: 23,
5+
low: 65,
6+
none: 200,
7+
};
8+
9+
export const cves = [
10+
{
11+
id: 'CVE-2017-5337',
12+
metadata: {
13+
name: 'CVE-2017-5337',
14+
},
15+
spec: {
16+
scoreV3: '9.9',
17+
severity: 'Critical',
18+
identifiedImages: 106,
19+
impactedImages: 103,
20+
}
21+
},
22+
{
23+
id: 'CVE-2017-5336',
24+
metadata: {
25+
name: 'CVE-2017-5336',
26+
},
27+
spec: {
28+
scoreV3: '9.6',
29+
severity: 'Critical',
30+
identifiedImages: 234,
31+
impactedImages: 98,
32+
}
33+
},
34+
{
35+
id: 'CVE-2017-5335',
36+
metadata: {
37+
name: 'CVE-2017-5335',
38+
},
39+
spec: {
40+
scoreV3: '8.8',
41+
severity: 'High',
42+
identifiedImages: 321,
43+
impactedImages: 95,
44+
}
45+
},
46+
{
47+
id: 'CVE-2017-5334',
48+
metadata: {
49+
name: 'CVE-2017-5334',
50+
},
51+
spec: {
52+
scoreV3: '8.6',
53+
severity: 'High',
54+
identifiedImages: 450,
55+
impactedImages: 92,
56+
}
57+
},
58+
{
59+
id: 'CVE-2017-5333',
60+
metadata: {
61+
name: 'CVE-2017-5333',
62+
},
63+
spec: {
64+
scoreV3: '8.5',
65+
severity: 'High',
66+
identifiedImages: 300,
67+
impactedImages: 90,
68+
}
69+
},
70+
{
71+
id: 'CVE-2017-5332',
72+
metadata: {
73+
name: 'CVE-2017-5332',
74+
},
75+
spec: {
76+
scoreV3: '7.5',
77+
severity: 'Medium',
78+
identifiedImages: 250,
79+
impactedImages: 85,
80+
}
81+
},
82+
{
83+
id: 'CVE-2017-5331',
84+
metadata: {
85+
name: 'CVE-2017-5331',
86+
},
87+
spec: {
88+
scoreV3: '7.2',
89+
severity: 'Medium',
90+
identifiedImages: 200,
91+
impactedImages: 80,
92+
}
93+
},
94+
{
95+
id: 'CVE-2017-5330',
96+
metadata: {
97+
name: 'CVE-2017-5330',
98+
},
99+
spec: {
100+
scoreV3: '6.8',
101+
severity: 'Medium',
102+
identifiedImages: 150,
103+
impactedImages: 75,
104+
}
105+
},
106+
{
107+
id: 'CVE-2017-5329',
108+
metadata: {
109+
name: 'CVE-2017-5329',
110+
},
111+
spec: {
112+
scoreV3: '5.5',
113+
severity: 'Low',
114+
identifiedImages: 100,
115+
impactedImages: 70,
116+
}
117+
},
118+
{
119+
id: 'CVE-2017-5328',
120+
metadata: {
121+
name: 'CVE-2017-5328',
122+
},
123+
spec: {
124+
scoreV3: '4.3',
125+
severity: 'Low',
126+
identifiedImages: 50,
127+
impactedImages: 65,
128+
}
129+
},
130+
{
131+
id: 'CVE-2024-12345',
132+
metadata: {
133+
name: 'CVE-2024-12345',
134+
},
135+
spec: {
136+
scoreV3: '9.8',
137+
severity: 'Critical',
138+
identifiedImages: 150,
139+
impactedImages: 145,
140+
}
141+
}
142+
];

pkg/sbombastic-image-vulnerability-scanner/formatters/ImpactedCell.vue

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<span>{{ value }}</span>
55
<BlockPercentageBarAlt
66
:ticks="col.formatterParams?.ticks || 10"
7-
:percentage="(row.totalImages && value) ? (value / row.totalImages) * 100 : 0"
7+
:percentage="(row.spec.totalImages && value) ? (value / row.spec.totalImages) * 100 : 0"
88
/>
99
</div>
1010
</div>
@@ -31,12 +31,6 @@
3131
required: true
3232
}
3333
},
34-
computed: {
35-
vulnerability() {
36-
console.log('col', this.col);
37-
return this.value;
38-
}
39-
}
4034
};
4135
</script>
4236

pkg/sbombastic-image-vulnerability-scanner/pages/c/_cluster/sbombastic-image-vulnerability-scanner/Vulnerabilities.vue

Lines changed: 8 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
<div class="summary-section">
77
<TopSevereVulnerabilitiesChart
88
:topSevereVulnerabilities="topSevereVulnerabilities"
9-
:totalVulnerabilities="totalVulnerabilities"
109
/>
1110
<SeverityDistribution :chartData="severityDistribution" />
1211
</div>
@@ -29,6 +28,7 @@
2928
import SeverityDistribution from '@sbombastic-image-vulnerability-scanner/components/SeverityDistribution.vue';
3029
import TopSevereVulnerabilitiesChart from '@sbombastic-image-vulnerability-scanner/components/TopSevereVulnerabilitiesChart.vue';
3130
import { VULNERABILITIES_TABLE } from '@sbombastic-image-vulnerability-scanner/config/table-headers';
31+
import { severityDistribution, cves } from '@sbombastic-image-vulnerability-scanner/data/sbombastic.rancher.io.vulnerability';
3232
3333
export default {
3434
name: 'vulnerabilities',
@@ -40,85 +40,8 @@
4040
data() {
4141
return {
4242
VULNERABILITIES_TABLE,
43-
severityDistribution: {
44-
critical: 120,
45-
high: 54,
46-
medium: 23,
47-
low: 65,
48-
none: 200,
49-
},
50-
cves: [
51-
{
52-
cve: 'CVE-2017-5337',
53-
scoreV3: '9.9',
54-
identifiedImages: 106,
55-
impactedImages: 103,
56-
severity: 'Critical',
57-
},
58-
{
59-
cve: 'CVE-2017-5336',
60-
scoreV3: '9.6',
61-
identifiedImages: 234,
62-
impactedImages: 98,
63-
severity: 'Critical',
64-
},
65-
{
66-
cve: 'CVE-2017-5335',
67-
scoreV3: '8.8',
68-
identifiedImages: 321,
69-
impactedImages: 95,
70-
severity: 'High',
71-
},
72-
{
73-
cve: 'CVE-2017-5334',
74-
scoreV3: '8.6',
75-
identifiedImages: 450,
76-
impactedImages: 92,
77-
severity: 'High',
78-
},
79-
{
80-
cve: 'CVE-2017-5333',
81-
scoreV3: '8.5',
82-
identifiedImages: 300,
83-
impactedImages: 90,
84-
severity: 'High',
85-
},
86-
{
87-
cve: 'CVE-2017-5332',
88-
scoreV3: '7.5',
89-
identifiedImages: 250,
90-
impactedImages: 85,
91-
severity: 'Medium',
92-
},
93-
{
94-
cve: 'CVE-2017-5331',
95-
scoreV3: '7.2',
96-
identifiedImages: 200,
97-
impactedImages: 80,
98-
severity: 'Medium',
99-
},
100-
{
101-
cve: 'CVE-2017-5330',
102-
scoreV3: '6.8',
103-
identifiedImages: 150,
104-
impactedImages: 75,
105-
severity: 'Medium',
106-
},
107-
{
108-
cve: 'CVE-2017-5329',
109-
scoreV3: '5.5',
110-
identifiedImages: 100,
111-
impactedImages: 70,
112-
severity: 'Low',
113-
},
114-
{
115-
cve: 'CVE-2017-5328',
116-
scoreV3: '4.3',
117-
identifiedImages: 50,
118-
impactedImages: 65,
119-
severity: 'Low',
120-
},
121-
],
43+
severityDistribution,
44+
cves,
12245
};
12346
},
12447
computed: {
@@ -128,11 +51,14 @@
12851
vulnerabilities() {
12952
return this.cves.map(vul => ({
13053
...vul,
131-
totalImages: this.totalVulnerabilities
54+
spec: {
55+
...vul.spec,
56+
totalImages: this.totalVulnerabilities
57+
}
13258
}));
13359
},
13460
topSevereVulnerabilities() {
135-
return this.vulnerabilities.sort((a, b) => Number(b.scoreV3) - Number(a.scoreV3)).slice(0, 5);
61+
return this.vulnerabilities.sort((a, b) => Number(b.spec.scoreV3) - Number(a.spec.scoreV3)).slice(0, 5);
13662
},
13763
},
13864
}

0 commit comments

Comments
 (0)