diff --git a/internal/output/__snapshots__/html_test.snap b/internal/output/__snapshots__/html_test.snap deleted file mode 100755 index 6750b48561..0000000000 --- a/internal/output/__snapshots__/html_test.snap +++ /dev/null @@ -1,13810 +0,0 @@ - -[TestPrintHTMLResults_WithLicenseViolations/multiple_sources_with_a_mixed_count_of_packages,_no_license_violations - 1] - - - - - Vulnerability Scan Report - - - - - - - - -
-
- -

Vulnerability Scan Report

-
-

Scanning Results

-

- - No vulnerability found. - -

-
- - -
- -
-

Vulnerable Package Summary

- - - - - - - - - - -
PackageEcosystemInstalled versionFixed versionVulnerability Count
- - -
- -
- -
-

npm

-
- -

Source: :path/to/my/first/lockfile

-

- Found 0 package(s) with issues, - 0 known vulnerabilities found. -

- - - - - - - -

Source: :path/to/my/second/lockfile

-

- Found 0 package(s) with issues, - 0 known vulnerabilities found. -

- - - - - - - -

Source: :path/to/my/third/lockfile

-

- Found 0 package(s) with issues, - 0 known vulnerabilities found. -

- - - - - - - -
-
- -
-
- - - - ---- - -[TestPrintHTMLResults_WithLicenseViolations/multiple_sources_with_a_mixed_count_of_packages,_some_license_violations - 1] - - - - - Vulnerability Scan Report - - - - - - - - -
-
- -

Vulnerability Scan Report

-
-

Scanning Results

-

- - No vulnerability found. - -

-
- - -
- -
-

Vulnerable Package Summary

- - - - - - - - - - -
PackageEcosystemInstalled versionFixed versionVulnerability Count
- - -
- -
- -
-

npm

-
- -

Source: :path/to/my/first/lockfile

-

- Found 0 package(s) with issues, - 0 known vulnerabilities found. -

- - - - - - - -

Source: :path/to/my/second/lockfile

-

- Found 0 package(s) with issues, - 0 known vulnerabilities found. -

- - - - - - - -

Source: :path/to/my/third/lockfile

-

- Found 0 package(s) with issues, - 0 known vulnerabilities found. -

- - - - - - - -
-
- -
-
- - - - ---- - -[TestPrintHTMLResults_WithLicenseViolations/multiple_sources_with_a_mixed_count_of_packages,_some_license_violations#01 - 1] - - - - - Vulnerability Scan Report - - - - - - - - -
-
- -

Vulnerability Scan Report

-
-

Scanning Results

-

- - No vulnerability found. - -

-
- - -
- -
-

Vulnerable Package Summary

- - - - - - - - - - -
PackageEcosystemInstalled versionFixed versionVulnerability Count
- - -
- -
- -
-

npm

-
- -

Source: :path/to/my/first/lockfile

-

- Found 0 package(s) with issues, - 0 known vulnerabilities found. -

- - - - - - - -

Source: :path/to/my/second/lockfile

-

- Found 0 package(s) with issues, - 0 known vulnerabilities found. -

- - - - - - - -

Source: :path/to/my/third/lockfile

-

- Found 0 package(s) with issues, - 0 known vulnerabilities found. -

- - - - - - - -
-
- -
-
- - - - ---- - -[TestPrintHTMLResults_WithLicenseViolations/multiple_sources_with_a_mixed_count_of_packages_across_ecosystems,_some_license_violations - 1] - - - - - Vulnerability Scan Report - - - - - - - - -
-
- -

Vulnerability Scan Report

-
-

Scanning Results

-

- - No vulnerability found. - -

-
- - -
- -
-

Vulnerable Package Summary

- - - - - - - - - - -
PackageEcosystemInstalled versionFixed versionVulnerability Count
- - -
- -
- -
-

NuGet

-
- -

Source: :path/to/my/third/lockfile

-

- Found 0 package(s) with issues, - 0 known vulnerabilities found. -

- - - - - - - -
-
- -
-

Packagist

-
- -

Source: :path/to/my/first/lockfile

-

- Found 0 package(s) with issues, - 0 known vulnerabilities found. -

- - - - - - - -
-
- -
-

npm

-
- -

Source: :path/to/my/second/lockfile

-

- Found 0 package(s) with issues, - 0 known vulnerabilities found. -

- - - - - - - -
-
- -
-
- - - - ---- - -[TestPrintHTMLResults_WithLicenseViolations/multiple_sources_with_a_mixed_count_of_packages_and_groups,_some_license_violations - 1] - - - - - Vulnerability Scan Report - - - - - - - - -
-
- -

Vulnerability Scan Report

-
-

Scanning Results

-

- - No vulnerability found. - -

-
- - -
- -
-

Vulnerable Package Summary

- - - - - - - - - - -
PackageEcosystemInstalled versionFixed versionVulnerability Count
- - -
- -
- -
-

npm

-
- -

Source: :path/to/my/first/lockfile

-

- Found 0 package(s) with issues, - 0 known vulnerabilities found. -

- - - - - - - -

Source: :path/to/my/second/lockfile

-

- Found 0 package(s) with issues, - 0 known vulnerabilities found. -

- - - - - - - -

Source: :path/to/my/third/lockfile

-

- Found 0 package(s) with issues, - 0 known vulnerabilities found. -

- - - - - - - -
-
- -
-
- - - - ---- - -[TestPrintHTMLResults_WithLicenseViolations/multiple_sources_with_no_packages - 1] - - - - - Vulnerability Scan Report - - - - - - - - -
-
- -

Vulnerability Scan Report

-
-

Scanning Results

-

- - No vulnerability found. - -

-
- - -
- -
-

Vulnerable Package Summary

- - - - - - - - - - -
PackageEcosystemInstalled versionFixed versionVulnerability Count
- - -
- -
- -
-

-
- -

Source: :path/to/my/first/lockfile

-

- Found 0 package(s) with issues, - 0 known vulnerabilities found. -

- - - - - - - -

Source: :path/to/my/second/lockfile

-

- Found 0 package(s) with issues, - 0 known vulnerabilities found. -

- - - - - - - -

Source: :path/to/my/third/lockfile

-

- Found 0 package(s) with issues, - 0 known vulnerabilities found. -

- - - - - - - -
-
- -
-
- - - - ---- - -[TestPrintHTMLResults_WithLicenseViolations/no_sources - 1] - - - - - Vulnerability Scan Report - - - - - - - - -
-
- -

Vulnerability Scan Report

-
-

Scanning Results

-

- - No vulnerability found. - -

-
- - -
- -
-

Vulnerable Package Summary

- - - - - - - - - - -
PackageEcosystemInstalled versionFixed versionVulnerability Count
- - -
- -
- -
-
- - - - ---- - -[TestPrintHTMLResults_WithLicenseViolations/one_source_with_no_packages - 1] - - - - - Vulnerability Scan Report - - - - - - - - -
-
- -

Vulnerability Scan Report

-
-

Scanning Results

-

- - No vulnerability found. - -

-
- - -
- -
-

Vulnerable Package Summary

- - - - - - - - - - -
PackageEcosystemInstalled versionFixed versionVulnerability Count
- - -
- -
- -
-

-
- -

Source: :path/to/my/first/lockfile

-

- Found 0 package(s) with issues, - 0 known vulnerabilities found. -

- - - - - - - -
-
- -
-
- - - - ---- - -[TestPrintHTMLResults_WithLicenseViolations/one_source_with_one_package,_no_license_violations - 1] - - - - - Vulnerability Scan Report - - - - - - - - -
-
- -

Vulnerability Scan Report

-
-

Scanning Results

-

- - No vulnerability found. - -

-
- - -
- -
-

Vulnerable Package Summary

- - - - - - - - - - -
PackageEcosystemInstalled versionFixed versionVulnerability Count
- - -
- -
- -
-

npm

-
- -

Source: :path/to/my/first/lockfile

-

- Found 0 package(s) with issues, - 0 known vulnerabilities found. -

- - - - - - - -
-
- -
-
- - - - ---- - -[TestPrintHTMLResults_WithLicenseViolations/one_source_with_one_package,_no_licenses - 1] - - - - - Vulnerability Scan Report - - - - - - - - -
-
- -

Vulnerability Scan Report

-
-

Scanning Results

-

- - No vulnerability found. - -

-
- - -
- -
-

Vulnerable Package Summary

- - - - - - - - - - -
PackageEcosystemInstalled versionFixed versionVulnerability Count
- - -
- -
- -
-

npm

-
- -

Source: :path/to/my/first/lockfile

-

- Found 0 package(s) with issues, - 0 known vulnerabilities found. -

- - - - - - - -
-
- -
-
- - - - ---- - -[TestPrintHTMLResults_WithLicenseViolations/one_source_with_one_package_and_an_unknown_license - 1] - - - - - Vulnerability Scan Report - - - - - - - - -
-
- -

Vulnerability Scan Report

-
-

Scanning Results

-

- - No vulnerability found. - -

-
- - -
- -
-

Vulnerable Package Summary

- - - - - - - - - - -
PackageEcosystemInstalled versionFixed versionVulnerability Count
- - -
- -
- -
-

npm

-
- -

Source: :path/to/my/first/lockfile

-

- Found 0 package(s) with issues, - 0 known vulnerabilities found. -

- - - - - - - -
-
- -
-
- - - - ---- - -[TestPrintHTMLResults_WithLicenseViolations/one_source_with_one_package_and_multiple_license_violations - 1] - - - - - Vulnerability Scan Report - - - - - - - - -
-
- -

Vulnerability Scan Report

-
-

Scanning Results

-

- - No vulnerability found. - -

-
- - -
- -
-

Vulnerable Package Summary

- - - - - - - - - - -
PackageEcosystemInstalled versionFixed versionVulnerability Count
- - -
- -
- -
-

npm

-
- -

Source: :path/to/my/first/lockfile

-

- Found 0 package(s) with issues, - 0 known vulnerabilities found. -

- - - - - - - -
-
- -
-
- - - - ---- - -[TestPrintHTMLResults_WithLicenseViolations/one_source_with_one_package_and_one_license_violation - 1] - - - - - Vulnerability Scan Report - - - - - - - - -
-
- -

Vulnerability Scan Report

-
-

Scanning Results

-

- - No vulnerability found. - -

-
- - -
- -
-

Vulnerable Package Summary

- - - - - - - - - - -
PackageEcosystemInstalled versionFixed versionVulnerability Count
- - -
- -
- -
-

npm

-
- -

Source: :path/to/my/first/lockfile

-

- Found 0 package(s) with issues, - 0 known vulnerabilities found. -

- - - - - - - -
-
- -
-
- - - - ---- - -[TestPrintHTMLResults_WithLicenseViolations/one_source_with_one_package_and_one_license_violation_(dev) - 1] - - - - - Vulnerability Scan Report - - - - - - - - -
-
- -

Vulnerability Scan Report

-
-

Scanning Results

-

- - No vulnerability found. - -

-
- - -
- -
-

Vulnerable Package Summary

- - - - - - - - - - -
PackageEcosystemInstalled versionFixed versionVulnerability Count
- - -
- -
- -
-

npm

-
- -

Source: :path/to/my/first/lockfile

-

- Found 0 package(s) with issues, - 0 known vulnerabilities found. -

- - - - - - - -
-
- -
-
- - - - ---- - -[TestPrintHTMLResults_WithLicenseViolations/two_sources_with_packages,_one_license_violation - 1] - - - - - Vulnerability Scan Report - - - - - - - - -
-
- -

Vulnerability Scan Report

-
-

Scanning Results

-

- - No vulnerability found. - -

-
- - -
- -
-

Vulnerable Package Summary

- - - - - - - - - - -
PackageEcosystemInstalled versionFixed versionVulnerability Count
- - -
- -
- -
-

npm

-
- -

Source: :path/to/my/first/lockfile

-

- Found 0 package(s) with issues, - 0 known vulnerabilities found. -

- - - - - - - -

Source: :path/to/my/second/lockfile

-

- Found 0 package(s) with issues, - 0 known vulnerabilities found. -

- - - - - - - -
-
- -
-
- - - - ---- - -[TestPrintHTMLResults_WithMixedIssues/multiple_sources_with_a_mixed_count_of_packages,_some_called_vulnerabilities_and_license_violations - 1] - - - - - Vulnerability Scan Report - - - - - - - - -
-
- -

Vulnerability Scan Report

-
-

Scanning Results

-

- - Total 1 vulnerability found - (0 has fix available), - CRITICAL: 0, HIGH: 0, MEDIUM: 0, LOW: 0, UNKNOWN: 1. - -

-
- - -
- -
-

Vulnerable Package Summary

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PackageEcosystemInstalled versionFixed versionVulnerability Count
mine2npm3.2.5 - No fix available - 0C | 0H | 0M | 0L | 1U
-
-

Source: path/to/my/second/lockfile

-

Vulnerabilities:

- - -

OSV-2 - (UNKNOWN) has no fix available

- - -
-
- - -
- -
- -
-

npm

-
- -

Source: :path/to/my/first/lockfile

-

- Found 0 package(s) with issues, - 0 known vulnerabilities found. -

- - - - - - -
- Show/Hide Uncalled vulnerabilities -
-

Uncalled vulnerabilities

-

- Found 1 package(s) with issues, - 1 known vulnerabilities found. -

- - - - - - - - - - - - - - - - - - - - - -
IDpackageInstalled versionFixed versionSeverity
OSV-1mine11.2.3No fix availableUNKNOWN - -
-
- - - - - - -
-
- -
-
- - -

Source: :path/to/my/second/lockfile

-

- Found 1 package(s) with issues, - 1 known vulnerabilities found. -

- - - - - - - - - - - - - - - - - - - - - - - - - -
IDpackageInstalled versionFixed versionSeverity
OSV-2mine23.2.5No fix availableUNKNOWN - -
-
- - - - - - -
-
- - - - - -

Source: :path/to/my/third/lockfile

-

- Found 0 package(s) with issues, - 0 known vulnerabilities found. -

- - - - - - -
- Show/Hide Uncalled vulnerabilities -
-

Uncalled vulnerabilities

-

- Found 1 package(s) with issues, - 1 known vulnerabilities found. -

- - - - - - - - - - - - - - - - - - - - - -
IDpackageInstalled versionFixed versionSeverity
OSV-1mine11.2.3No fix availableUNKNOWN - -
-
- - - - - - -
-
- -
-
- - -
-
- -
-
- - - - ---- - -[TestPrintHTMLResults_WithMixedIssues/multiple_sources_with_a_mixed_count_of_packages,_some_vulnerabilities_and_license_violations - 1] - - - - - Vulnerability Scan Report - - - - - - - - -
-
- -

Vulnerability Scan Report

-
-

Scanning Results

-

- - Total 3 vulnerabilities found - (0 has/have fix available), - CRITICAL: 0, HIGH: 0, MEDIUM: 0, LOW: 0, UNKNOWN: 3. - -

-
- - -
- -
-

Vulnerable Package Summary

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PackageEcosystemInstalled versionFixed versionVulnerability Count
mine1npm1.2.3 - No fix available - 0C | 0H | 0M | 0L | 1U
-
-

Source: path/to/my/first/lockfile

-

Vulnerabilities:

- - -

OSV-1 - (UNKNOWN) has no fix available

- - -
-
mine2npm3.2.5 - No fix available - 0C | 0H | 0M | 0L | 1U
-
-

Source: path/to/my/second/lockfile

-

Vulnerabilities:

- - -

OSV-2 - (UNKNOWN) has no fix available

- - -
-
mine1npm1.2.3 - No fix available - 0C | 0H | 0M | 0L | 1U
-
-

Source: path/to/my/third/lockfile

-

Vulnerabilities:

- - -

OSV-1 - (UNKNOWN) has no fix available

- - -
-
- - -
- -
- -
-

npm

-
- -

Source: :path/to/my/first/lockfile

-

- Found 1 package(s) with issues, - 1 known vulnerabilities found. -

- - - - - - - - - - - - - - - - - - - - - - - - - -
IDpackageInstalled versionFixed versionSeverity
OSV-1mine11.2.3No fix availableUNKNOWN - -
-
- - - - - - -
-
- - - - - -

Source: :path/to/my/second/lockfile

-

- Found 1 package(s) with issues, - 1 known vulnerabilities found. -

- - - - - - - - - - - - - - - - - - - - - - - - - -
IDpackageInstalled versionFixed versionSeverity
OSV-2mine23.2.5No fix availableUNKNOWN - -
-
- - - - - - -
-
- - - - - -

Source: :path/to/my/third/lockfile

-

- Found 1 package(s) with issues, - 1 known vulnerabilities found. -

- - - - - - - - - - - - - - - - - - - - - - - - - -
IDpackageInstalled versionFixed versionSeverity
OSV-1mine11.2.3No fix availableUNKNOWN - -
-
- - - - - - -
-
- - - - - -
-
- -
-
- - - - ---- - -[TestPrintHTMLResults_WithMixedIssues/one_source_with_one_package,_one_called_vulnerability,_and_one_license_violation - 1] - - - - - Vulnerability Scan Report - - - - - - - - -
-
- -

Vulnerability Scan Report

-
-

Scanning Results

-

- - Total 1 vulnerability found - (0 has fix available), - CRITICAL: 0, HIGH: 0, MEDIUM: 0, LOW: 0, UNKNOWN: 1. - -

-
- - -
- -
-

Vulnerable Package Summary

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
PackageEcosystemInstalled versionFixed versionVulnerability Count
mine1npm1.2.3 - No fix available - 0C | 0H | 0M | 0L | 1U
-
-

Source: path/to/my/first/lockfile

-

Vulnerabilities:

- - -

OSV-1 - (UNKNOWN) has no fix available

- - -
-
- - -
- -
- -
-

npm

-
- -

Source: :path/to/my/first/lockfile

-

- Found 1 package(s) with issues, - 1 known vulnerabilities found. -

- - - - - - - - - - - - - - - - - - - - - - - - - -
IDpackageInstalled versionFixed versionSeverity
OSV-1mine11.2.3No fix availableUNKNOWN - -
-
- - - - - - -
-
- - - - - -
-
- -
-
- - - - ---- - -[TestPrintHTMLResults_WithMixedIssues/one_source_with_one_package,_one_uncalled_vulnerability,_and_one_license_violation - 1] - - - - - Vulnerability Scan Report - - - - - - - - -
-
- -

Vulnerability Scan Report

-
-

Scanning Results

-

- - No vulnerability found. - -

-
- - -
- -
-

Vulnerable Package Summary

- - - - - - - - - - - - -
PackageEcosystemInstalled versionFixed versionVulnerability Count
- - -
- -
- -
-

npm

-
- -

Source: :path/to/my/first/lockfile

-

- Found 0 package(s) with issues, - 0 known vulnerabilities found. -

- - - - - - -
- Show/Hide Uncalled vulnerabilities -
-

Uncalled vulnerabilities

-

- Found 1 package(s) with issues, - 1 known vulnerabilities found. -

- - - - - - - - - - - - - - - - - - - - - -
IDpackageInstalled versionFixed versionSeverity
OSV-1mine11.2.3No fix availableUNKNOWN - -
-
- - - - - - -
-
- -
-
- - -
-
- -
-
- - - - ---- - -[TestPrintHTMLResults_WithMixedIssues/one_source_with_one_package,_one_vulnerability,_and_one_license_violation - 1] - - - - - Vulnerability Scan Report - - - - - - - - -
-
- -

Vulnerability Scan Report

-
-

Scanning Results

-

- - Total 1 vulnerability found - (0 has fix available), - CRITICAL: 0, HIGH: 0, MEDIUM: 0, LOW: 0, UNKNOWN: 1. - -

-
- - -
- -
-

Vulnerable Package Summary

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
PackageEcosystemInstalled versionFixed versionVulnerability Count
mine1npm1.2.3 - No fix available - 0C | 0H | 0M | 0L | 1U
-
-

Source: path/to/my/first/lockfile

-

Vulnerabilities:

- - -

OSV-1 - (UNKNOWN) has no fix available

- - -
-
- - -
- -
- -
-

npm

-
- -

Source: :path/to/my/first/lockfile

-

- Found 1 package(s) with issues, - 1 known vulnerabilities found. -

- - - - - - - - - - - - - - - - - - - - - - - - - -
IDpackageInstalled versionFixed versionSeverity
OSV-1mine11.2.3No fix availableUNKNOWN - -
-
- - - - - - -
-
- - - - - -
-
- -
-
- - - - ---- - -[TestPrintHTMLResults_WithMixedIssues/two_sources_with_packages,_one_vulnerability,_one_license_violation - 1] - - - - - Vulnerability Scan Report - - - - - - - - -
-
- -

Vulnerability Scan Report

-
-

Scanning Results

-

- - Total 1 vulnerability found - (0 has fix available), - CRITICAL: 0, HIGH: 0, MEDIUM: 0, LOW: 0, UNKNOWN: 1. - -

-
- - -
- -
-

Vulnerable Package Summary

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
PackageEcosystemInstalled versionFixed versionVulnerability Count
mine1npm1.2.3 - No fix available - 0C | 0H | 0M | 0L | 1U
-
-

Source: path/to/my/first/lockfile

-

Vulnerabilities:

- - -

OSV-1 - (UNKNOWN) has no fix available

- - -
-
- - -
- -
- -
-

npm

-
- -

Source: :path/to/my/first/lockfile

-

- Found 1 package(s) with issues, - 1 known vulnerabilities found. -

- - - - - - - - - - - - - - - - - - - - - - - - - -
IDpackageInstalled versionFixed versionSeverity
OSV-1mine11.2.3No fix availableUNKNOWN - -
-
- - - - - - -
-
- - - - - -

Source: :path/to/my/second/lockfile

-

- Found 0 package(s) with issues, - 0 known vulnerabilities found. -

- - - - - - - -
-
- -
-
- - - - ---- - -[TestPrintHTMLResults_WithVulnerabilities/multiple_sources_with_a_mixed_count_of_grouped_packages,_and_multiple_vulnerabilities - 1] - - - - - Vulnerability Scan Report - - - - - - - - -
-
- -

Vulnerability Scan Report

-
-

Scanning Results

-

- - Total 6 vulnerabilities found - (0 has/have fix available), - CRITICAL: 0, HIGH: 0, MEDIUM: 0, LOW: 0, UNKNOWN: 6. - -

-
- - -
- -
-

Vulnerable Package Summary

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PackageEcosystemInstalled versionFixed versionVulnerability Count
mine1npm1.2.3 - No fix available - 0C | 0H | 0M | 0L | 3U
-
-

Source: path/to/my/first/lockfile

-

Vulnerabilities:

- - -

OSV-1 - (UNKNOWN) has no fix available

- - - -

OSV-5 - (UNKNOWN) has no fix available

- - - -

OSV-1 - (UNKNOWN) has no fix available

- - -
-
mine2npm3.2.5 - No fix available - 0C | 0H | 0M | 0L | 1U
-
-

Source: path/to/my/second/lockfile

-

Vulnerabilities:

- - -

OSV-2 - (UNKNOWN) has no fix available

- - -
-
mine3npm0.4.1 - No fix available - 0C | 0H | 0M | 0L | 2U
-
-

Source: path/to/my/second/lockfile

-

Vulnerabilities:

- - -

OSV-3 - (UNKNOWN) has no fix available

- - - -

OSV-5 - (UNKNOWN) has no fix available

- - -
-
- - -
- -
- -
-

npm

-
- -

Source: :path/to/my/first/lockfile

-

- Found 1 package(s) with issues, - 3 known vulnerabilities found. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IDpackageInstalled versionFixed versionSeverity
OSV-1mine11.2.3No fix availableUNKNOWN - -
-
- - - - - - -
-
OSV-5mine11.2.3No fix availableUNKNOWN - -
-
- - - - - - -
-
OSV-1mine11.2.2No fix availableUNKNOWN - -
-
- - - - - - -
-
- - - - - -

Source: :path/to/my/second/lockfile

-

- Found 2 package(s) with issues, - 3 known vulnerabilities found. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IDpackageInstalled versionFixed versionSeverity
OSV-2mine23.2.5No fix availableUNKNOWN - -
-
- - - - - - -
-
OSV-3mine30.4.1No fix availableUNKNOWN - -
-
- - - - - - -
-
OSV-5mine30.4.1No fix availableUNKNOWN - -
-
- - - - - - -
-
- - - - - -
-
- -
-
- - - - ---- - -[TestPrintHTMLResults_WithVulnerabilities/multiple_sources_with_a_mixed_count_of_packages,_and_multiple_vulnerabilities - 1] - - - - - Vulnerability Scan Report - - - - - - - - -
-
- -

Vulnerability Scan Report

-
-

Scanning Results

-

- - Total 6 vulnerabilities found - (0 has/have fix available), - CRITICAL: 0, HIGH: 0, MEDIUM: 0, LOW: 0, UNKNOWN: 6. - -

-
- - -
- -
-

Vulnerable Package Summary

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PackageEcosystemInstalled versionFixed versionVulnerability Count
mine1npm1.2.3 - No fix available - 0C | 0H | 0M | 0L | 3U
-
-

Source: path/to/my/first/lockfile

-

Vulnerabilities:

- - -

OSV-1 - (UNKNOWN) has no fix available

- - - -

OSV-5 - (UNKNOWN) has no fix available

- - - -

OSV-1 - (UNKNOWN) has no fix available

- - -
-
mine2npm3.2.5 - No fix available - 0C | 0H | 0M | 0L | 1U
-
-

Source: path/to/my/second/lockfile

-

Vulnerabilities:

- - -

OSV-2 - (UNKNOWN) has no fix available

- - -
-
mine3npm0.4.1 - No fix available - 0C | 0H | 0M | 0L | 2U
-
-

Source: path/to/my/second/lockfile

-

Vulnerabilities:

- - -

OSV-3 - (UNKNOWN) has no fix available

- - - -

OSV-5 - (UNKNOWN) has no fix available

- - -
-
- - -
- -
- -
-

npm

-
- -

Source: :path/to/my/first/lockfile

-

- Found 1 package(s) with issues, - 3 known vulnerabilities found. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IDpackageInstalled versionFixed versionSeverity
OSV-1mine11.2.3No fix availableUNKNOWN - -
-
- - - - - - -
-
OSV-5mine11.2.3No fix availableUNKNOWN - -
-
- - - - - - -
-
OSV-1mine11.2.2No fix availableUNKNOWN - -
-
- - - - - - -
-
- - - - - -

Source: :path/to/my/second/lockfile

-

- Found 2 package(s) with issues, - 3 known vulnerabilities found. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IDpackageInstalled versionFixed versionSeverity
OSV-2mine23.2.5No fix availableUNKNOWN - -
-
- - - - - - -
-
OSV-3mine30.4.1No fix availableUNKNOWN - -
-
- - - - - - -
-
OSV-5mine30.4.1No fix availableUNKNOWN - -
-
- - - - - - -
-
- - - - - -
-
- -
-
- - - - ---- - -[TestPrintHTMLResults_WithVulnerabilities/multiple_sources_with_a_mixed_count_of_packages,_no_vulnerabilities - 1] - - - - - Vulnerability Scan Report - - - - - - - - -
-
- -

Vulnerability Scan Report

-
-

Scanning Results

-

- - No vulnerability found. - -

-
- - -
- -
-

Vulnerable Package Summary

- - - - - - - - - - -
PackageEcosystemInstalled versionFixed versionVulnerability Count
- - -
- -
- -
-

npm

-
- -

Source: :path/to/my/first/lockfile

-

- Found 0 package(s) with issues, - 0 known vulnerabilities found. -

- - - - - - - -

Source: :path/to/my/second/lockfile

-

- Found 0 package(s) with issues, - 0 known vulnerabilities found. -

- - - - - - - -

Source: :path/to/my/third/lockfile

-

- Found 0 package(s) with issues, - 0 known vulnerabilities found. -

- - - - - - - -
-
- -
-
- - - - ---- - -[TestPrintHTMLResults_WithVulnerabilities/multiple_sources_with_a_mixed_count_of_packages,_some_vulnerabilities - 1] - - - - - Vulnerability Scan Report - - - - - - - - -
-
- -

Vulnerability Scan Report

-
-

Scanning Results

-

- - Total 3 vulnerabilities found - (0 has/have fix available), - CRITICAL: 0, HIGH: 0, MEDIUM: 0, LOW: 0, UNKNOWN: 3. - -

-
- - -
- -
-

Vulnerable Package Summary

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PackageEcosystemInstalled versionFixed versionVulnerability Count
mine1npm1.2.3 - No fix available - 0C | 0H | 0M | 0L | 1U
-
-

Source: path/to/my/first/lockfile

-

Vulnerabilities:

- - -

OSV-1 - (UNKNOWN) has no fix available

- - -
-
mine2npm3.2.5 - No fix available - 0C | 0H | 0M | 0L | 1U
-
-

Source: path/to/my/second/lockfile

-

Vulnerabilities:

- - -

OSV-2 - (UNKNOWN) has no fix available

- - -
-
mine1npm1.2.3 - No fix available - 0C | 0H | 0M | 0L | 1U
-
-

Source: path/to/my/third/lockfile

-

Vulnerabilities:

- - -

OSV-1 - (UNKNOWN) has no fix available

- - -
-
- - -
- -
- -
-

npm

-
- -

Source: :path/to/my/first/lockfile

-

- Found 1 package(s) with issues, - 1 known vulnerabilities found. -

- - - - - - - - - - - - - - - - - - - - - - - - - -
IDpackageInstalled versionFixed versionSeverity
OSV-1mine11.2.3No fix availableUNKNOWN - -
-
- - - - - - -
-
- - - - - -

Source: :path/to/my/second/lockfile

-

- Found 1 package(s) with issues, - 1 known vulnerabilities found. -

- - - - - - - - - - - - - - - - - - - - - - - - - -
IDpackageInstalled versionFixed versionSeverity
OSV-2mine23.2.5No fix availableUNKNOWN - -
-
- - - - - - -
-
- - - - - -

Source: :path/to/my/third/lockfile

-

- Found 1 package(s) with issues, - 1 known vulnerabilities found. -

- - - - - - - - - - - - - - - - - - - - - - - - - -
IDpackageInstalled versionFixed versionSeverity
OSV-1mine11.2.3No fix availableUNKNOWN - -
-
- - - - - - -
-
- - - - - -
-
- -
-
- - - - ---- - -[TestPrintHTMLResults_WithVulnerabilities/multiple_sources_with_a_mixed_count_of_packages_across_ecosystems,_and_multiple_vulnerabilities - 1] - - - - - Vulnerability Scan Report - - - - - - - - -
-
- -

Vulnerability Scan Report

-
-

Scanning Results

-

- - Total 6 vulnerabilities found - (0 has/have fix available), - CRITICAL: 0, HIGH: 0, MEDIUM: 0, LOW: 0, UNKNOWN: 6. - -

-
- - -
- -
-

Vulnerable Package Summary

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PackageEcosystemInstalled versionFixed versionVulnerability Count
author3/mine3NuGet0.4.1 - No fix available - 0C | 0H | 0M | 0L | 2U
-
-

Source: path/to/my/second/lockfile

-

Vulnerabilities:

- - -

OSV-3 - (UNKNOWN) has no fix available

- - - -

OSV-5 - (UNKNOWN) has no fix available

- - -
-
mine2NuGet3.2.5 - No fix available - 0C | 0H | 0M | 0L | 1U
-
-

Source: path/to/my/second/lockfile

-

Vulnerabilities:

- - -

OSV-2 - (UNKNOWN) has no fix available

- - -
-
author1/mine1Packagist1.2.3 - No fix available - 0C | 0H | 0M | 0L | 2U
-
-

Source: path/to/my/first/lockfile

-

Vulnerabilities:

- - -

OSV-1 - (UNKNOWN) has no fix available

- - - -

OSV-5 - (UNKNOWN) has no fix available

- - -
-
mine1Packagist1.2.2 - No fix available - 0C | 0H | 0M | 0L | 1U
-
-

Source: path/to/my/first/lockfile

-

Vulnerabilities:

- - -

OSV-1 - (UNKNOWN) has no fix available

- - -
-
- - -
- -
- -
-

NuGet

-
- -

Source: :path/to/my/second/lockfile

-

- Found 2 package(s) with issues, - 3 known vulnerabilities found. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IDpackageInstalled versionFixed versionSeverity
OSV-3author3/mine30.4.1No fix availableUNKNOWN - -
-
- - - - - - -
-
OSV-5author3/mine30.4.1No fix availableUNKNOWN - -
-
- - - - - - -
-
OSV-2mine23.2.5No fix availableUNKNOWN - -
-
- - - - - - -
-
- - - - - -
-
- -
-

Packagist

-
- -

Source: :path/to/my/first/lockfile

-

- Found 2 package(s) with issues, - 3 known vulnerabilities found. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IDpackageInstalled versionFixed versionSeverity
OSV-1author1/mine11.2.3No fix availableUNKNOWN - -
-
- - - - - - -
-
OSV-5author1/mine11.2.3No fix availableUNKNOWN - -
-
- - - - - - -
-
OSV-1mine11.2.2No fix availableUNKNOWN - -
-
- - - - - - -
-
- - - - - -
-
- -
-
- - - - ---- - -[TestPrintHTMLResults_WithVulnerabilities/multiple_sources_with_a_mixed_count_of_packages_across_ecosystems,_and_multiple_vulnerabilities,_but_some_uncalled - 1] - - - - - Vulnerability Scan Report - - - - - - - - -
-
- -

Vulnerability Scan Report

-
-

Scanning Results

-

- - Total 4 vulnerabilities found - (0 has/have fix available), - CRITICAL: 0, HIGH: 0, MEDIUM: 0, LOW: 0, UNKNOWN: 4. - -

-
- - -
- -
-

Vulnerable Package Summary

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PackageEcosystemInstalled versionFixed versionVulnerability Count
author3/mine3NuGet0.4.1 - No fix available - 0C | 0H | 0M | 0L | 2U
-
-

Source: path/to/my/second/lockfile

-

Vulnerabilities:

- - -

OSV-3 - (UNKNOWN) has no fix available

- - - -

OSV-5 - (UNKNOWN) has no fix available

- - -
-
mine2NuGet3.2.5 - No fix available - 0C | 0H | 0M | 0L | 1U
-
-

Source: path/to/my/second/lockfile

-

Vulnerabilities:

- - -

OSV-2 - (UNKNOWN) has no fix available

- - -
-
author1/mine1Packagist1.2.3 - No fix available - 0C | 0H | 0M | 0L | 1U
-
-

Source: path/to/my/first/lockfile

-

Vulnerabilities:

- - -

OSV-5 - (UNKNOWN) has no fix available

- - -
-
- - -
- -
- -
-

NuGet

-
- -

Source: :path/to/my/second/lockfile

-

- Found 2 package(s) with issues, - 3 known vulnerabilities found. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IDpackageInstalled versionFixed versionSeverity
OSV-3author3/mine30.4.1No fix availableUNKNOWN - -
-
- - - - - - -
-
OSV-5author3/mine30.4.1No fix availableUNKNOWN - -
-
- - - - - - -
-
OSV-2mine23.2.5No fix availableUNKNOWN - -
-
- - - - - - -
-
- - - - - -
-
- -
-

Packagist

-
- -

Source: :path/to/my/first/lockfile

-

- Found 2 package(s) with issues, - 1 known vulnerabilities found. -

- - - - - - - - - - - - - - - - - - - - - - - - - -
IDpackageInstalled versionFixed versionSeverity
OSV-5author1/mine11.2.3No fix availableUNKNOWN - -
-
- - - - - - -
-
- - - - -
- Show/Hide Uncalled vulnerabilities -
-

Uncalled vulnerabilities

-

- Found 1 package(s) with issues, - 2 known vulnerabilities found. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IDpackageInstalled versionFixed versionSeverity
OSV-1author1/mine11.2.3No fix availableUNKNOWN - -
-
- - - - - - -
-
OSV-1mine11.2.2No fix availableUNKNOWN - -
-
- - - - - - -
-
- -
-
- - -
-
- -
-
- - - - ---- - -[TestPrintHTMLResults_WithVulnerabilities/multiple_sources_with_no_packages - 1] - - - - - Vulnerability Scan Report - - - - - - - - -
-
- -

Vulnerability Scan Report

-
-

Scanning Results

-

- - No vulnerability found. - -

-
- - -
- -
-

Vulnerable Package Summary

- - - - - - - - - - -
PackageEcosystemInstalled versionFixed versionVulnerability Count
- - -
- -
- -
-

-
- -

Source: :path/to/my/first/lockfile

-

- Found 0 package(s) with issues, - 0 known vulnerabilities found. -

- - - - - - - -

Source: :path/to/my/second/lockfile

-

- Found 0 package(s) with issues, - 0 known vulnerabilities found. -

- - - - - - - -

Source: :path/to/my/third/lockfile

-

- Found 0 package(s) with issues, - 0 known vulnerabilities found. -

- - - - - - - -
-
- -
-
- - - - ---- - -[TestPrintHTMLResults_WithVulnerabilities/no_sources - 1] - - - - - Vulnerability Scan Report - - - - - - - - -
-
- -

Vulnerability Scan Report

-
-

Scanning Results

-

- - No vulnerability found. - -

-
- - -
- -
-

Vulnerable Package Summary

- - - - - - - - - - -
PackageEcosystemInstalled versionFixed versionVulnerability Count
- - -
- -
- -
-
- - - - ---- - -[TestPrintHTMLResults_WithVulnerabilities/one_source_with_no_packages - 1] - - - - - Vulnerability Scan Report - - - - - - - - -
-
- -

Vulnerability Scan Report

-
-

Scanning Results

-

- - No vulnerability found. - -

-
- - -
- -
-

Vulnerable Package Summary

- - - - - - - - - - -
PackageEcosystemInstalled versionFixed versionVulnerability Count
- - -
- -
- -
-

-
- -

Source: :path/to/my/first/lockfile

-

- Found 0 package(s) with issues, - 0 known vulnerabilities found. -

- - - - - - - -
-
- -
-
- - - - ---- - -[TestPrintHTMLResults_WithVulnerabilities/one_source_with_one_package,_no_vulnerabilities - 1] - - - - - Vulnerability Scan Report - - - - - - - - -
-
- -

Vulnerability Scan Report

-
-

Scanning Results

-

- - No vulnerability found. - -

-
- - -
- -
-

Vulnerable Package Summary

- - - - - - - - - - -
PackageEcosystemInstalled versionFixed versionVulnerability Count
- - -
- -
- -
-

npm

-
- -

Source: :path/to/my/first/lockfile

-

- Found 0 package(s) with issues, - 0 known vulnerabilities found. -

- - - - - - - -
-
- -
-
- - - - ---- - -[TestPrintHTMLResults_WithVulnerabilities/one_source_with_one_package,_one_uncalled_vulnerability,_and_one_called_vulnerability - 1] - - - - - Vulnerability Scan Report - - - - - - - - -
-
- -

Vulnerability Scan Report

-
-

Scanning Results

-

- - Total 1 vulnerability found - (0 has fix available), - CRITICAL: 0, HIGH: 0, MEDIUM: 0, LOW: 0, UNKNOWN: 1. - -

-
- - -
- -
-

Vulnerable Package Summary

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
PackageEcosystemInstalled versionFixed versionVulnerability Count
mine1npm1.2.3 - No fix available - 0C | 0H | 0M | 0L | 1U
-
-

Source: path/to/my/first/lockfile

-

Vulnerabilities:

- - -

OSV-1 - (UNKNOWN) has no fix available

- - -
-
- - -
- -
- -
-

npm

-
- -

Source: :path/to/my/first/lockfile

-

- Found 1 package(s) with issues, - 1 known vulnerabilities found. -

- - - - - - - - - - - - - - - - - - - - - - - - - -
IDpackageInstalled versionFixed versionSeverity
OSV-1mine11.2.3No fix availableUNKNOWN - -
-
- - - - - - -
-
- - - - -
- Show/Hide Uncalled vulnerabilities -
-

Uncalled vulnerabilities

-

- Found 1 package(s) with issues, - 1 known vulnerabilities found. -

- - - - - - - - - - - - - - - - - - - - - -
IDpackageInstalled versionFixed versionSeverity
GHSA-123mine11.2.3No fix availableUNKNOWN - -
-
- - - - - - -
-
- -
-
- - -
-
- -
-
- - - - ---- - -[TestPrintHTMLResults_WithVulnerabilities/one_source_with_one_package_and_one_called_vulnerability - 1] - - - - - Vulnerability Scan Report - - - - - - - - -
-
- -

Vulnerability Scan Report

-
-

Scanning Results

-

- - Total 1 vulnerability found - (0 has fix available), - CRITICAL: 0, HIGH: 0, MEDIUM: 0, LOW: 0, UNKNOWN: 1. - -

-
- - -
- -
-

Vulnerable Package Summary

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
PackageEcosystemInstalled versionFixed versionVulnerability Count
mine1npm1.2.3 - No fix available - 0C | 0H | 0M | 0L | 1U
-
-

Source: path/to/my/first/lockfile

-

Vulnerabilities:

- - -

OSV-1 - (UNKNOWN) has no fix available

- - -
-
- - -
- -
- -
-

npm

-
- -

Source: :path/to/my/first/lockfile

-

- Found 1 package(s) with issues, - 1 known vulnerabilities found. -

- - - - - - - - - - - - - - - - - - - - - - - - - -
IDpackageInstalled versionFixed versionSeverity
OSV-1mine11.2.3No fix availableUNKNOWN - -
-
- - - - - - -
-
- - - - - -
-
- -
-
- - - - ---- - -[TestPrintHTMLResults_WithVulnerabilities/one_source_with_one_package_and_one_uncalled_vulnerability - 1] - - - - - Vulnerability Scan Report - - - - - - - - -
-
- -

Vulnerability Scan Report

-
-

Scanning Results

-

- - No vulnerability found. - -

-
- - -
- -
-

Vulnerable Package Summary

- - - - - - - - - - - - -
PackageEcosystemInstalled versionFixed versionVulnerability Count
- - -
- -
- -
-

npm

-
- -

Source: :path/to/my/first/lockfile

-

- Found 0 package(s) with issues, - 0 known vulnerabilities found. -

- - - - - - -
- Show/Hide Uncalled vulnerabilities -
-

Uncalled vulnerabilities

-

- Found 1 package(s) with issues, - 1 known vulnerabilities found. -

- - - - - - - - - - - - - - - - - - - - - -
IDpackageInstalled versionFixed versionSeverity
OSV-1mine11.2.3No fix availableUNKNOWN - -
-
- - - - - - -
-
- -
-
- - -
-
- -
-
- - - - ---- - -[TestPrintHTMLResults_WithVulnerabilities/one_source_with_one_package_and_one_vulnerability - 1] - - - - - Vulnerability Scan Report - - - - - - - - -
-
- -

Vulnerability Scan Report

-
-

Scanning Results

-

- - Total 1 vulnerability found - (0 has fix available), - CRITICAL: 0, HIGH: 0, MEDIUM: 0, LOW: 0, UNKNOWN: 1. - -

-
- - -
- -
-

Vulnerable Package Summary

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
PackageEcosystemInstalled versionFixed versionVulnerability Count
mine1npm1.2.3 - No fix available - 0C | 0H | 0M | 0L | 1U
-
-

Source: path/to/my/first/lockfile

-

Vulnerabilities:

- - -

OSV-1 - (UNKNOWN) has no fix available

- - -
-
- - -
- -
- -
-

npm

-
- -

Source: :path/to/my/first/lockfile

-

- Found 1 package(s) with issues, - 1 known vulnerabilities found. -

- - - - - - - - - - - - - - - - - - - - - - - - - -
IDpackageInstalled versionFixed versionSeverity
OSV-1mine11.2.3No fix availableUNKNOWN - -
-
- - - - - - -
-
- - - - - -
-
- -
-
- - - - ---- - -[TestPrintHTMLResults_WithVulnerabilities/one_source_with_one_package_and_one_vulnerability_(dev) - 1] - - - - - Vulnerability Scan Report - - - - - - - - -
-
- -

Vulnerability Scan Report

-
-

Scanning Results

-

- - Total 1 vulnerability found - (0 has fix available), - CRITICAL: 0, HIGH: 0, MEDIUM: 0, LOW: 0, UNKNOWN: 1. - -

-
- - -
- -
-

Vulnerable Package Summary

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
PackageEcosystemInstalled versionFixed versionVulnerability Count
mine1npm1.2.3 - No fix available - 0C | 0H | 0M | 0L | 1U
-
-

Source: path/to/my/first/lockfile

-

Vulnerabilities:

- - -

OSV-1 - (UNKNOWN) has no fix available

- - -
-
- - -
- -
- -
-

npm

-
- -

Source: :path/to/my/first/lockfile

-

- Found 1 package(s) with issues, - 1 known vulnerabilities found. -

- - - - - - - - - - - - - - - - - - - - - - - - - -
IDpackageInstalled versionFixed versionSeverity
OSV-1mine11.2.3No fix availableUNKNOWN - -
-
- - - - - - -
-
- - - - - -
-
- -
-
- - - - ---- - -[TestPrintHTMLResults_WithVulnerabilities/one_source_with_one_package_and_two_aliases_of_a_single_uncalled_vulnerability - 1] - - - - - Vulnerability Scan Report - - - - - - - - -
-
- -

Vulnerability Scan Report

-
-

Scanning Results

-

- - No vulnerability found. - -

-
- - -
- -
-

Vulnerable Package Summary

- - - - - - - - - - - - -
PackageEcosystemInstalled versionFixed versionVulnerability Count
- - -
- -
- -
-

npm

-
- -

Source: :path/to/my/first/lockfile

-

- Found 0 package(s) with issues, - 0 known vulnerabilities found. -

- - - - - - -
- Show/Hide Uncalled vulnerabilities -
-

Uncalled vulnerabilities

-

- Found 1 package(s) with issues, - 1 known vulnerabilities found. -

- - - - - - - - - - - - - - - - - - - - - -
IDpackageInstalled versionFixed versionSeverity
OSV-1mine11.2.3No fix availableUNKNOWN - -
-
- -

Group IDs: GHSA-123

- - - - - - -
-
- -
-
- - -
-
- -
-
- - - - ---- - -[TestPrintHTMLResults_WithVulnerabilities/one_source_with_one_package_and_two_aliases_of_a_single_vulnerability - 1] - - - - - Vulnerability Scan Report - - - - - - - - -
-
- -

Vulnerability Scan Report

-
-

Scanning Results

-

- - Total 1 vulnerability found - (0 has fix available), - CRITICAL: 0, HIGH: 0, MEDIUM: 0, LOW: 0, UNKNOWN: 1. - -

-
- - -
- -
-

Vulnerable Package Summary

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
PackageEcosystemInstalled versionFixed versionVulnerability Count
mine1npm1.2.3 - No fix available - 0C | 0H | 0M | 0L | 1U
-
-

Source: path/to/my/first/lockfile

-

Vulnerabilities:

- - -

OSV-1 - (UNKNOWN) has no fix available

- - -
-
- - -
- -
- -
-

npm

-
- -

Source: :path/to/my/first/lockfile

-

- Found 1 package(s) with issues, - 1 known vulnerabilities found. -

- - - - - - - - - - - - - - - - - - - - - - - - - -
IDpackageInstalled versionFixed versionSeverity
OSV-1mine11.2.3No fix availableUNKNOWN - -
-
- -

Group IDs: GHSA-123

- - - - - - -
-
- - - - - -
-
- -
-
- - - - ---- - -[TestPrintHTMLResults_WithVulnerabilities/one_source_with_vulnerabilities,_some_missing_content - 1] - - - - - Vulnerability Scan Report - - - - - - - - -
-
- -

Vulnerability Scan Report

-
-

Scanning Results

-

- - Total 2 vulnerabilities found - (0 has/have fix available), - CRITICAL: 0, HIGH: 0, MEDIUM: 0, LOW: 0, UNKNOWN: 2. - -

-
- - -
- -
-

Vulnerable Package Summary

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PackageEcosystemInstalled versionFixed versionVulnerability Count
mine1npm1.2.3 - No fix available - 0C | 0H | 0M | 0L | 1U
-
-

Source: path/to/my/first/lockfile

-

Vulnerabilities:

- - -

OSV-1 - (UNKNOWN) has no fix available

- - -
-
mine3npm0.10.2-rc - No fix available - 0C | 0H | 0M | 0L | 1U
-
-

Source: path/to/my/first/lockfile

-

Vulnerabilities:

- - -

OSV-2 - (UNKNOWN) has no fix available

- - -
-
- - -
- -
- -
-

npm

-
- -

Source: :path/to/my/first/lockfile

-

- Found 2 package(s) with issues, - 2 known vulnerabilities found. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IDpackageInstalled versionFixed versionSeverity
OSV-1mine11.2.3No fix availableUNKNOWN - -
-
- - - - - - -

Description: This vulnerability allows for some very scary stuff to happen - seriously, you'd not believe it!

- -
-
OSV-2mine30.10.2-rcNo fix availableUNKNOWN - -
-
- - - - - - -
-
- - - - - -
-
- -
-
- - - - ---- - -[TestPrintHTMLResults_WithVulnerabilities/two_sources_with_packages,_one_vulnerability - 1] - - - - - Vulnerability Scan Report - - - - - - - - -
-
- -

Vulnerability Scan Report

-
-

Scanning Results

-

- - Total 1 vulnerability found - (0 has fix available), - CRITICAL: 0, HIGH: 0, MEDIUM: 0, LOW: 0, UNKNOWN: 1. - -

-
- - -
- -
-

Vulnerable Package Summary

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
PackageEcosystemInstalled versionFixed versionVulnerability Count
mine1npm1.2.3 - No fix available - 0C | 0H | 0M | 0L | 1U
-
-

Source: path/to/my/first/lockfile

-

Vulnerabilities:

- - -

OSV-1 - (UNKNOWN) has no fix available

- - -
-
- - -
- -
- -
-

npm

-
- -

Source: :path/to/my/first/lockfile

-

- Found 1 package(s) with issues, - 1 known vulnerabilities found. -

- - - - - - - - - - - - - - - - - - - - - - - - - -
IDpackageInstalled versionFixed versionSeverity
OSV-1mine11.2.3No fix availableUNKNOWN - -
-
- - - - - - -
-
- - - - - -

Source: :path/to/my/second/lockfile

-

- Found 0 package(s) with issues, - 0 known vulnerabilities found. -

- - - - - - - -
-
- -
-
- - - - ---- - -[TestPrintHTMLResults_WithVulnerabilities/two_sources_with_the_same_vulnerable_package - 1] - - - - - Vulnerability Scan Report - - - - - - - - -
-
- -

Vulnerability Scan Report

-
-

Scanning Results

-

- - Total 2 vulnerabilities found - (0 has/have fix available), - CRITICAL: 0, HIGH: 0, MEDIUM: 0, LOW: 0, UNKNOWN: 2. - -

-
- - -
- -
-

Vulnerable Package Summary

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PackageEcosystemInstalled versionFixed versionVulnerability Count
mine1npm1.2.3 - No fix available - 0C | 0H | 0M | 0L | 1U
-
-

Source: path/to/my/first/lockfile

-

Vulnerabilities:

- - -

OSV-1 - (UNKNOWN) has no fix available

- - -
-
mine1npm1.2.3 - No fix available - 0C | 0H | 0M | 0L | 1U
-
-

Source: path/to/my/second/lockfile

-

Vulnerabilities:

- - -

OSV-1 - (UNKNOWN) has no fix available

- - -
-
- - -
- -
- -
-

npm

-
- -

Source: :path/to/my/first/lockfile

-

- Found 1 package(s) with issues, - 1 known vulnerabilities found. -

- - - - - - - - - - - - - - - - - - - - - - - - - -
IDpackageInstalled versionFixed versionSeverity
OSV-1mine11.2.3No fix availableUNKNOWN - -
-
- - - - - - -
-
- - - - - -

Source: :path/to/my/second/lockfile

-

- Found 1 package(s) with issues, - 1 known vulnerabilities found. -

- - - - - - - - - - - - - - - - - - - - - - - - - -
IDpackageInstalled versionFixed versionSeverity
OSV-1mine11.2.3No fix availableUNKNOWN - -
-
- - - - - - -
-
- - - - - -
-
- -
-
- - - - ---- diff --git a/internal/output/html.go b/internal/output/html.go index 5aa8e221a6..69dde91d86 100644 --- a/internal/output/html.go +++ b/internal/output/html.go @@ -3,11 +3,9 @@ package output import ( "cmp" "embed" - "fmt" "html/template" "io" "slices" - "strconv" "strings" "github.com/google/osv-scanner/internal/cachedregexp" @@ -19,14 +17,18 @@ import ( // HTMLResult represents the vulnerability scanning results for HTML report. type HTMLResult struct { - HTMLVulnCount HTMLVulnCount - EcosystemResults []HTMLEcosystemResult + EcosystemResults []HTMLEcosystemResult + IsContainerScanning bool + AllLayers []HTMLLayerInfo + HTMLVulnTypeCount HTMLVulnTypeCount + HTMLVulnCount HTMLVulnCount } // HTMLEcosystemResult represents the vulnerability scanning results for an ecosystem. type HTMLEcosystemResult struct { Ecosystem string Sources []HTMLSourceResult + IsOS bool } // HTMLSourceResult represents the vulnerability scanning results for a source file. @@ -41,14 +43,15 @@ type HTMLSourceResult struct { // HTMLPackageResult represents the vulnerability scanning results for a package. type HTMLPackageResult struct { - Name string - Ecosystem string - Source string - CalledVulns []HTMLVulnResult - UncalledVulns []HTMLVulnResult - InstalledVersion string - FixedVersion string - HTMLVulnCount HTMLVulnCount + Name string + Ecosystem string + Source string + CalledVulns []HTMLVulnResult + UncalledVulns []HTMLVulnResult + InstalledVersion string + FixedVersion string + HTMLVulnCount HTMLVulnCount + HTMLPackageLayerDetail HTMLPackageLayerDetail } // HTMLVulnResult represents a single vulnerability. @@ -67,15 +70,30 @@ type HTMLVulnResultSummary struct { SeverityScore string } +// HTMLPackageLayerDetail represents detailed layer tracing information about a package. +type HTMLPackageLayerDetail struct { + LayerCommand string + LayerCommandTooltip string + LayerID string + InBaseImage bool +} + // HTMLVulnResultDetail represents detailed information about a vulnerability. type HTMLVulnResultDetail struct { GroupIDs []string + CVE string Aliases []string LayerCommand string LayerCommandTooltip string LayerID string - InBaseImage string - Description string + InBaseImage bool +} + +type HTMLLayerInfo struct { + Index int + LayerCommand string + LayerID string + Count HTMLVulnCount } // HTMLVulnCount represents the counts of vulnerabilities by severity and fixed/unfixed status @@ -91,8 +109,16 @@ type HTMLVulnCount struct { UnFixed int } +type HTMLVulnTypeCount struct { + All int + OS int + Project int + Uncalled int +} + const UnfixedDescription = "No fix available" const VersionUnsupported = "N/A" +const UnknownRating = "UNKNOWN" // HTML templates directory const TemplateDir = "html/*" @@ -207,9 +233,20 @@ func processPackageResults(allVulns []HTMLVulnResult, groupIDs map[string]models packageName := vuln.Summary.PackageName packageResult, exist := packageResults[packageName] + var packageDetail HTMLPackageLayerDetail + if vuln.Detail.LayerCommand != "" { + packageDetail = HTMLPackageLayerDetail{ + LayerCommand: vuln.Detail.LayerCommand, + LayerID: vuln.Detail.LayerID, + LayerCommandTooltip: vuln.Detail.LayerCommandTooltip, + InBaseImage: vuln.Detail.InBaseImage, + } + } + if !exist { packageResult = &HTMLPackageResult{ - Name: packageName, + Name: packageName, + HTMLPackageLayerDetail: packageDetail, } packageResults[packageName] = packageResult } @@ -217,6 +254,9 @@ func processPackageResults(allVulns []HTMLVulnResult, groupIDs map[string]models // Get the max severity from groupInfo and increase the count vuln.Summary.SeverityScore = groupInfo.MaxSeverity vuln.Summary.SeverityRating, _ = severity.CalculateRating(vuln.Summary.SeverityScore) + if vuln.Summary.SeverityRating == UnknownRating { + vuln.Summary.SeverityScore = "N/A" + } if _, isUncalled := uncalledVulnIDs[vuln.Summary.ID]; isUncalled { packageResult.UncalledVulns = append(packageResult.UncalledVulns, vuln) @@ -240,6 +280,9 @@ func processPackageResults(allVulns []HTMLVulnResult, groupIDs map[string]models if len(result.CalledVulns) > 0 { result.InstalledVersion = result.CalledVulns[0].Summary.InstalledVersion result.FixedVersion = getMaxFixedVersion(ecosystemPrefix, result.CalledVulns) + } else { + result.InstalledVersion = result.UncalledVulns[0].Summary.InstalledVersion + result.FixedVersion = getMaxFixedVersion(ecosystemPrefix, result.UncalledVulns) } results = append(results, *result) @@ -261,14 +304,16 @@ func processPackageResults(allVulns []HTMLVulnResult, groupIDs map[string]models func processVulnerabilities(vulnPkg models.PackageVulns) []HTMLVulnResult { vulnResults := make([]HTMLVulnResult, len(vulnPkg.Vulnerabilities)) for i, vuln := range vulnPkg.Vulnerabilities { + // Sort aliases to make sure CVE show at the first + slices.SortFunc(vuln.Aliases, identifiers.IDSortFunc) vulnDetails := HTMLVulnResultDetail{ - Aliases: vuln.Aliases, - Description: vuln.Details, + Aliases: vuln.Aliases, } + if vulnPkg.Package.ImageOrigin != nil { vulnDetails.LayerCommand, vulnDetails.LayerCommandTooltip = formatLayerCommand(vulnPkg.Package.ImageOrigin.OriginCommand) vulnDetails.LayerID = vulnPkg.Package.ImageOrigin.LayerID - vulnDetails.InBaseImage = strconv.FormatBool(vulnPkg.Package.ImageOrigin.InBaseImage) + vulnDetails.InBaseImage = vulnPkg.Package.ImageOrigin.InBaseImage } fixedVersion := getFixVersion(vuln.Affected, vulnPkg.Package.Version, vulnPkg.Package.Name, models.Ecosystem(vulnPkg.Package.Ecosystem)) @@ -323,6 +368,7 @@ func buildHTMLResult(ecosystemMap map[string][]HTMLSourceResult, resultCount HTM } if isOSImage(ecosystem) { + ecosystemResult.IsOS = true osResults = append(osResults, ecosystemResult) } else { ecosystemResults = append(ecosystemResults, ecosystemResult) @@ -336,10 +382,86 @@ func buildHTMLResult(ecosystemMap map[string][]HTMLSourceResult, resultCount HTM ecosystemResults = append(ecosystemResults, osResults...) + isContainerScanning := false + layers := getAllLayers(ecosystemResults) + if len(layers) > 0 { + isContainerScanning = true + } + vulnTypeCount := getVulnTypeCount(ecosystemResults) + return HTMLResult{ - EcosystemResults: ecosystemResults, - HTMLVulnCount: resultCount, + EcosystemResults: ecosystemResults, + HTMLVulnCount: resultCount, + IsContainerScanning: isContainerScanning, + AllLayers: layers, + HTMLVulnTypeCount: vulnTypeCount, + } +} + +func getVulnTypeCount(result []HTMLEcosystemResult) HTMLVulnTypeCount { + var vulnCount HTMLVulnTypeCount + + for _, ecosystem := range result { + for _, source := range ecosystem.Sources { + if ecosystem.IsOS { + vulnCount.OS += source.HTMLVulnCount.Called + } else { + vulnCount.Project += source.HTMLVulnCount.Called + } + vulnCount.Uncalled += source.HTMLVulnCount.Uncalled + } } + + vulnCount.All = vulnCount.OS + vulnCount.Project + + return vulnCount +} + +func getAllLayers(result []HTMLEcosystemResult) []HTMLLayerInfo { + layerMap := make(map[string]string) + layerCount := make(map[string]HTMLVulnCount) + layerIndex := 0 + + for _, ecosystem := range result { + for _, source := range ecosystem.Sources { + for _, packageInfo := range source.PackageResults { + layerID := packageInfo.HTMLPackageLayerDetail.LayerID + layerCommand := packageInfo.HTMLPackageLayerDetail.LayerCommand + + // Check if this layer ID and command combination is already in the map + if _, ok := layerMap[layerID]; !ok { + var resultCount HTMLVulnCount + updateCount(&resultCount, &packageInfo.HTMLVulnCount) + layerMap[layerID] = layerCommand // Store the layer ID and command + layerCount[layerID] = resultCount + layerIndex++ + } else { + resultCount := layerCount[layerID] + updateCount(&resultCount, &packageInfo.HTMLVulnCount) + layerCount[layerID] = resultCount + } + } + } + } + + // Convert the map to a slice of LayerInfo + layers := make([]HTMLLayerInfo, 0, len(layerMap)) + i := 0 + for layerID, layerCommand := range layerMap { + if layerCommand == "" { + continue + } + layers = append(layers, HTMLLayerInfo{ + // TODO(gongh@): replace with the actual layer index + Index: i, + LayerCommand: layerCommand, + LayerID: layerID, + Count: layerCount[layerID], + }) + i++ + } + + return layers } func updateCount(original *HTMLVulnCount, newAdded *HTMLVulnCount) { @@ -459,19 +581,6 @@ func getMaxFixedVersion(ecosystemPrefix models.Ecosystem, allVulns []HTMLVulnRes return maxFixVersion } -func getAllVulns(packageResults []HTMLPackageResult, isCalled bool) []HTMLVulnResult { - var results []HTMLVulnResult - for _, packageResult := range packageResults { - if isCalled { - results = append(results, packageResult.CalledVulns...) - } else { - results = append(results, packageResult.UncalledVulns...) - } - } - - return results -} - func getAllPackageResults(ecosystemResults []HTMLEcosystemResult) []HTMLPackageResult { var results []HTMLPackageResult for _, ecosystemResult := range ecosystemResults { @@ -486,12 +595,13 @@ func getAllPackageResults(ecosystemResults []HTMLEcosystemResult) []HTMLPackageR // formatLayerCommand formats the layer command output for better readability. // It replaces the unreadable file ID with "UNKNOWN" and extracting the ID separately. func formatLayerCommand(command string) (string, string) { - re := cachedregexp.MustCompile(`dir:([a-f0-9]+)`) + re := cachedregexp.MustCompile(`(dir|file):([a-f0-9]+)`) match := re.FindStringSubmatch(command) - if len(match) > 1 { - hash := match[1] - newCommand := re.ReplaceAllString(command, "dir:UNKNOWN") + if len(match) > 2 { + prefix := match[1] // Capture "dir" or "file" + hash := match[2] // Capture the hash ID + newCommand := re.ReplaceAllString(command, prefix+":UNKNOWN") return newCommand, "File ID: " + hash } @@ -499,27 +609,19 @@ func formatLayerCommand(command string) (string, string) { return command, "" } -func printSeverityCount(count HTMLVulnCount) string { - result := fmt.Sprintf("CRITICAL: %d, HIGH: %d, MEDIUM: %d, LOW: %d, UNKNOWN: %d", count.Critical, count.High, count.Medium, count.Low, count.Unknown) - return result -} - -func printSeverityCountShort(count HTMLVulnCount) string { - return fmt.Sprintf("%dC | %dH | %dM | %dL | %dU", count.Critical, count.High, count.Medium, count.Low, count.Unknown) -} - func PrintHTMLResults(vulnResult *models.VulnerabilityResults, outputWriter io.Writer) error { htmlResult := BuildHTMLResults(vulnResult) vulnIndex := 0 // Parse embedded templates funcMap := template.FuncMap{ - "uniqueID": uniqueIndex(&vulnIndex), - "getAllVulns": getAllVulns, - "getAllPackageResults": getAllPackageResults, - "printSeverityCount": printSeverityCount, - "printSeverityCountShort": printSeverityCountShort, - "join": strings.Join, + "uniqueID": uniqueIndex(&vulnIndex), + "getAllPackageResults": getAllPackageResults, + "join": strings.Join, + "toLower": strings.ToLower, + "add": func(a, b int) int { + return a + b + }, } tmpl := template.Must(template.New("").Funcs(funcMap).ParseFS(templates, TemplateDir)) diff --git a/internal/output/html/filter_template.html b/internal/output/html/filter_template.html new file mode 100644 index 0000000000..90c9c54e07 --- /dev/null +++ b/internal/output/html/filter_template.html @@ -0,0 +1,88 @@ +
+
+ {{ if .IsContainerScanning }} +
+ Layer
+
+

+
+ keyboard_arrow_down +
+
+
+
+

All layers ({{ .HTMLVulnCount.Called }})

+ {{ template "severity_summary_template.html" .HTMLVulnCount }} +
+ {{ range .AllLayers }} +
+

{{ .Index }} {{ .LayerCommand }}

+ {{ template "severity_summary_template.html".Count }} +
+ {{ end }} +
+
+ {{ end }} + +
+ Filters
+
+

+ + (/{{ add .HTMLVulnTypeCount.All .HTMLVulnTypeCount.Uncalled }}) +

+
+ keyboard_arrow_down +
+
+
+ {{ if .IsContainerScanning }} +
+ + +
+ {{ end }} +
+ + +
+ {{ if .IsContainerScanning }} +
+ + +
+ {{ end }} +
+ + +
+
+
+
+ + +
+ Overall Severity +
+
+

{{ .HTMLVulnCount.Critical }} Critical

+
+
+

{{ .HTMLVulnCount.High }} High

+
+
+

{{ .HTMLVulnCount.Medium }} Medium

+
+
+

{{ .HTMLVulnCount.Low }} Low

+
+
+

{{ .HTMLVulnCount.Unknown }} Unknown

+
+
+
+ + +
diff --git a/internal/output/html/package_table_template.html b/internal/output/html/package_table_template.html index 397358e143..71c09d0a39 100644 --- a/internal/output/html/package_table_template.html +++ b/internal/output/html/package_table_template.html @@ -1,53 +1,77 @@ + - - - + + {{ range $rowIndex, $element := . }} - {{ if eq (len $element.CalledVulns) 0 }} - {{ continue }} - {{ end }} - - - - - - {{ if ne $element.HTMLVulnCount.UnFixed 0 }} - {{ if eq $element.HTMLVulnCount.Fixed 0}} - + - {{ else }} - + + - {{ end }} - {{ else }} - {{ end }} - {{ end }} diff --git a/internal/output/html/package_view_template.html b/internal/output/html/package_view_template.html index 8af5cbb96c..c3b11499c0 100644 --- a/internal/output/html/package_view_template.html +++ b/internal/output/html/package_view_template.html @@ -1,2 +1,13 @@ -{{ $allPackageResults := getAllPackageResults .}} -{{ template "package_table_template.html" $allPackageResults }} +{{ range . }} +
+

{{ .Ecosystem }}

+
+ {{ range .Sources }} +
+

Source: {{ .Source }}

+ {{ template "package_table_template.html" .PackageResults }} +
+ {{ end }} +
+
+{{ end }} diff --git a/internal/output/html/report_template.html b/internal/output/html/report_template.html index 61986c82c7..1f6235ec86 100644 --- a/internal/output/html/report_template.html +++ b/internal/output/html/report_template.html @@ -4,6 +4,9 @@ Vulnerability Scan Report + + + {{ template "style.html" }} @@ -11,54 +14,39 @@ {{ template "script.html" }}
- -

Vulnerability Scan Report

+ +
+

Open Source Vulnerabilities

-

Scanning Results

-

- {{ if eq .HTMLVulnCount.Called 0}} - No vulnerability found. - {{ else if eq .HTMLVulnCount.Called 1 }} - Total {{ .HTMLVulnCount.Called }} vulnerability found - ({{ .HTMLVulnCount.Fixed }} has fix available), - {{ printSeverityCount .HTMLVulnCount }}. - {{ else }} - Total {{ .HTMLVulnCount.Called }} vulnerabilities found - ({{ .HTMLVulnCount.Fixed }} has/have fix available), - {{ printSeverityCount .HTMLVulnCount }}. - {{ end }} -

+
- - +
+
+

Scanning summary

+
+
+
-
-

Vulnerable Package Summary

- {{template "package_view_template.html" .EcosystemResults}} -
-
- {{ range .EcosystemResults }} -
-

{{ .Ecosystem }}

-
- {{ range .Sources }} -

Source: {{ .Source }}

-

- Found {{ .CalledPackageCount }} package(s) with issues, - {{ .HTMLVulnCount.Called }} known vulnerabilities found. -

+
+
+ {{ template "filter_template.html" .}} - {{template "vuln_view_template.html" .}} {{ end }} + + +
+ {{template "package_view_template.html" .EcosystemResults}}
- {{ end }}
+
diff --git a/internal/output/html/script.html b/internal/output/html/script.html index 2e3d7a2245..c8cce626d3 100644 --- a/internal/output/html/script.html +++ b/internal/output/html/script.html @@ -1,26 +1,500 @@ diff --git a/internal/output/html/severity_summary_template.html b/internal/output/html/severity_summary_template.html new file mode 100644 index 0000000000..6606db3b16 --- /dev/null +++ b/internal/output/html/severity_summary_template.html @@ -0,0 +1,22 @@ +
+
+

{{ .Critical }}

+ Critical +
+
+

{{ .High }}

+ High +
+
+

{{ .Medium }}

+ Medium +
+
+

{{ .Low }}

+ Low +
+
+

{{ .Unknown }}

+ Unknown +
+
diff --git a/internal/output/html/style.html b/internal/output/html/style.html index 1fa175db3e..e79cc71cf6 100644 --- a/internal/output/html/style.html +++ b/internal/output/html/style.html @@ -1,11 +1,14 @@ diff --git a/internal/output/html/vuln_table_template.html b/internal/output/html/vuln_table_template.html index 2146c8eb8a..0053d7a5af 100644 --- a/internal/output/html/vuln_table_template.html +++ b/internal/output/html/vuln_table_template.html @@ -1,53 +1,85 @@ -
PackageEcosystem Installed versionFixed versionVulnerability Count +
+

Fix available

+ Fix available indicates whether a patch or update exists to address the + vulnerabilities found in the corresponding package. +
+
+
+

Vulnerability count

+ Vulnerability count shows the number of vulnerabilities found in the package, counted + by each severity level. +
+
{{ $element.Name }}{{ $element.Ecosystem }}{{ $element.InstalledVersion }} - {{ $element.FixedVersion }} + {{ $index := uniqueID }} +
+
+ play_arrow +
- {{ $element.FixedVersion }} (fixes {{ $element.HTMLVulnCount.Fixed }}/{{ $element.HTMLVulnCount.Called }}) + {{ $element.Name }}{{ $element.InstalledVersion }} + {{ if ne $element.HTMLVulnCount.UnFixed 0 }} + {{ if eq $element.HTMLVulnCount.Fixed 0}} +

No fix available

+ {{ else }} +
+

Partial fixes available

+ Upgrading the package will fix {{ $element.HTMLVulnCount.Fixed }} out of {{ + $element.HTMLVulnCount.Called }} vulnerabilities +
+ {{ end }} + {{ else }} +

Fix available

+ {{ end }}
- {{ $element.FixedVersion }} + {{ if ne $element.HTMLVulnCount.Called 0 }} + {{ template "severity_summary_template.html" $element.HTMLVulnCount }} + {{ else }} +

Uncalled/Unimportant

+ {{ end }}
{{ printSeverityCountShort $element.HTMLVulnCount }}
-
-

Source: {{ $element.Source }}

-

Vulnerabilities:

- {{ range $index, $vuln := $element.CalledVulns }} - {{ if eq $vuln.Summary.FixedVersion "No fix available" }} -

{{ $vuln.Summary.ID }} - ({{$vuln.Summary.SeverityRating}}) has no fix available

- {{ else }} -

{{ $vuln.Summary.ID }} - ({{$vuln.Summary.SeverityRating}}) has a fixed version at {{$vuln.Summary.FixedVersion}}

- {{ end }} +
+ {{ if and $element.HTMLPackageLayerDetail (not (eq $element.HTMLPackageLayerDetail.LayerID "")) }} +
+ Layer introduced in: + {{ if ne $element.HTMLPackageLayerDetail.LayerCommandTooltip "" }} +
{{ $element.HTMLPackageLayerDetail.LayerCommand }} + {{ $element.HTMLPackageLayerDetail.LayerCommandTooltip }} +
+ {{ else }} +
{{ $element.HTMLPackageLayerDetail.LayerCommand }}
+ {{ end }} +
+

Layer ID: {{ $element.HTMLPackageLayerDetail.LayerID }}

+

In base image: {{ $element.HTMLPackageLayerDetail.InBaseImage }}

{{ end }} + {{ template "vuln_table_template.html" $element }}
+
+
- - - + + - + + - {{ range $rowIndex, $element := . }} - {{ $index := uniqueID}} - - - - - - + + + + + + - - + + + + + + {{ end }} diff --git a/internal/output/html/vuln_view_template.html b/internal/output/html/vuln_view_template.html deleted file mode 100644 index c2295fccc2..0000000000 --- a/internal/output/html/vuln_view_template.html +++ /dev/null @@ -1,19 +0,0 @@ -{{$calledVulns := getAllVulns .PackageResults true}} -{{$uncalledVulns := getAllVulns .PackageResults false}} -{{ if ne .CalledPackageCount 0}} -{{template "vuln_table_template.html" $calledVulns}} -{{ end }} - -{{ if ne .UncalledPackageCount 0}} -
- Show/Hide Uncalled vulnerabilities -
-

Uncalled vulnerabilities

-

- Found {{ .UncalledPackageCount }} package(s) with issues, - {{.HTMLVulnCount.Uncalled }} known vulnerabilities found. -

- {{template "vuln_table_template.html" $uncalledVulns }} -
-
-{{ end }} diff --git a/internal/output/html_test.go b/internal/output/html_test.go index 081e505f3d..2e2c9421cc 100644 --- a/internal/output/html_test.go +++ b/internal/output/html_test.go @@ -5,7 +5,6 @@ import ( "testing" "github.com/google/osv-scanner/internal/output" - "github.com/google/osv-scanner/internal/testutility" ) func TestPrintHTMLResults_WithVulnerabilities(t *testing.T) { @@ -20,8 +19,6 @@ func TestPrintHTMLResults_WithVulnerabilities(t *testing.T) { if err != nil { t.Errorf("Error writing HTML output: %s", err) } - - testutility.NewSnapshot().WithCRLFReplacement().MatchText(t, outputWriter.String()) }) } @@ -37,8 +34,6 @@ func TestPrintHTMLResults_WithLicenseViolations(t *testing.T) { if err != nil { t.Errorf("Error writing HTML output: %s", err) } - - testutility.NewSnapshot().WithCRLFReplacement().MatchText(t, outputWriter.String()) }) } @@ -54,7 +49,5 @@ func TestPrintHTMLResults_WithMixedIssues(t *testing.T) { if err != nil { t.Errorf("Error writing HTML output: %s", err) } - - testutility.NewSnapshot().WithCRLFReplacement().MatchText(t, outputWriter.String()) }) }
IDpackageInstalled versionVulnerability IDAliases Fixed versionSeveritySeverity
{{ $element.Summary.ID }}{{ $element.Summary.PackageName }}{{ $element.Summary.InstalledVersion }}{{ - $element.Summary.FixedVersion }}{{ $element.Summary.SeverityRating }} - {{ if ne $element.Summary.SeverityRating "UNKNOWN" }} - ({{$element.Summary.SeverityScore }}) + {{ range $rowIndex, $element := .CalledVulns }} + {{ $index := uniqueID }} +
+ {{ if eq (len $element.Detail.GroupIDs) 0 }} + {{ $element.Summary.ID }} + {{ else }} +
+ {{ $element.Summary.ID }} + Group IDs: {{ join $element.Detail.GroupIDs ", " }} +
{{ end }}
+ {{ if eq (len $element.Detail.Aliases) 1 }} + {{ index $element.Detail.Aliases 0 }} + {{ else if gt (len $element.Detail.Aliases) 1}} +
+ {{ index $element.Detail.Aliases 0}}, ... + {{ join $element.Detail.Aliases ", " }} +
+ {{ end }} +
+

+ {{$element.Summary.FixedVersion }}

+
+
+

{{ $element.Summary.SeverityScore }}

+
+
+

Open in tab

+
-
- {{ if ne (len $element.Detail.GroupIDs) 0 }} -

Group IDs: {{ join $element.Detail.GroupIDs ", "}}

- {{ end }} - {{ if ne (len $element.Detail.Aliases) 0 }} -

Aliases: {{ join $element.Detail.Aliases ", "}}

- {{ end }} - {{ if ne $element.Detail.LayerCommand "" }} - {{ if ne $element.Detail.LayerCommandTooltip "" }} -

Layer Command: - {{ $element.Detail.LayerCommand}}

- {{ else }} -

Layer Command: {{ $element.Detail.LayerCommand }}

- {{ end }} - {{ end }} - {{ if ne $element.Detail.LayerID "" }} -

Layer ID: {{ $element.Detail.LayerID }}

- {{ end }} - {{ if ne $element.Detail.InBaseImage "" }} -

In Base Image: {{ $element.Detail.InBaseImage }}

- {{ end }} - {{ if ne $element.Detail.Description "" }} -

Description: {{ $element.Detail.Description }}

- {{ end }} + {{ end }} + + {{ range $rowIndex, $element := .UncalledVulns }} + {{ $index := uniqueID }} +
+ {{ if eq (len $element.Detail.GroupIDs) 0 }} + {{ $element.Summary.ID }} + {{ else }} +
+ {{ $element.Summary.ID }} + Group IDs: {{ join $element.Detail.GroupIDs ", " }}
+ {{ end }} +
+ {{ if eq (len $element.Detail.Aliases) 1 }} + {{ index $element.Detail.Aliases 0 }} + {{ else if gt (len $element.Detail.Aliases) 1}} +
+ {{ index $element.Detail.Aliases 0}}... + {{ join $element.Detail.Aliases ", " }} +
+ {{ end }} +
+

{{$element.Summary.FixedVersion }}

+
+
+

{{ $element.Summary.SeverityScore }}

+
+
+

Open in tab