Skip to content

Commit

Permalink
Update vuln model to match what is actually returned by REST API
Browse files Browse the repository at this point in the history
  • Loading branch information
Gavin Killough committed Mar 2, 2022
1 parent 98143d8 commit c6058f2
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 5 deletions.
6 changes: 5 additions & 1 deletion dist/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,7 @@ class BlackduckApiService {
}
getComponentVulnerabilties(bearerToken, componentVersion) {
return __awaiter(this, void 0, void 0, function* () {
// Accept: application/vnd.blackducksoftware.vulnerability-4+json
return this.get(bearerToken, `${componentVersion._meta.href}/vulnerabilities`);
});
}
Expand Down Expand Up @@ -357,7 +358,10 @@ function createComponentVulnerabilityReports(policyViolatingVulnerabilities, com
}
else {
const violatingPolicyVulnerabilityNames = policyViolatingVulnerabilities.map(vulnerability => vulnerability.name);
vulnerabilityReport = componentVulnerabilities.map(vulnerability => createVulnerabilityReport(vulnerability.vulnerabilityName, violatingPolicyVulnerabilityNames.includes(vulnerability.vulnerabilityName), vulnerability._meta.href, vulnerability.baseScore, vulnerability.severity));
vulnerabilityReport = componentVulnerabilities.map(vulnerability => {
const compVulnBaseScore = vulnerability.useCvss3 ? vulnerability.cvss3.baseScore : vulnerability.cvss2.baseScore;
return createVulnerabilityReport(vulnerability.name, violatingPolicyVulnerabilityNames.includes(vulnerability.name), vulnerability._meta.href, compVulnBaseScore, vulnerability.severity);
});
}
return vulnerabilityReport;
}
Expand Down
2 changes: 1 addition & 1 deletion dist/index.js.map

Large diffs are not rendered by default.

12 changes: 10 additions & 2 deletions src/blackduck-api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,14 +44,21 @@ export interface IComponentVersion {
}

export interface IComponentVulnerability {
vulnerabilityName: string
baseScore: number
name: string
severity: string
useCvss3: boolean
cvss2: ICvssView
cvss3: ICvssView
_meta: {
href: string
}
}

export interface ICvssView {
baseScore: number
severity: string
}

export interface IRapidScanResults {
componentName: string
versionName: string
Expand Down Expand Up @@ -144,6 +151,7 @@ export class BlackduckApiService {
}

async getComponentVulnerabilties(bearerToken: string, componentVersion: IComponentVersion): Promise<IRestResponse<IBlackduckItemArray<IComponentVulnerability>>> {
// Accept: application/vnd.blackducksoftware.vulnerability-4+json
return this.get(bearerToken, `${componentVersion._meta.href}/vulnerabilities`)
}

Expand Down
5 changes: 4 additions & 1 deletion src/detect/report.ts
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,10 @@ export function createComponentVulnerabilityReports(policyViolatingVulnerabiliti
vulnerabilityReport = policyViolatingVulnerabilities.map(vulnerability => createVulnerabilityReport(vulnerability.name, true))
} else {
const violatingPolicyVulnerabilityNames = policyViolatingVulnerabilities.map(vulnerability => vulnerability.name)
vulnerabilityReport = componentVulnerabilities.map(vulnerability => createVulnerabilityReport(vulnerability.vulnerabilityName, violatingPolicyVulnerabilityNames.includes(vulnerability.vulnerabilityName), vulnerability._meta.href, vulnerability.baseScore, vulnerability.severity))
vulnerabilityReport = componentVulnerabilities.map(vulnerability => {
const compVulnBaseScore = vulnerability.useCvss3 ? vulnerability.cvss3.baseScore : vulnerability.cvss2.baseScore;
return createVulnerabilityReport(vulnerability.name, violatingPolicyVulnerabilityNames.includes(vulnerability.name), vulnerability._meta.href, compVulnBaseScore, vulnerability.severity)
})
}

return vulnerabilityReport
Expand Down

0 comments on commit c6058f2

Please sign in to comment.