mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 09:48:58 -04:00
[Cloud Security] Vulnerabilities Preview & Refactor CSP Plugin PHASE 1 (#193385)
## Summary In an attempt to make Reviewing easier and more accurate, the implementation of Vulnerabilities on Host.name flyout in Alerts Page will be split into 2 Phases Phase 1: Move Functions, Utils or Helpers, Hooks, constants to Package Phase 2: Implementing the feature
This commit is contained in:
parent
574eb26cc7
commit
434430a995
53 changed files with 96 additions and 89 deletions
|
@ -26,3 +26,10 @@ export const CLOUD_SECURITY_POSTURE_BASE_PATH = '/cloud_security_posture';
|
|||
export const CDR_MISCONFIGURATIONS_DATA_VIEW_ID_PREFIX =
|
||||
'security_solution_cdr_latest_misconfigurations';
|
||||
export const SECURITY_DEFAULT_DATA_VIEW_ID = 'security-solution-default';
|
||||
|
||||
export const CDR_LATEST_NATIVE_VULNERABILITIES_INDEX_PATTERN =
|
||||
'logs-cloud_security_posture.vulnerabilities_latest-default';
|
||||
export const CDR_LATEST_THIRD_PARTY_VULNERABILITIES_INDEX_PATTERN =
|
||||
'security_solution-*.vulnerability_latest';
|
||||
export const CDR_VULNERABILITIES_INDEX_PATTERN = `${CDR_LATEST_THIRD_PARTY_VULNERABILITIES_INDEX_PATTERN},${CDR_LATEST_NATIVE_VULNERABILITIES_INDEX_PATTERN}`;
|
||||
export const LATEST_VULNERABILITIES_RETENTION_POLICY = '3d';
|
||||
|
|
|
@ -19,9 +19,11 @@ export type {
|
|||
} from './types/status';
|
||||
export type { CspFinding, CspFindingResult } from './types/findings';
|
||||
export type { BenchmarksCisId } from './types/benchmark';
|
||||
export type { VulnSeverity } from './types/vulnerabilities';
|
||||
export * from './constants';
|
||||
export {
|
||||
extractErrorMessage,
|
||||
buildMutedRulesFilter,
|
||||
buildEntityFlyoutPreviewQuery,
|
||||
} from './utils/helpers';
|
||||
export { getAbbreviatedNumber } from './utils/get_abbreviated_number';
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
// TODO: this needs to be defined in a versioned schema
|
||||
import type { EcsEvent } from '@elastic/ecs';
|
||||
import { VulnSeverity } from '../types_old';
|
||||
import type { VulnSeverity } from '../../types/vulnerabilities';
|
||||
|
||||
export interface CspVulnerabilityFinding {
|
||||
'@timestamp': string;
|
|
@ -4,4 +4,5 @@
|
|||
* 2.0; you may not use this file except in compliance with the Elastic License
|
||||
* 2.0.
|
||||
*/
|
||||
|
||||
export * from './csp_vulnerability_finding';
|
|
@ -0,0 +1,8 @@
|
|||
/*
|
||||
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
||||
* or more contributor license agreements. Licensed under the Elastic License
|
||||
* 2.0; you may not use this file except in compliance with the Elastic License
|
||||
* 2.0.
|
||||
*/
|
||||
|
||||
export type VulnSeverity = 'LOW' | 'MEDIUM' | 'HIGH' | 'CRITICAL' | 'UNKNOWN';
|
|
@ -6,12 +6,8 @@
|
|||
*/
|
||||
|
||||
import { KSPM_POLICY_TEMPLATE, CSPM_POLICY_TEMPLATE } from '@kbn/cloud-security-posture-common';
|
||||
import {
|
||||
AwsCredentialsTypeFieldMap,
|
||||
GcpCredentialsTypeFieldMap,
|
||||
PostureTypes,
|
||||
VulnSeverity,
|
||||
} from './types_old';
|
||||
import type { VulnSeverity } from '@kbn/cloud-security-posture-common';
|
||||
import { AwsCredentialsTypeFieldMap, GcpCredentialsTypeFieldMap, PostureTypes } from './types_old';
|
||||
|
||||
export const CLOUD_SECURITY_INTERTAL_PREFIX_ROUTE_PATH = '/internal/cloud_security_posture/';
|
||||
|
||||
|
@ -61,14 +57,6 @@ export const VULNERABILITIES_INDEX_DEFAULT_NS =
|
|||
export const LATEST_VULNERABILITIES_INDEX_TEMPLATE_NAME =
|
||||
'logs-cloud_security_posture.vulnerabilities_latest';
|
||||
|
||||
export const CDR_LATEST_NATIVE_VULNERABILITIES_INDEX_PATTERN =
|
||||
'logs-cloud_security_posture.vulnerabilities_latest-default';
|
||||
export const CDR_LATEST_THIRD_PARTY_VULNERABILITIES_INDEX_PATTERN =
|
||||
'security_solution-*.vulnerability_latest';
|
||||
export const CDR_VULNERABILITIES_INDEX_PATTERN = `${CDR_LATEST_THIRD_PARTY_VULNERABILITIES_INDEX_PATTERN},${CDR_LATEST_NATIVE_VULNERABILITIES_INDEX_PATTERN}`;
|
||||
|
||||
export const LATEST_VULNERABILITIES_RETENTION_POLICY = '3d';
|
||||
|
||||
export const SECURITY_DEFAULT_DATA_VIEW_ID = 'security-solution-default';
|
||||
|
||||
export const ALERTS_INDEX_PATTERN = '.alerts-security.alerts-*';
|
||||
|
|
|
@ -151,8 +151,6 @@ export interface CnvmDashboardData {
|
|||
topVulnerabilities: VulnerabilityStat[];
|
||||
}
|
||||
|
||||
export type VulnSeverity = 'LOW' | 'MEDIUM' | 'HIGH' | 'CRITICAL' | 'UNKNOWN';
|
||||
|
||||
export interface VulnerableResourceStat {
|
||||
vulnerabilityCount: number | undefined;
|
||||
resource: {
|
||||
|
|
|
@ -6,8 +6,8 @@
|
|||
*/
|
||||
|
||||
import { euiThemeVars } from '@kbn/ui-theme';
|
||||
import type { VulnSeverity } from '@kbn/cloud-security-posture-common';
|
||||
import { VULNERABILITIES_SEVERITY } from '../../../common/constants';
|
||||
import { VulnSeverity } from '../../../common/types_old';
|
||||
|
||||
export const getCvsScoreColor = (score: number): string | undefined => {
|
||||
if (score <= 4) {
|
||||
|
|
|
@ -8,9 +8,9 @@ import React, { FC, PropsWithChildren } from 'react';
|
|||
import { EuiButtonEmpty, EuiFlexItem } from '@elastic/eui';
|
||||
import { type DataView } from '@kbn/data-views-plugin/common';
|
||||
import { FormattedMessage } from '@kbn/i18n-react';
|
||||
import { getAbbreviatedNumber } from '@kbn/cloud-security-posture-common';
|
||||
import { FieldsSelectorModal, useFieldsModal } from './fields_selector';
|
||||
import { useStyles } from './use_styles';
|
||||
import { getAbbreviatedNumber } from '../../common/utils/get_abbreviated_number';
|
||||
import { CSP_FIELDS_SELECTOR_OPEN_BUTTON } from '../test_subjects';
|
||||
|
||||
const GroupSelectorWrapper: FC<PropsWithChildren<unknown>> = ({ children }) => {
|
||||
|
|
|
@ -9,8 +9,8 @@ import { EuiBadge, EuiIcon, EuiTextColor } from '@elastic/eui';
|
|||
import React from 'react';
|
||||
import { css } from '@emotion/react';
|
||||
import { float } from '@elastic/elasticsearch/lib/api/typesWithBodyKey';
|
||||
import type { VulnSeverity } from '@kbn/cloud-security-posture-common';
|
||||
import { getCvsScoreColor, getSeverityStatusColor } from '../common/utils/get_vulnerability_colors';
|
||||
import { VulnSeverity } from '../../common/types_old';
|
||||
import { VULNERABILITIES_CVSS_SCORE_BADGE_SUBJ } from './test_subjects';
|
||||
|
||||
interface CVSScoreBadgeProps {
|
||||
|
|
|
@ -15,9 +15,9 @@ import {
|
|||
EuiText,
|
||||
} from '@elastic/eui';
|
||||
import { PaletteColorStop } from '@elastic/eui/src/components/color_picker/color_palette_picker';
|
||||
import type { VulnSeverity } from '@kbn/cloud-security-posture-common';
|
||||
import { i18n } from '@kbn/i18n';
|
||||
import { getSeverityStatusColor } from '../common/utils/get_vulnerability_colors';
|
||||
import { VulnSeverity } from '../../common/types_old';
|
||||
import { SeverityStatusBadge } from './vulnerability_badges';
|
||||
|
||||
interface Props {
|
||||
|
|
|
@ -17,13 +17,13 @@ import { css } from '@emotion/react';
|
|||
import { GroupPanelRenderer, GroupStatsItem, RawBucket } from '@kbn/grouping/src';
|
||||
import React from 'react';
|
||||
import { i18n } from '@kbn/i18n';
|
||||
import { getAbbreviatedNumber } from '@kbn/cloud-security-posture-common';
|
||||
import { FINDINGS_GROUPING_OPTIONS } from '../../../common/constants';
|
||||
import {
|
||||
firstNonNullValue,
|
||||
LoadingGroup,
|
||||
NullGroup,
|
||||
} from '../../../components/cloud_security_grouping';
|
||||
import { getAbbreviatedNumber } from '../../../common/utils/get_abbreviated_number';
|
||||
import { CISBenchmarkIcon } from '../../../components/cis_benchmark_icon';
|
||||
import { ComplianceScoreBar } from '../../../components/compliance_score_bar';
|
||||
import { FindingsGroupingAggregation } from './use_grouped_findings';
|
||||
|
|
|
@ -9,7 +9,7 @@ import { css } from '@emotion/react';
|
|||
import { EuiHealth, EuiBadge, EuiSpacer, EuiFlexGroup, useEuiTheme } from '@elastic/eui';
|
||||
import { i18n } from '@kbn/i18n';
|
||||
import { statusColors } from '@kbn/cloud-security-posture';
|
||||
import { getAbbreviatedNumber } from '../../../common/utils/get_abbreviated_number';
|
||||
import { getAbbreviatedNumber } from '@kbn/cloud-security-posture-common';
|
||||
import { RULE_FAILED, RULE_PASSED } from '../../../../common/constants';
|
||||
import type { Evaluation } from '../../../../common/types_old';
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
* 2.0.
|
||||
*/
|
||||
|
||||
import { CspVulnerabilityFinding } from '../../../../common/schemas';
|
||||
import type { CspVulnerabilityFinding } from '@kbn/cloud-security-posture-common/schema/vulnerabilities/latest';
|
||||
|
||||
export const mockVulnerabilityHit: CspVulnerabilityFinding = {
|
||||
'@timestamp': '2023-03-30T10:27:35.013Z',
|
||||
|
|
|
@ -11,7 +11,7 @@ import { GenericBuckets, GroupingQuery, RootAggregation } from '@kbn/grouping/sr
|
|||
import { useQuery } from '@tanstack/react-query';
|
||||
import { lastValueFrom } from 'rxjs';
|
||||
import { showErrorToast } from '@kbn/cloud-security-posture';
|
||||
import { CDR_VULNERABILITIES_INDEX_PATTERN } from '../../../../common/constants';
|
||||
import { CDR_VULNERABILITIES_INDEX_PATTERN } from '@kbn/cloud-security-posture-common';
|
||||
import { useKibana } from '../../../common/hooks/use_kibana';
|
||||
|
||||
// Elasticsearch returns `null` when a sub-aggregation cannot be computed
|
||||
|
|
|
@ -16,14 +16,14 @@ import {
|
|||
} from '@elastic/elasticsearch/lib/api/typesWithBodyKey';
|
||||
import { buildDataTableRecord } from '@kbn/discover-utils';
|
||||
import { EsHitRecord } from '@kbn/discover-utils/types';
|
||||
import { MAX_FINDINGS_TO_LOAD } from '@kbn/cloud-security-posture-common';
|
||||
import { FindingsBaseEsQuery, showErrorToast } from '@kbn/cloud-security-posture';
|
||||
import { VULNERABILITY_FIELDS } from '../../../common/constants';
|
||||
import { CspVulnerabilityFinding } from '../../../../common/schemas';
|
||||
import {
|
||||
MAX_FINDINGS_TO_LOAD,
|
||||
CDR_VULNERABILITIES_INDEX_PATTERN,
|
||||
LATEST_VULNERABILITIES_RETENTION_POLICY,
|
||||
} from '../../../../common/constants';
|
||||
} from '@kbn/cloud-security-posture-common';
|
||||
import { FindingsBaseEsQuery, showErrorToast } from '@kbn/cloud-security-posture';
|
||||
import type { CspVulnerabilityFinding } from '@kbn/cloud-security-posture-common/schema/vulnerabilities/latest';
|
||||
import { VULNERABILITY_FIELDS } from '../../../common/constants';
|
||||
import { useKibana } from '../../../common/hooks/use_kibana';
|
||||
import { getCaseInsensitiveSortScript } from '../utils/custom_sort_script';
|
||||
type LatestFindingsRequest = IKibanaSearchRequest<SearchRequest>;
|
||||
|
|
|
@ -14,6 +14,7 @@ import {
|
|||
parseGroupingQuery,
|
||||
} from '@kbn/grouping/src';
|
||||
import { useMemo } from 'react';
|
||||
import { LATEST_VULNERABILITIES_RETENTION_POLICY } from '@kbn/cloud-security-posture-common';
|
||||
import { buildEsQuery, Filter } from '@kbn/es-query';
|
||||
import {
|
||||
LOCAL_STORAGE_VULNERABILITIES_GROUPING_KEY,
|
||||
|
@ -21,10 +22,7 @@ import {
|
|||
VULNERABILITY_FIELDS,
|
||||
} from '../../../common/constants';
|
||||
import { useDataViewContext } from '../../../common/contexts/data_view_context';
|
||||
import {
|
||||
LATEST_VULNERABILITIES_RETENTION_POLICY,
|
||||
VULNERABILITIES_SEVERITY,
|
||||
} from '../../../../common/constants';
|
||||
import { VULNERABILITIES_SEVERITY } from '../../../../common/constants';
|
||||
import {
|
||||
VulnerabilitiesGroupingAggregation,
|
||||
VulnerabilitiesRootGroupingAggregation,
|
||||
|
|
|
@ -17,11 +17,11 @@ import { css } from '@emotion/react';
|
|||
import { GroupPanelRenderer, GroupStatsItem, RawBucket } from '@kbn/grouping/src';
|
||||
import React from 'react';
|
||||
import { FormattedMessage } from '@kbn/i18n-react';
|
||||
import { getAbbreviatedNumber } from '@kbn/cloud-security-posture-common';
|
||||
import { getCloudProviderNameFromAbbreviation } from '../../../common/utils/helpers';
|
||||
import { VulnerabilitiesGroupingAggregation } from './hooks/use_grouped_vulnerabilities';
|
||||
import { VULNERABILITIES_GROUPING_COUNTER } from './test_subjects';
|
||||
import { NULL_GROUPING_MESSAGES, NULL_GROUPING_UNIT, VULNERABILITIES } from './translations';
|
||||
import { getAbbreviatedNumber } from '../../common/utils/get_abbreviated_number';
|
||||
import {
|
||||
firstNonNullValue,
|
||||
LoadingGroup,
|
||||
|
|
|
@ -11,8 +11,8 @@ import { i18n } from '@kbn/i18n';
|
|||
import { EuiDataGridCellValueElementProps, EuiSpacer } from '@elastic/eui';
|
||||
import { Filter } from '@kbn/es-query';
|
||||
import { HttpSetup } from '@kbn/core-http-browser';
|
||||
import type { CspVulnerabilityFinding } from '@kbn/cloud-security-posture-common/schema/vulnerabilities/latest';
|
||||
import { getDatasetDisplayName } from '../../common/utils/get_dataset_display_name';
|
||||
import { CspVulnerabilityFinding } from '../../../common/schemas';
|
||||
import { CloudSecurityDataTable } from '../../components/cloud_security_data_table';
|
||||
import { useLatestVulnerabilitiesTable } from './hooks/use_latest_vulnerabilities_table';
|
||||
import { LATEST_VULNERABILITIES_TABLE } from './test_subjects';
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
* 2.0.
|
||||
*/
|
||||
|
||||
import { VectorScoreBase } from '../../../common/schemas';
|
||||
import { VectorScoreBase } from '@kbn/cloud-security-posture-common/schema/vulnerabilities/latest';
|
||||
|
||||
export type Vendor = 'NVD' | 'Red Hat' | 'GHSA';
|
||||
|
||||
|
|
|
@ -7,9 +7,9 @@
|
|||
|
||||
import { HttpSetup } from '@kbn/core/public';
|
||||
import { i18n } from '@kbn/i18n';
|
||||
import type { Vulnerability } from '../../../../common/schemas';
|
||||
import { LATEST_VULNERABILITIES_RETENTION_POLICY } from '@kbn/cloud-security-posture-common';
|
||||
import type { Vulnerability } from '@kbn/cloud-security-posture-common/schema/vulnerabilities/latest';
|
||||
import {
|
||||
LATEST_VULNERABILITIES_RETENTION_POLICY,
|
||||
VULNERABILITIES_INDEX_PATTERN,
|
||||
VULNERABILITIES_SEVERITY,
|
||||
} from '../../../../common/constants';
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
* 2.0.
|
||||
*/
|
||||
|
||||
import { VectorScoreBase } from '../../../../common/schemas';
|
||||
import { VectorScoreBase } from '@kbn/cloud-security-posture-common/schema/vulnerabilities/latest';
|
||||
import { Vector } from '../types';
|
||||
|
||||
export const getVectorScoreList = (vectorBaseScore: VectorScoreBase) => {
|
||||
|
|
|
@ -7,8 +7,8 @@
|
|||
|
||||
import React from 'react';
|
||||
import type { HttpSetup } from '@kbn/core/public';
|
||||
import type { CspVulnerabilityFinding } from '@kbn/cloud-security-posture-common/schema/vulnerabilities/latest';
|
||||
import { CSP_VULN_DATASET } from '../../../common/utils/get_dataset_display_name';
|
||||
import { CspVulnerabilityFinding } from '../../../../common/schemas';
|
||||
import { DetectionRuleCounter } from '../../../components/detection_rule_counter';
|
||||
import { createDetectionRuleFromVulnerabilityFinding } from '../utils/create_detection_rule_from_vulnerability';
|
||||
|
||||
|
|
|
@ -27,13 +27,13 @@ import { FormattedMessage } from '@kbn/i18n-react';
|
|||
import { euiThemeVars } from '@kbn/ui-theme';
|
||||
import { css } from '@emotion/react';
|
||||
import { HttpSetup } from '@kbn/core-http-browser';
|
||||
import type { CspVulnerabilityFinding } from '@kbn/cloud-security-posture-common/schema/vulnerabilities/latest';
|
||||
import { TakeAction } from '../../../components/take_action';
|
||||
import { truthy } from '../../../../common/utils/helpers';
|
||||
import { CspInlineDescriptionList } from '../../../components/csp_inline_description_list';
|
||||
import { VulnerabilityOverviewTab } from './vulnerability_overview_tab';
|
||||
import { VulnerabilityJsonTab } from './vulnerability_json_tab';
|
||||
import { SeverityStatusBadge } from '../../../components/vulnerability_badges';
|
||||
import type { CspVulnerabilityFinding } from '../../../../common/schemas';
|
||||
import {
|
||||
FINDINGS_VULNERABILITY_FLYOUT_DESCRIPTION_LIST,
|
||||
TAB_ID_VULNERABILITY_FLYOUT,
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
import { CodeEditor } from '@kbn/code-editor';
|
||||
import React from 'react';
|
||||
import { XJsonLang } from '@kbn/monaco';
|
||||
import { CspVulnerabilityFinding } from '../../../../common/schemas';
|
||||
import type { CspVulnerabilityFinding } from '@kbn/cloud-security-posture-common/schema/vulnerabilities/latest';
|
||||
import { JSON_TAB_VULNERABILITY_FLYOUT } from '../test_subjects';
|
||||
interface VulnerabilityJsonTabProps {
|
||||
vulnerabilityRecord: CspVulnerabilityFinding;
|
||||
|
|
|
@ -19,8 +19,11 @@ import moment from 'moment';
|
|||
import React from 'react';
|
||||
import { euiThemeVars } from '@kbn/ui-theme';
|
||||
import { i18n } from '@kbn/i18n';
|
||||
import {
|
||||
VectorScoreBase,
|
||||
CspVulnerabilityFinding,
|
||||
} from '@kbn/cloud-security-posture-common/schema/vulnerabilities/latest';
|
||||
import { getDatasetDisplayName } from '../../../common/utils/get_dataset_display_name';
|
||||
import { VectorScoreBase, CspVulnerabilityFinding } from '../../../../common/schemas';
|
||||
import { CspFlyoutMarkdown } from '../../configurations/findings_flyout/findings_flyout';
|
||||
import { NvdLogo } from '../../../assets/icons/nvd_logo_svg';
|
||||
import { CVSScoreBadge } from '../../../components/vulnerability_badges';
|
||||
|
|
|
@ -15,7 +15,7 @@ import {
|
|||
import React from 'react';
|
||||
import { getFlattenedObject } from '@kbn/std';
|
||||
import { i18n } from '@kbn/i18n';
|
||||
import { CspVulnerabilityFinding } from '../../../../common/schemas';
|
||||
import { CspVulnerabilityFinding } from '@kbn/cloud-security-posture-common/schema/vulnerabilities/latest';
|
||||
|
||||
interface FlattenedItem {
|
||||
key: string; // flattened dot notation object path for Vulnerability;
|
||||
|
|
|
@ -6,12 +6,12 @@
|
|||
*/
|
||||
import React from 'react';
|
||||
import Chance from 'chance';
|
||||
import { CDR_MISCONFIGURATIONS_DATA_VIEW_ID_PREFIX } from '@kbn/cloud-security-posture-common';
|
||||
import { Vulnerabilities } from './vulnerabilities';
|
||||
import {
|
||||
CDR_MISCONFIGURATIONS_DATA_VIEW_ID_PREFIX,
|
||||
CDR_LATEST_NATIVE_VULNERABILITIES_INDEX_PATTERN,
|
||||
VULN_MGMT_POLICY_TEMPLATE,
|
||||
} from '../../../common/constants';
|
||||
} from '@kbn/cloud-security-posture-common';
|
||||
import { Vulnerabilities } from './vulnerabilities';
|
||||
import { VULN_MGMT_POLICY_TEMPLATE } from '../../../common/constants';
|
||||
import { useCspSetupStatusApi } from '@kbn/cloud-security-posture/src/hooks/use_csp_setup_status_api';
|
||||
import { useDataView } from '@kbn/cloud-security-posture/src/hooks/use_data_view';
|
||||
import { createReactQueryResponse } from '../../test/fixtures/react_query';
|
||||
|
|
|
@ -8,10 +8,8 @@ import React from 'react';
|
|||
import Chance from 'chance';
|
||||
import { dataPluginMock } from '@kbn/data-plugin/public/mocks';
|
||||
import { unifiedSearchPluginMock } from '@kbn/unified-search-plugin/public/mocks';
|
||||
import {
|
||||
CDR_LATEST_NATIVE_VULNERABILITIES_INDEX_PATTERN,
|
||||
VULN_MGMT_POLICY_TEMPLATE,
|
||||
} from '../../../common/constants';
|
||||
import { CDR_LATEST_NATIVE_VULNERABILITIES_INDEX_PATTERN } from '@kbn/cloud-security-posture-common';
|
||||
import { VULN_MGMT_POLICY_TEMPLATE } from '../../../common/constants';
|
||||
import { chartPluginMock } from '@kbn/charts-plugin/public/mocks';
|
||||
import { discoverPluginMock } from '@kbn/discover-plugin/public/mocks';
|
||||
import { useCspSetupStatusApi } from '@kbn/cloud-security-posture/src/hooks/use_csp_setup_status_api';
|
||||
|
|
|
@ -18,11 +18,11 @@ import {
|
|||
import { i18n } from '@kbn/i18n';
|
||||
import type { NavFilter } from '@kbn/cloud-security-posture/src/hooks/use_navigate_findings';
|
||||
import { useNavigateVulnerabilities } from '@kbn/cloud-security-posture/src/hooks/use_navigate_findings';
|
||||
import type { VulnSeverity } from '@kbn/cloud-security-posture-common';
|
||||
import {
|
||||
PatchableVulnerabilityStat,
|
||||
VulnerabilityStat,
|
||||
VulnerableResourceStat,
|
||||
VulnSeverity,
|
||||
} from '../../../common/types_old';
|
||||
import { DASHBOARD_TABLE_TYPES } from './vulnerability_table_panel.config';
|
||||
import { VulnerabilityTablePanel } from './vulnerability_table_panel';
|
||||
|
|
|
@ -20,8 +20,9 @@ import { i18n } from '@kbn/i18n';
|
|||
import { FormattedMessage } from '@kbn/i18n-react';
|
||||
|
||||
import { useNavigateVulnerabilities } from '@kbn/cloud-security-posture/src/hooks/use_navigate_findings';
|
||||
import type { VulnSeverity } from '@kbn/cloud-security-posture-common';
|
||||
import { truthy } from '../../../common/utils/helpers';
|
||||
import { VulnStatsTrend, VulnSeverity } from '../../../common/types_old';
|
||||
import { VulnStatsTrend } from '../../../common/types_old';
|
||||
import { useVulnerabilityDashboardApi } from '../../common/api/use_vulnerability_dashboard_api';
|
||||
import { getSeverityStatusColor } from '../../common/utils/get_vulnerability_colors';
|
||||
import { ChartPanel } from '../../components/chart_panel';
|
||||
|
|
|
@ -5,13 +5,15 @@
|
|||
* 2.0.
|
||||
*/
|
||||
|
||||
import { CDR_LATEST_NATIVE_MISCONFIGURATIONS_INDEX_PATTERN } from '@kbn/cloud-security-posture-common';
|
||||
import {
|
||||
CDR_LATEST_NATIVE_VULNERABILITIES_INDEX_PATTERN,
|
||||
CDR_LATEST_NATIVE_MISCONFIGURATIONS_INDEX_PATTERN,
|
||||
} from '@kbn/cloud-security-posture-common';
|
||||
import {
|
||||
FINDINGS_INDEX_NAME,
|
||||
LATEST_FINDINGS_INDEX_TEMPLATE_NAME,
|
||||
LATEST_FINDINGS_INDEX_DEFAULT_NS,
|
||||
VULNERABILITIES_INDEX_NAME,
|
||||
CDR_LATEST_NATIVE_VULNERABILITIES_INDEX_PATTERN,
|
||||
LATEST_VULNERABILITIES_INDEX_TEMPLATE_NAME,
|
||||
} from '../../common/constants';
|
||||
import { LatestIndexConfig } from './types';
|
||||
|
|
|
@ -7,9 +7,11 @@
|
|||
|
||||
import { TransformPutTransformRequest } from '@elastic/elasticsearch/lib/api/types';
|
||||
import {
|
||||
CLOUD_SECURITY_POSTURE_PACKAGE_NAME,
|
||||
CDR_LATEST_NATIVE_VULNERABILITIES_INDEX_PATTERN,
|
||||
LATEST_VULNERABILITIES_RETENTION_POLICY,
|
||||
} from '@kbn/cloud-security-posture-common';
|
||||
import {
|
||||
CLOUD_SECURITY_POSTURE_PACKAGE_NAME,
|
||||
VULNERABILITIES_INDEX_PATTERN,
|
||||
} from '../../common/constants';
|
||||
|
||||
|
|
|
@ -6,7 +6,11 @@
|
|||
*/
|
||||
import type { ElasticsearchClient } from '@kbn/core-elasticsearch-server';
|
||||
import type { ISavedObjectsRepository, Logger } from '@kbn/core/server';
|
||||
import { KSPM_POLICY_TEMPLATE, CSPM_POLICY_TEMPLATE } from '@kbn/cloud-security-posture-common';
|
||||
import {
|
||||
CDR_LATEST_NATIVE_VULNERABILITIES_INDEX_PATTERN,
|
||||
KSPM_POLICY_TEMPLATE,
|
||||
CSPM_POLICY_TEMPLATE,
|
||||
} from '@kbn/cloud-security-posture-common';
|
||||
import type { SearchRequest } from '@elastic/elasticsearch/lib/api/types';
|
||||
import { getPackagePolicyIdRuntimeMapping } from '../../../../common/runtime_mappings/get_package_policy_id_mapping';
|
||||
import { getIdentifierRuntimeMapping } from '../../../../common/runtime_mappings/get_identifier_runtime_mapping';
|
||||
|
@ -19,7 +23,6 @@ import type {
|
|||
} from './types';
|
||||
import {
|
||||
LATEST_FINDINGS_INDEX_DEFAULT_NS,
|
||||
CDR_LATEST_NATIVE_VULNERABILITIES_INDEX_PATTERN,
|
||||
VULN_MGMT_POLICY_TEMPLATE,
|
||||
} from '../../../../common/constants';
|
||||
import {
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
*/
|
||||
import type { CoreStart, Logger, SavedObjectsClientContract } from '@kbn/core/server';
|
||||
import type { ElasticsearchClient } from '@kbn/core-elasticsearch-server';
|
||||
import { CDR_LATEST_NATIVE_VULNERABILITIES_INDEX_PATTERN } from '@kbn/cloud-security-posture-common';
|
||||
import { getCspStatus } from '../../../routes/status/status';
|
||||
import type { CspServerPluginStart, CspServerPluginStartDeps } from '../../../types';
|
||||
|
||||
|
@ -14,7 +15,6 @@ import {
|
|||
BENCHMARK_SCORE_INDEX_DEFAULT_NS,
|
||||
FINDINGS_INDEX_DEFAULT_NS,
|
||||
LATEST_FINDINGS_INDEX_DEFAULT_NS,
|
||||
CDR_LATEST_NATIVE_VULNERABILITIES_INDEX_PATTERN,
|
||||
VULNERABILITIES_INDEX_DEFAULT_NS,
|
||||
} from '../../../../common/constants';
|
||||
|
||||
|
|
|
@ -12,6 +12,9 @@ import {
|
|||
STATUS_ROUTE_PATH,
|
||||
LATEST_FINDINGS_RETENTION_POLICY,
|
||||
CDR_MISCONFIGURATIONS_INDEX_PATTERN,
|
||||
CDR_LATEST_NATIVE_VULNERABILITIES_INDEX_PATTERN,
|
||||
LATEST_VULNERABILITIES_RETENTION_POLICY,
|
||||
CDR_VULNERABILITIES_INDEX_PATTERN,
|
||||
} from '@kbn/cloud-security-posture-common';
|
||||
import type {
|
||||
CspSetupStatus,
|
||||
|
@ -36,11 +39,8 @@ import {
|
|||
BENCHMARK_SCORE_INDEX_DEFAULT_NS,
|
||||
VULNERABILITIES_INDEX_PATTERN,
|
||||
POSTURE_TYPES,
|
||||
CDR_LATEST_NATIVE_VULNERABILITIES_INDEX_PATTERN,
|
||||
VULN_MGMT_POLICY_TEMPLATE,
|
||||
POSTURE_TYPE_ALL,
|
||||
LATEST_VULNERABILITIES_RETENTION_POLICY,
|
||||
CDR_VULNERABILITIES_INDEX_PATTERN,
|
||||
} from '../../../common/constants';
|
||||
import type {
|
||||
CspApiRequestHandlerContext,
|
||||
|
|
|
@ -7,8 +7,8 @@
|
|||
|
||||
import { SearchRequest } from '@elastic/elasticsearch/lib/api/types';
|
||||
import { ElasticsearchClient } from '@kbn/core-elasticsearch-server';
|
||||
import { CDR_LATEST_NATIVE_VULNERABILITIES_INDEX_PATTERN } from '@kbn/cloud-security-posture-common';
|
||||
import { AggFieldBucket, PatchableVulnerabilityStat } from '../../../common/types_old';
|
||||
import { CDR_LATEST_NATIVE_VULNERABILITIES_INDEX_PATTERN } from '../../../common/constants';
|
||||
|
||||
interface VulnerabilityBucket {
|
||||
key: string | undefined;
|
||||
|
|
|
@ -7,8 +7,8 @@
|
|||
|
||||
import { SearchRequest } from '@elastic/elasticsearch/lib/api/types';
|
||||
import { ElasticsearchClient } from '@kbn/core-elasticsearch-server';
|
||||
import { CDR_LATEST_NATIVE_VULNERABILITIES_INDEX_PATTERN } from '@kbn/cloud-security-posture-common';
|
||||
import { VulnerabilityStat } from '../../../common/types_old';
|
||||
import { CDR_LATEST_NATIVE_VULNERABILITIES_INDEX_PATTERN } from '../../../common/constants';
|
||||
|
||||
interface VulnerabilityBucket {
|
||||
key: string | undefined;
|
||||
|
|
|
@ -6,9 +6,9 @@
|
|||
*/
|
||||
|
||||
import { SearchRequest } from '@elastic/elasticsearch/lib/api/types';
|
||||
import { CDR_LATEST_NATIVE_VULNERABILITIES_INDEX_PATTERN } from '@kbn/cloud-security-posture-common';
|
||||
import { ElasticsearchClient } from '@kbn/core-elasticsearch-server';
|
||||
import { AggFieldBucket, VulnerableResourceStat } from '../../../common/types_old';
|
||||
import { CDR_LATEST_NATIVE_VULNERABILITIES_INDEX_PATTERN } from '../../../common/constants';
|
||||
|
||||
interface ResourceBucket {
|
||||
key: string | undefined;
|
||||
|
|
|
@ -7,10 +7,8 @@
|
|||
|
||||
import { SearchRequest } from '@elastic/elasticsearch/lib/api/types';
|
||||
import { ElasticsearchClient } from '@kbn/core-elasticsearch-server';
|
||||
import {
|
||||
CDR_LATEST_NATIVE_VULNERABILITIES_INDEX_PATTERN,
|
||||
VULNERABILITIES_SEVERITY,
|
||||
} from '../../../common/constants';
|
||||
import { CDR_LATEST_NATIVE_VULNERABILITIES_INDEX_PATTERN } from '@kbn/cloud-security-posture-common';
|
||||
import { VULNERABILITIES_SEVERITY } from '../../../common/constants';
|
||||
|
||||
export interface VulnerabilitiesStatisticsQueryResult {
|
||||
critical: {
|
||||
|
|
|
@ -19,11 +19,11 @@ import {
|
|||
CDR_MISCONFIGURATIONS_INDEX_PATTERN,
|
||||
CDR_MISCONFIGURATIONS_DATA_VIEW_ID_PREFIX,
|
||||
CDR_MISCONFIGURATIONS_DATA_VIEW_NAME,
|
||||
CDR_VULNERABILITIES_INDEX_PATTERN,
|
||||
} from '@kbn/cloud-security-posture-common';
|
||||
import {
|
||||
CDR_VULNERABILITIES_DATA_VIEW_ID_PREFIX,
|
||||
CDR_VULNERABILITIES_DATA_VIEW_NAME,
|
||||
CDR_VULNERABILITIES_INDEX_PATTERN,
|
||||
} from '../../common/constants';
|
||||
|
||||
const DATA_VIEW_TIME_FIELD = '@timestamp';
|
||||
|
|
|
@ -14,6 +14,7 @@ import {
|
|||
import type { SearchRequest } from '@elastic/elasticsearch/lib/api/types';
|
||||
import { ElasticsearchClient } from '@kbn/core/server';
|
||||
import { QueryDslQueryContainer } from '@kbn/data-views-plugin/common/types';
|
||||
import { CDR_LATEST_NATIVE_VULNERABILITIES_INDEX_PATTERN } from '@kbn/cloud-security-posture-common';
|
||||
import type { ISavedObjectsRepository, Logger } from '@kbn/core/server';
|
||||
import { getMutedRulesFilterQuery } from '../routes/benchmark_rules/get_states/v1';
|
||||
import { getSafePostureTypeRuntimeMapping } from '../../common/runtime_mappings/get_safe_posture_type_runtime_mapping';
|
||||
|
@ -24,7 +25,6 @@ import {
|
|||
CSPM_FINDINGS_STATS_INTERVAL,
|
||||
INTERNAL_CSP_SETTINGS_SAVED_OBJECT_TYPE,
|
||||
LATEST_FINDINGS_INDEX_DEFAULT_NS,
|
||||
CDR_LATEST_NATIVE_VULNERABILITIES_INDEX_PATTERN,
|
||||
VULNERABILITIES_SEVERITY,
|
||||
VULN_MGMT_POLICY_TEMPLATE,
|
||||
} from '../../common/constants';
|
||||
|
|
|
@ -9,11 +9,9 @@ import {
|
|||
CSPM_POLICY_TEMPLATE,
|
||||
KSPM_POLICY_TEMPLATE,
|
||||
CDR_LATEST_NATIVE_MISCONFIGURATIONS_INDEX_PATTERN,
|
||||
} from '@kbn/cloud-security-posture-common';
|
||||
import {
|
||||
CNVM_POLICY_TEMPLATE,
|
||||
CDR_LATEST_NATIVE_VULNERABILITIES_INDEX_PATTERN,
|
||||
} from '@kbn/cloud-security-posture-plugin/common/constants';
|
||||
} from '@kbn/cloud-security-posture-common';
|
||||
import { CNVM_POLICY_TEMPLATE } from '@kbn/cloud-security-posture-plugin/common/constants';
|
||||
import { INTEGRATION_PACKAGE_NAME } from '@kbn/cloud-defend-plugin/common/constants';
|
||||
|
||||
export const CLOUD_DEFEND_HEARTBEAT_INDEX = 'metrics-cloud_defend.heartbeat-*';
|
||||
|
|
|
@ -7,10 +7,10 @@
|
|||
import expect from '@kbn/expect';
|
||||
import type { CspSetupStatus } from '@kbn/cloud-security-posture-common';
|
||||
import { ELASTIC_HTTP_VERSION_HEADER } from '@kbn/core-http-common';
|
||||
import { CDR_LATEST_NATIVE_VULNERABILITIES_INDEX_PATTERN } from '@kbn/cloud-security-posture-common';
|
||||
import {
|
||||
FINDINGS_INDEX_DEFAULT_NS,
|
||||
LATEST_FINDINGS_INDEX_DEFAULT_NS,
|
||||
CDR_LATEST_NATIVE_VULNERABILITIES_INDEX_PATTERN,
|
||||
VULNERABILITIES_INDEX_DEFAULT_NS,
|
||||
} from '@kbn/cloud-security-posture-plugin/common/constants';
|
||||
import { generateAgent } from '../../../../fleet_api_integration/helpers';
|
||||
|
|
|
@ -6,11 +6,11 @@
|
|||
*/
|
||||
import expect from '@kbn/expect';
|
||||
import { ELASTIC_HTTP_VERSION_HEADER } from '@kbn/core-http-common';
|
||||
import { CDR_LATEST_NATIVE_VULNERABILITIES_INDEX_PATTERN } from '@kbn/cloud-security-posture-common';
|
||||
import type { CspSetupStatus } from '@kbn/cloud-security-posture-common';
|
||||
import {
|
||||
FINDINGS_INDEX_DEFAULT_NS,
|
||||
LATEST_FINDINGS_INDEX_DEFAULT_NS,
|
||||
CDR_LATEST_NATIVE_VULNERABILITIES_INDEX_PATTERN,
|
||||
VULNERABILITIES_INDEX_DEFAULT_NS,
|
||||
} from '@kbn/cloud-security-posture-plugin/common/constants';
|
||||
import { FtrProviderContext } from '../../../ftr_provider_context';
|
||||
|
|
|
@ -7,10 +7,10 @@
|
|||
import expect from '@kbn/expect';
|
||||
import { ELASTIC_HTTP_VERSION_HEADER } from '@kbn/core-http-common';
|
||||
import type { CspSetupStatus } from '@kbn/cloud-security-posture-common';
|
||||
import { CDR_LATEST_NATIVE_VULNERABILITIES_INDEX_PATTERN } from '@kbn/cloud-security-posture-common';
|
||||
import {
|
||||
FINDINGS_INDEX_DEFAULT_NS,
|
||||
LATEST_FINDINGS_INDEX_DEFAULT_NS,
|
||||
CDR_LATEST_NATIVE_VULNERABILITIES_INDEX_PATTERN,
|
||||
VULNERABILITIES_INDEX_DEFAULT_NS,
|
||||
} from '@kbn/cloud-security-posture-plugin/common/constants';
|
||||
import { FtrProviderContext } from '../../../ftr_provider_context';
|
||||
|
|
|
@ -6,11 +6,11 @@
|
|||
*/
|
||||
import expect from '@kbn/expect';
|
||||
import { ELASTIC_HTTP_VERSION_HEADER } from '@kbn/core-http-common';
|
||||
import { CDR_LATEST_NATIVE_VULNERABILITIES_INDEX_PATTERN } from '@kbn/cloud-security-posture-common';
|
||||
import type { CspSetupStatus } from '@kbn/cloud-security-posture-common';
|
||||
import {
|
||||
BENCHMARK_SCORE_INDEX_DEFAULT_NS,
|
||||
LATEST_FINDINGS_INDEX_DEFAULT_NS,
|
||||
CDR_LATEST_NATIVE_VULNERABILITIES_INDEX_PATTERN,
|
||||
FINDINGS_INDEX_PATTERN,
|
||||
} from '@kbn/cloud-security-posture-plugin/common/constants';
|
||||
import { FtrProviderContext } from '../../../ftr_provider_context';
|
||||
|
|
|
@ -5,10 +5,12 @@
|
|||
* 2.0.
|
||||
*/
|
||||
|
||||
import { CDR_LATEST_NATIVE_MISCONFIGURATIONS_INDEX_PATTERN } from '@kbn/cloud-security-posture-common';
|
||||
import {
|
||||
CDR_LATEST_NATIVE_MISCONFIGURATIONS_INDEX_PATTERN,
|
||||
CDR_LATEST_NATIVE_VULNERABILITIES_INDEX_PATTERN,
|
||||
} from '@kbn/cloud-security-posture-common';
|
||||
import {
|
||||
BENCHMARK_SCORE_INDEX_PATTERN,
|
||||
CDR_LATEST_NATIVE_VULNERABILITIES_INDEX_PATTERN,
|
||||
ALERTS_INDEX_PATTERN,
|
||||
FINDINGS_INDEX_PATTERN,
|
||||
} from '@kbn/cloud-security-posture-plugin/common/constants';
|
||||
|
|
|
@ -6,10 +6,8 @@
|
|||
*/
|
||||
|
||||
import expect from '@kbn/expect';
|
||||
import {
|
||||
LATEST_FINDINGS_INDEX_DEFAULT_NS,
|
||||
CDR_LATEST_NATIVE_VULNERABILITIES_INDEX_PATTERN,
|
||||
} from '@kbn/cloud-security-posture-plugin/common/constants';
|
||||
import { CDR_LATEST_NATIVE_VULNERABILITIES_INDEX_PATTERN } from '@kbn/cloud-security-posture-common';
|
||||
import { LATEST_FINDINGS_INDEX_DEFAULT_NS } from '@kbn/cloud-security-posture-plugin/common/constants';
|
||||
import * as http from 'http';
|
||||
import {
|
||||
deleteIndex,
|
||||
|
|
|
@ -7,10 +7,10 @@
|
|||
import expect from '@kbn/expect';
|
||||
import { ELASTIC_HTTP_VERSION_HEADER } from '@kbn/core-http-common';
|
||||
import type { CspSetupStatus } from '@kbn/cloud-security-posture-common';
|
||||
import { CDR_LATEST_NATIVE_VULNERABILITIES_INDEX_PATTERN } from '@kbn/cloud-security-posture-common';
|
||||
import {
|
||||
FINDINGS_INDEX_DEFAULT_NS,
|
||||
LATEST_FINDINGS_INDEX_DEFAULT_NS,
|
||||
CDR_LATEST_NATIVE_VULNERABILITIES_INDEX_PATTERN,
|
||||
VULNERABILITIES_INDEX_DEFAULT_NS,
|
||||
} from '@kbn/cloud-security-posture-plugin/common/constants';
|
||||
import {
|
||||
|
|
|
@ -7,10 +7,10 @@
|
|||
import expect from '@kbn/expect';
|
||||
import { ELASTIC_HTTP_VERSION_HEADER } from '@kbn/core-http-common';
|
||||
import type { CspSetupStatus } from '@kbn/cloud-security-posture-common';
|
||||
import { CDR_LATEST_NATIVE_VULNERABILITIES_INDEX_PATTERN } from '@kbn/cloud-security-posture-common';
|
||||
import {
|
||||
FINDINGS_INDEX_DEFAULT_NS,
|
||||
LATEST_FINDINGS_INDEX_DEFAULT_NS,
|
||||
CDR_LATEST_NATIVE_VULNERABILITIES_INDEX_PATTERN,
|
||||
VULNERABILITIES_INDEX_DEFAULT_NS,
|
||||
} from '@kbn/cloud-security-posture-plugin/common/constants';
|
||||
import {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue