From e83feec000424fd713eff89464df9dbf56e7039c Mon Sep 17 00:00:00 2001 From: Jacob Shandling <61553566+jacobshandling@users.noreply.github.com> Date: Tue, 6 Feb 2024 12:12:09 -0800 Subject: [PATCH] add missing fields, restore legacy types for proper build (#16618) - Add missing fields to `IVulnerability` - Fix field on `IOperatingSystemVersion`, which is used by above interface - Restore legacy props whose removal broke branch build (unrelated to this work, separate API) --------- Co-authored-by: Jacob Shandling --- frontend/__mocks__/operatingSystemsMock.ts | 2 +- frontend/__mocks__/vulnerabilitiesMock.ts | 2 ++ frontend/interfaces/operating_system.ts | 2 +- frontend/interfaces/vulnerability.ts | 23 ++++++++++++++++------ 4 files changed, 21 insertions(+), 8 deletions(-) diff --git a/frontend/__mocks__/operatingSystemsMock.ts b/frontend/__mocks__/operatingSystemsMock.ts index 6b376328d5..45cdb23349 100644 --- a/frontend/__mocks__/operatingSystemsMock.ts +++ b/frontend/__mocks__/operatingSystemsMock.ts @@ -9,7 +9,7 @@ const DEFAULT_OS_VERSION: IOperatingSystemVersion = { version: "10.15.7", platform: "darwin", hosts_count: 1, - generated_cpe: "cpe:/o:apple:mac_os_x:10.15.7", + generated_cpes: ["cpe:/o:apple:mac_os_x:10.15.7"], vulnerabilities: [createMockSoftwareVulnerability()], }; diff --git a/frontend/__mocks__/vulnerabilitiesMock.ts b/frontend/__mocks__/vulnerabilitiesMock.ts index ec461f1ea5..816db1ee82 100644 --- a/frontend/__mocks__/vulnerabilitiesMock.ts +++ b/frontend/__mocks__/vulnerabilitiesMock.ts @@ -17,6 +17,8 @@ const DEFAULT_VULNERABILITY: IVulnerability = { cve_description: "Microsoft Windows Support Diagnostic Tool (MSDT) Remote Code Execution Vulnerability.", // Available in Fleet Premium resolved_in_version: "", // Available in Fleet Premium + os_versions: [], + software: [], }; export const createMockVulnerability = ( diff --git a/frontend/interfaces/operating_system.ts b/frontend/interfaces/operating_system.ts index b519a91647..8a0272422a 100644 --- a/frontend/interfaces/operating_system.ts +++ b/frontend/interfaces/operating_system.ts @@ -7,7 +7,7 @@ export interface IOperatingSystemVersion { version: string; platform: string; hosts_count: number; - generated_cpe: string; + generated_cpes?: string[]; vulnerabilities: ISoftwareVulnerability[]; } diff --git a/frontend/interfaces/vulnerability.ts b/frontend/interfaces/vulnerability.ts index bc2578c860..b3d5c2cf0d 100644 --- a/frontend/interfaces/vulnerability.ts +++ b/frontend/interfaces/vulnerability.ts @@ -1,13 +1,24 @@ +import PropTypes from "prop-types"; + +import { IOperatingSystemVersion } from "./operating_system"; +import { ISoftware } from "./software"; + +export default PropTypes.shape({ + cve: PropTypes.string, + details_link: PropTypes.string, +}); export interface IVulnerability { cve: string; created_at: string; host_count: number; host_count_updated_at: string; details_link: string; - cvss_score?: number; // Available in Fleet Premium - epss_probability?: number; // Available in Fleet Premium - cisa_known_exploit?: boolean; // Available in Fleet Premium - cve_published?: string; // Available in Fleet Premium - cve_description?: string; // Available in Fleet Premium - resolved_in_version?: string; // Available in Fleet Premium + cvss_score?: number; // premium + epss_probability?: number; // premium + cisa_known_exploit?: boolean; // premium + cve_published?: string; // premium + cve_description?: string; // premium + resolved_in_version?: string; // premium + os_versions: Omit[]; + software: Omit[]; }