[Security Solution] Security Common Schema Package (#148664)

This commit is contained in:
Steph Milovic 2023-01-23 10:07:08 -07:00 committed by GitHub
parent 2dd9c3a337
commit 6c0f67afc2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
198 changed files with 401 additions and 1651 deletions

1
.github/CODEOWNERS vendored
View file

@ -981,6 +981,7 @@ packages/kbn-rison @elastic/kibana-operations
packages/kbn-rule-data-utils @elastic/security-detections-response @elastic/actionable-observability @elastic/response-ops
packages/kbn-safer-lodash-set @elastic/kibana-security
packages/kbn-securitysolution-autocomplete @elastic/security-solution-platform
packages/kbn-securitysolution-ecs @elastic/security-threat-hunting-explore
packages/kbn-securitysolution-es-utils @elastic/security-solution-platform
packages/kbn-securitysolution-exception-list-components @elastic/security-solution-platform
packages/kbn-securitysolution-hook-utils @elastic/security-solution-platform

View file

@ -375,6 +375,7 @@
"@kbn/rule-data-utils": "link:packages/kbn-rule-data-utils",
"@kbn/safer-lodash-set": "link:packages/kbn-safer-lodash-set",
"@kbn/securitysolution-autocomplete": "link:packages/kbn-securitysolution-autocomplete",
"@kbn/securitysolution-ecs": "link:packages/kbn-securitysolution-ecs",
"@kbn/securitysolution-es-utils": "link:packages/kbn-securitysolution-es-utils",
"@kbn/securitysolution-exception-list-components": "link:packages/kbn-securitysolution-exception-list-components",
"@kbn/securitysolution-hook-utils": "link:packages/kbn-securitysolution-hook-utils",

View file

@ -0,0 +1,4 @@
# @kbn/securitysolution-ecs
Security Solution Ecs
- Ecs for the security solution

View file

@ -0,0 +1,9 @@
/*
* 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 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
export * from './src';

View file

@ -0,0 +1,13 @@
/*
* 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 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
module.exports = {
preset: '@kbn/test',
rootDir: '../..',
roots: ['<rootDir>/packages/kbn-securitysolution-ecs'],
};

View file

@ -0,0 +1,5 @@
{
"type": "shared-common",
"id": "@kbn/securitysolution-ecs",
"owner": "@elastic/security-threat-hunting-explore"
}

View file

@ -0,0 +1,6 @@
{
"name": "@kbn/securitysolution-ecs",
"private": true,
"version": "1.0.0",
"license": "SSPL-1.0 OR Elastic License 2.0"
}

View file

@ -1,8 +1,9 @@
/*
* 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.
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
export interface AgentEcs {

View file

@ -1,8 +1,9 @@
/*
* 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.
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
export interface AuditdEcs {

View file

@ -1,8 +1,9 @@
/*
* 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.
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
export interface CloudEcs {

View file

@ -1,8 +1,9 @@
/*
* 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.
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
import type { GeoEcs } from '../geo';

View file

@ -1,8 +1,9 @@
/*
* 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.
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
import type { CodeSignature } from '../file';

View file

@ -1,8 +1,9 @@
/*
* 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.
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
export interface DnsEcs {

View file

@ -1,8 +1,9 @@
/*
* 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.
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
import { extendMap } from './extend_map';

View file

@ -1,8 +1,9 @@
/*
* 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.
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
export const extendMap = (

View file

@ -1,8 +1,9 @@
/*
* 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.
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
import { extendMap } from './extend_map';

View file

@ -1,8 +1,9 @@
/*
* 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.
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
export interface EndgameEcs {

View file

@ -1,8 +1,9 @@
/*
* 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.
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
export interface EventEcs {

View file

@ -1,8 +1,9 @@
/*
* 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.
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
interface Original {

View file

@ -1,8 +1,9 @@
/*
* 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.
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
export interface GeoEcs {

View file

@ -1,8 +1,9 @@
/*
* 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.
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
export interface HostEcs {

View file

@ -1,8 +1,9 @@
/*
* 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.
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
export interface HttpEcs {

View file

@ -1,80 +1,127 @@
/*
* 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.
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
import type { AgentEcs } from './agent';
import { AgentEcs } from './agent';
import type { AuditdEcs } from './auditd';
import type { CloudEcs } from './cloud';
import type { CodeSignature, FileEcs } from './file';
import type { DestinationEcs } from './destination';
import type { DnsEcs } from './dns';
import type { DllEcs } from './dll';
import type { DnsEcs } from './dns';
import type { EndgameEcs } from './endgame';
import { EventCategory, EventCode } from './event';
import type { EventEcs } from './event';
import type { FileEcs } from './file';
import type { GeoEcs } from './geo';
import type { HostEcs } from './host';
import type { HostEcs, OsEcs } from './host';
import type { HttpEcs } from './http';
import type { MemoryProtection } from './memory_protection';
import type { NetworkEcs } from './network';
import type { ProcessEcs } from './process';
import type { Ransomware } from './ransomware';
import type { RegistryEcs } from './registry';
import type { RuleEcs } from './rule';
import type { SignalEcs, SignalEcsAAD } from './signal';
import type { SourceEcs } from './source';
import type { SuricataEcs } from './suricata';
import type { SystemEcs } from './system';
import type { Target } from './target_type';
import type { ThreatEcs, ThreatIndicatorEcs } from './threat';
import type { TlsEcs } from './tls';
import type { ZeekEcs } from './zeek';
import type { HttpEcs } from './http';
import type { UrlEcs } from './url';
import type { UserEcs } from './user';
import type { WinlogEcs } from './winlog';
import type { ProcessEcs } from './process';
import type { SystemEcs } from './system';
import type { ThreatEcs } from './threat';
import type { Ransomware } from './ransomware';
import type { MemoryProtection } from './memory_protection';
import type { Target } from './target_type';
import type { ZeekEcs } from './zeek';
export * from './ecs_fields';
export interface Ecs {
_id: string;
_index?: string;
export { EventCategory, EventCode };
export type {
AgentEcs,
AuditdEcs,
CloudEcs,
CodeSignature,
DestinationEcs,
DllEcs,
DnsEcs,
EndgameEcs,
EventEcs,
FileEcs,
GeoEcs,
HostEcs,
HttpEcs,
MemoryProtection,
NetworkEcs,
OsEcs,
ProcessEcs,
Ransomware,
RegistryEcs,
RuleEcs,
SignalEcs,
SourceEcs,
SuricataEcs,
SystemEcs,
Target,
ThreatEcs,
ThreatIndicatorEcs,
TlsEcs,
UrlEcs,
UserEcs,
WinlogEcs,
ZeekEcs,
};
// Security Solution Extension of the Elastic Common Schema
export interface EcsSecurityExtension {
// Ecs Overrides
// overrides Ecs to support multiple values for security entities
agent?: AgentEcs;
auditd?: AuditdEcs;
destination?: DestinationEcs;
dns?: DnsEcs;
endgame?: EndgameEcs;
event?: EventEcs;
geo?: GeoEcs;
file?: FileEcs;
host?: HostEcs;
http?: HttpEcs;
message?: string[];
network?: NetworkEcs;
process?: ProcessEcs;
registry?: RegistryEcs;
rule?: RuleEcs;
source?: SourceEcs;
threat?: ThreatEcs;
tls?: TlsEcs;
url?: UrlEcs;
user?: UserEcs;
// Security Specific Ecs
// exists only in security solution Ecs definition
_id: string;
_index?: string;
auditd?: AuditdEcs;
endgame?: EndgameEcs;
geo?: GeoEcs;
kibana?: {
alert: SignalEcsAAD;
};
signal?: SignalEcs;
source?: SourceEcs;
suricata?: SuricataEcs;
tls?: TlsEcs;
zeek?: ZeekEcs;
http?: HttpEcs;
url?: UrlEcs;
timestamp?: string;
message?: string[];
user?: UserEcs;
winlog?: WinlogEcs;
process?: ProcessEcs;
file?: FileEcs;
system?: SystemEcs;
threat?: ThreatEcs;
// This should be temporary
eql?: { parentId: string; sequenceNumber: string };
Ransomware?: Ransomware;
// eslint-disable-next-line @typescript-eslint/naming-convention
Memory_protection?: MemoryProtection;
Target?: Target;
dll?: DllEcs;
'kibana.alert.workflow_status'?: 'open' | 'acknowledged' | 'in-progress' | 'closed';
// I believe these parameters are all snake cased to correspond with how they are sent "over the wire" as request / response
// Not representative of the parsed types that are camel cased.
'kibana.alert.rule.parameters'?: { index: string[]; data_view_id?: string };
'kibana.alert.workflow_status'?: 'open' | 'acknowledged' | 'in-progress' | 'closed';
// eslint-disable-next-line @typescript-eslint/naming-convention
Memory_protection?: MemoryProtection;
Ransomware?: Ransomware;
Target?: Target;
dll?: DllEcs;
// This should be temporary
eql?: { parentId: string; sequenceNumber: string };
signal?: SignalEcs;
suricata?: SuricataEcs;
system?: SystemEcs;
timestamp?: string;
winlog?: WinlogEcs;
zeek?: ZeekEcs;
}

View file

@ -1,9 +1,11 @@
/*
* 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.
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
export interface MemoryProtection {
cross_session?: boolean;
feature?: string;

View file

@ -1,8 +1,9 @@
/*
* 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.
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
export interface NetworkEcs {

View file

@ -1,8 +1,9 @@
/*
* 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.
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
import type { CodeSignature, Ext } from '../file';

View file

@ -1,8 +1,9 @@
/*
* 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.
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
export interface Ransomware {

View file

@ -1,8 +1,9 @@
/*
* 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.
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
export interface RegistryEcs {

View file

@ -1,8 +1,9 @@
/*
* 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.
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
export interface RuleEcs {

View file

@ -1,8 +1,9 @@
/*
* 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.
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
import type { RuleEcs } from '../rule';

View file

@ -1,8 +1,9 @@
/*
* 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.
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
import type { GeoEcs } from '../geo';

View file

@ -1,8 +1,9 @@
/*
* 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.
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
export interface SuricataEcs {

View file

@ -1,8 +1,9 @@
/*
* 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.
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
export interface SystemEcs {

View file

@ -1,8 +1,9 @@
/*
* 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.
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
import type { ProcessEcs } from '../process';

View file

@ -1,8 +1,9 @@
/*
* 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.
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
import type { EventEcs } from '../event';
@ -31,9 +32,14 @@ export interface ThreatIndicatorEcs {
type?: string[];
}
export interface ThreatFeedEcs {
name?: string[];
}
export interface ThreatEnrichmentEcs {
indicator?: ThreatIndicatorEcs;
matched?: ThreatMatchEcs;
feed?: ThreatFeedEcs;
}
export interface ThreatEcs {

View file

@ -1,8 +1,9 @@
/*
* 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.
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
export interface TlsEcs {

View file

@ -1,8 +1,9 @@
/*
* 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.
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
export interface UrlEcs {

View file

@ -1,8 +1,9 @@
/*
* 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.
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
export interface UserEcs {

View file

@ -1,8 +1,9 @@
/*
* 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.
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
export interface WinlogEcs {

View file

@ -1,8 +1,9 @@
/*
* 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.
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
export interface ZeekEcs {

View file

@ -0,0 +1,16 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"outDir": "target/types",
"types": [
"jest",
"node"
]
},
"include": [
"**/*.ts"
],
"exclude": [
"target/**/*"
]
}

View file

@ -990,6 +990,8 @@
"@kbn/security-test-endpoints-plugin/*": ["x-pack/test/security_functional/plugins/test_endpoints/*"],
"@kbn/securitysolution-autocomplete": ["packages/kbn-securitysolution-autocomplete"],
"@kbn/securitysolution-autocomplete/*": ["packages/kbn-securitysolution-autocomplete/*"],
"@kbn/securitysolution-ecs": ["packages/kbn-securitysolution-ecs"],
"@kbn/securitysolution-ecs/*": ["packages/kbn-securitysolution-ecs/*"],
"@kbn/securitysolution-es-utils": ["packages/kbn-securitysolution-es-utils"],
"@kbn/securitysolution-es-utils/*": ["packages/kbn-securitysolution-es-utils/*"],
"@kbn/securitysolution-exception-list-components": ["packages/kbn-securitysolution-exception-list-components"],

View file

@ -18,7 +18,7 @@ import React, { useMemo, useState, useCallback } from 'react';
import { CaseAttachmentsWithoutOwner } from '@kbn/cases-plugin/public';
import { CommentType } from '@kbn/cases-plugin/common';
import { Ecs } from '@kbn/timelines-plugin/common/ecs';
import { EcsSecurityExtension as Ecs } from '@kbn/securitysolution-ecs';
import { TimelineNonEcsData } from '@kbn/timelines-plugin/common';
import { isAlertDetailsEnabledPerApp } from '../../../utils/is_alert_details_enabled';
import { useKibana } from '../../../utils/kibana_react';

View file

@ -69,6 +69,7 @@
"@kbn/slo-schema",
"@kbn/guided-onboarding",
"@kbn/charts-plugin",
"@kbn/securitysolution-ecs",
],
"exclude": [
"target/**/*",

View file

@ -1,46 +0,0 @@
/*
* 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 interface AuditdEcs {
result?: string[];
session?: string[];
data?: AuditdDataEcs;
summary?: SummaryEcs;
sequence?: string[];
}
export interface AuditdDataEcs {
acct?: string[];
terminal?: string[];
op?: string[];
}
export interface SummaryEcs {
actor?: PrimarySecondaryEcs;
object?: PrimarySecondaryEcs;
how?: string[];
message_type?: string[];
sequence?: string[];
}
export interface PrimarySecondaryEcs {
primary?: string[];
secondary?: string[];
type?: string[];
}

View file

@ -1,21 +0,0 @@
/*
* 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 interface CloudEcs {
instance?: CloudInstanceEcs;
machine?: CloudMachineEcs;
provider?: string[];
region?: string[];
}
export interface CloudMachineEcs {
type?: string[];
}
export interface CloudInstanceEcs {
id?: string[];
}

View file

@ -1,20 +0,0 @@
/*
* 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 interface DnsEcs {
question?: DnsQuestionEcs;
resolved_ip?: string[];
response_code?: string[];
}
export interface DnsQuestionEcs {
name?: string[];
type?: string[];
}

View file

@ -1,21 +0,0 @@
/*
* 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 interface GeoEcs {
city_name?: string[];
continent_name?: string[];
country_iso_code?: string[];
country_name?: string[];
location?: Location;
region_iso_code?: string[];
region_name?: string[];
}
export interface Location {
lon?: number[];
lat?: number[];
}

View file

@ -1,36 +0,0 @@
/*
* 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 interface HostEcs {
architecture?: string[];
id?: string[];
ip?: string[];
mac?: string[];
name?: string[];
os?: OsEcs;
type?: string[];
}
export interface OsEcs {
platform?: string[];
name?: string[];
full?: string[];
family?: string[];
version?: string[];
kernel?: string[];
}

View file

@ -1,38 +0,0 @@
/*
* 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 interface HttpEcs {
version?: string[];
request?: HttpRequestData;
response?: HttpResponseData;
}
export interface HttpRequestData {
method?: string[];
body?: HttpBodyData;
referrer?: string[];
bytes?: number[];
}
export interface HttpBodyData {
content?: string[];
bytes?: number[];
}
export interface HttpResponseData {
status_code?: number[];
body?: HttpBodyData;
bytes?: number[];
}

View file

@ -1,30 +0,0 @@
/*
* 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 interface Ransomware {
feature?: string[];
score?: string[];
version?: number[];
child_pids?: string[];
files?: RansomwareFiles;
}
export interface RansomwareFiles {
operation?: string[];
entropy?: number[];
metrics?: string[];
extension?: string[];
original?: OriginalRansomwareFiles;
path?: string[];
data?: string[];
score?: number[];
}
export interface OriginalRansomwareFiles {
path?: string[];
extension?: string[];
}

View file

@ -1,24 +0,0 @@
/*
* 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 interface SuricataEcs {
eve?: SuricataEveData;
}
export interface SuricataEveData {
alert?: SuricataAlertData;
flow_id?: number[];
proto?: string[];
}
export interface SuricataAlertData {
signature?: string[];
signature_id?: number[];
}

View file

@ -1,34 +0,0 @@
/*
* 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 interface TlsEcs {
client_certificate?: TlsClientCertificateData;
fingerprints?: TlsFingerprintsData;
server_certificate?: TlsServerCertificateData;
}
export interface TlsClientCertificateData {
fingerprint?: FingerprintData;
}
export interface FingerprintData {
sha1?: string[];
}
export interface TlsFingerprintsData {
ja3?: TlsJa3Data;
}
export interface TlsJa3Data {
hash?: string[];
}
export interface TlsServerCertificateData {
fingerprint?: FingerprintData;
}

View file

@ -1,16 +0,0 @@
/*
* 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 interface UrlEcs {
domain?: string[];
original?: string[];
username?: string[];
password?: string[];
}

View file

@ -1,22 +0,0 @@
/*
* 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 interface UserEcs {
domain?: string[];
id?: string[];
name?: string[];
full_name?: string[];
email?: string[];
hash?: string[];
group?: string[];
}

View file

@ -1,10 +0,0 @@
/*
* 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 interface WinlogEcs {
event_id?: number[];
}

View file

@ -5,8 +5,7 @@
* 2.0.
*/
import type { CloudEcs } from '../../../../ecs/cloud';
import type { HostEcs, OsEcs } from '../../../../ecs/host';
import type { CloudEcs, HostEcs, OsEcs } from '@kbn/securitysolution-ecs';
import type { Hit, Hits, Maybe, SearchHit, StringOrNumber, TotalValue } from '../../../common';
import type { EndpointPendingActions, HostStatus } from '../../../../endpoint/types';
import type { CommonFields } from '../..';

View file

@ -7,9 +7,7 @@
import type { IEsSearchResponse } from '@kbn/data-plugin/common';
import type { HostEcs } from '../../../../ecs/host';
import type { UserEcs } from '../../../../ecs/user';
import type { ProcessEcs } from '../../../../ecs/process';
import type { HostEcs, ProcessEcs, UserEcs } from '@kbn/securitysolution-ecs';
import type {
RequestOptionsPaginated,
SortField,

View file

@ -5,7 +5,7 @@
* 2.0.
*/
import type { GeoEcs } from '../../../../ecs/geo';
import type { GeoEcs } from '@kbn/securitysolution-ecs';
import type { Maybe } from '../../..';
export enum NetworkDirectionEcs {

View file

@ -6,8 +6,7 @@
*/
import type { IEsSearchResponse } from '@kbn/data-plugin/common';
import type { HostEcs } from '../../../../ecs/host';
import type { GeoEcs } from '../../../../ecs/geo';
import type { HostEcs, GeoEcs } from '@kbn/securitysolution-ecs';
import type { Inspect, Maybe, TotalValue, Hit, ShardsResponse } from '../../../common';
import type { RequestBasicOptions } from '../..';

View file

@ -7,9 +7,7 @@
import type { IEsSearchResponse } from '@kbn/data-plugin/common';
import type { UserEcs } from '../../../../ecs/user';
import type { SourceEcs } from '../../../../ecs/source';
import type { HostEcs } from '../../../../ecs/host';
import type { UserEcs, SourceEcs, HostEcs } from '@kbn/securitysolution-ecs';
import type {
CursorType,
Inspect,

View file

@ -5,9 +5,8 @@
* 2.0.
*/
import type { HostEcs, UserEcs } from '@kbn/securitysolution-ecs';
import type { CommonFields, Maybe, RiskScoreFields, RiskSeverity, SortField } from '../../..';
import type { HostEcs } from '../../../../ecs/host';
import type { UserEcs } from '../../../../ecs/user';
export interface UserRiskScoreItem {
_id?: Maybe<string>;

View file

@ -14,8 +14,8 @@ import type {
import type { IFieldSubType } from '@kbn/es-query';
import type { FieldBrowserOptions } from '@kbn/triggers-actions-ui-plugin/public';
import type { ComponentType, JSXElementConstructor, ReactNode } from 'react';
import type { EcsSecurityExtension as Ecs } from '@kbn/securitysolution-ecs';
import type { OnRowSelected, SetEventsDeleted, SetEventsLoading } from '..';
import type { Ecs } from '../../ecs';
import type { BrowserFields, TimelineNonEcsData } from '../../search_strategy';
import type { SortColumnTable } from '../data_table';

View file

@ -7,8 +7,8 @@
import type { EuiDataGridCellValueElementProps } from '@elastic/eui';
import type { Filter } from '@kbn/es-query';
import type { EcsSecurityExtension as Ecs } from '@kbn/securitysolution-ecs';
import type { ColumnHeaderOptions, RowRenderer } from '../..';
import type { Ecs } from '../../../ecs';
import type { BrowserFields, TimelineNonEcsData } from '../../../search_strategy';
/** The following props are provided to the function called by `renderCellValue` */

View file

@ -9,8 +9,8 @@ import { isEmpty } from 'lodash/fp';
import type { EuiDataGridCellValueElementProps } from '@elastic/eui';
import type { EuiTheme } from '@kbn/kibana-react-plugin/common';
import type { EcsSecurityExtension as Ecs } from '@kbn/securitysolution-ecs';
import type { SortColumnTable } from '../../../../common/types';
import type { Ecs } from '../../../../common/ecs';
import type { TimelineItem, TimelineNonEcsData } from '../../../../common/search_strategy';
import type { ColumnHeaderOptions, SortDirection } from '../../../../common/types/timeline';

View file

@ -20,6 +20,7 @@ import React, { useCallback, useMemo, useState } from 'react';
import styled from 'styled-components';
import { isEmpty } from 'lodash';
import type { EcsSecurityExtension as Ecs } from '@kbn/securitysolution-ecs';
import type { SearchHit } from '../../../../common/search_strategy';
import { getMitreComponentParts } from '../../../detections/mitre/get_mitre_threat_component';
import { GuidedOnboardingTourStep } from '../guided_onboarding_tour/tour_step';
@ -37,7 +38,6 @@ import { ThreatSummaryView } from './cti_details/threat_summary_view';
import { ThreatDetailsView } from './cti_details/threat_details_view';
import * as i18n from './translations';
import { AlertSummaryView } from './alert_summary_view';
import type { Ecs } from '../../../../common/ecs';
import type { BrowserFields } from '../../containers/source';
import { useInvestigationTimeEnrichment } from '../../containers/cti/event_enrichment';
import type { TimelineEventsDetailsItem } from '../../../../common/search_strategy/timeline';

View file

@ -8,6 +8,7 @@
import { find, isEmpty, uniqBy } from 'lodash/fp';
import { ALERT_RULE_PARAMETERS, ALERT_RULE_TYPE } from '@kbn/rule-data-utils';
import { EventCode, EventCategory } from '@kbn/securitysolution-ecs';
import * as i18n from './translations';
import type { BrowserFields } from '../../../../common/search_strategy/index_fields';
import {
@ -30,7 +31,6 @@ import type { EventSummaryField, EnrichedFieldInfo } from './types';
import type { TimelineEventsDetailsItem } from '../../../../common/search_strategy/timeline';
import { isAlertFromEndpointEvent } from '../../utils/endpoint_alert_check';
import { EventCode, EventCategory } from '../../../../common/ecs/event';
const THRESHOLD_TERMS_FIELD = `${ALERT_THRESHOLD_RESULT}.terms.field`;
const THRESHOLD_TERMS_VALUE = `${ALERT_THRESHOLD_RESULT}.terms.value`;

View file

@ -9,7 +9,7 @@ import { EuiCode, EuiEmptyPrompt, EuiNotificationBadge, EuiSpacer } from '@elast
import React, { useMemo } from 'react';
import styled from 'styled-components';
import { FormattedMessage } from '@kbn/i18n-react';
import type { Ecs } from '../../../../common/ecs';
import type { EcsSecurityExtension as Ecs } from '@kbn/securitysolution-ecs';
import { PERMISSION_DENIED } from '../../../detection_engine/rule_response_actions/osquery/translations';
import { expandDottedObject } from '../../../../common/utils/expand_dotted';
import { useIsExperimentalFeatureEnabled } from '../../hooks/use_experimental_features';

View file

@ -11,9 +11,9 @@ import { reduce } from 'lodash';
import { i18n } from '@kbn/i18n';
import styled from 'styled-components';
import { EuiButton } from '@elastic/eui';
import type { EcsSecurityExtension as Ecs } from '@kbn/securitysolution-ecs';
import { BasicAlertDataContext } from '../../../event_details/investigation_guide_view';
import { expandDottedObject } from '../../../../../../common/utils/expand_dotted';
import type { Ecs } from '../../../../../../common/ecs';
import OsqueryLogo from './osquery_icon/osquery.svg';
import { OsqueryFlyout } from '../../../../../detections/components/osquery/osquery_flyout';

View file

@ -5,7 +5,7 @@
* 2.0.
*/
import type { Ecs } from '../../../../common/ecs';
import type { EcsSecurityExtension as Ecs } from '@kbn/securitysolution-ecs';
export const demoEndgameCreationEvent: Ecs = {
_id: 'BcjPcG0BOpWiDweSou3g',

View file

@ -5,7 +5,7 @@
* 2.0.
*/
import type { Ecs } from '../../../../common/ecs';
import type { EcsSecurityExtension as Ecs } from '@kbn/securitysolution-ecs';
export const demoEndgameDnsRequest: Ecs = {
_id: 'S8jPcG0BOpWiDweSou3g',

View file

@ -5,7 +5,7 @@
* 2.0.
*/
import type { Ecs } from '../../../../common/ecs';
import type { EcsSecurityExtension as Ecs } from '@kbn/securitysolution-ecs';
export const demoEndgameFileCreateEvent: Ecs = {
_id: '98jPcG0BOpWiDweSouzg',

View file

@ -5,7 +5,7 @@
* 2.0.
*/
import type { Ecs } from '../../../../common/ecs';
import type { EcsSecurityExtension as Ecs } from '@kbn/securitysolution-ecs';
export const demoEndgameIpv4ConnectionAcceptEvent: Ecs = {
_id: 'LsjPcG0BOpWiDweSCNfu',

View file

@ -5,7 +5,7 @@
* 2.0.
*/
import type { Ecs } from '../../../../common/ecs';
import type { EcsSecurityExtension as Ecs } from '@kbn/securitysolution-ecs';
export const demoEndgameTerminationEvent: Ecs = {
_id: '2MjPcG0BOpWiDweSoutC',

View file

@ -5,7 +5,7 @@
* 2.0.
*/
import type { Ecs } from '../../../../common/ecs';
import type { EcsSecurityExtension as Ecs } from '@kbn/securitysolution-ecs';
export const demoEndgameUserLogon: Ecs = {
_id: 'QsjPcG0BOpWiDweSeuRE',

View file

@ -5,7 +5,7 @@
* 2.0.
*/
import type { Ecs } from '../../../../common/ecs';
import type { EcsSecurityExtension as Ecs } from '@kbn/securitysolution-ecs';
export const demoEndpointLibraryLoadEvent: Ecs = {
file: {

View file

@ -5,7 +5,7 @@
* 2.0.
*/
import type { Ecs } from '../../../../common/ecs';
import type { EcsSecurityExtension as Ecs } from '@kbn/securitysolution-ecs';
export const demoEndpointProcessExecutionMalwarePreventionAlert: Ecs = {
process: {

View file

@ -5,7 +5,7 @@
* 2.0.
*/
import type { Ecs } from '../../../../common/ecs';
import type { EcsSecurityExtension as Ecs } from '@kbn/securitysolution-ecs';
export const demoEndpointRegistryModificationEvent: Ecs = {
host: {

View file

@ -5,8 +5,8 @@
* 2.0.
*/
import type { EcsSecurityExtension as Ecs } from '@kbn/securitysolution-ecs';
import { ONE_MILLISECOND_AS_NANOSECONDS } from '../../timelines/components/formatted_duration/helpers';
import type { Ecs } from '../../../common/ecs';
/** Returns mock data for testing the Netflow component */
export const getDemoNetflowData = (): Ecs => ({

View file

@ -11,7 +11,7 @@ import type {
BrowserFields,
TimelineNonEcsData,
} from '@kbn/timelines-plugin/common/search_strategy';
import type { Ecs } from '../../../../common/ecs';
import type { EcsSecurityExtension as Ecs } from '@kbn/securitysolution-ecs';
import { defaultCellActions } from './default_cell_actions';
import { COLUMNS_WITH_LINKS, EmptyComponent } from './helpers';

View file

@ -9,9 +9,9 @@ import type { EuiDataGridColumnCellActionProps } from '@elastic/eui';
import { head, getOr, get, isEmpty } from 'lodash/fp';
import React, { useMemo } from 'react';
import type { EcsSecurityExtension as Ecs } from '@kbn/securitysolution-ecs';
import type { ColumnHeaderOptions } from '../../../../common/types';
import type { TimelineNonEcsData } from '../../../../common/search_strategy';
import type { Ecs } from '../../../../common/ecs';
import { useGetMappedNonEcsValue } from '../../../timelines/components/timeline/body/data_driven_columns';
import { FormattedFieldValue } from '../../../timelines/components/timeline/body/renderers/formatted_field';
import { parseValue } from '../../../timelines/components/timeline/body/renderers/parse_value';

View file

@ -5,7 +5,7 @@
* 2.0.
*/
import type { Ecs } from '../../../common/ecs';
import type { EcsSecurityExtension as Ecs } from '@kbn/securitysolution-ecs';
export const getDetectionAlertMock = (overrides: Partial<Ecs> = {}): Ecs => ({
...{

View file

@ -5,7 +5,7 @@
* 2.0.
*/
import type { Ecs } from '../../../common/ecs';
import type { EcsSecurityExtension as Ecs } from '@kbn/securitysolution-ecs';
export const mockAADEcsDataWithAlert: Ecs = {
_id: '1',

View file

@ -5,7 +5,7 @@
* 2.0.
*/
import type { Ecs } from '../../../common/ecs';
import type { EcsSecurityExtension as Ecs } from '@kbn/securitysolution-ecs';
// these "mocks" are used by browser bundles so they were moved out of the mocks and are
// re-exported here for convenience and internal bwc

View file

@ -5,7 +5,7 @@
* 2.0.
*/
import type { Ecs } from '../../../common/ecs';
import type { EcsSecurityExtension as Ecs } from '@kbn/securitysolution-ecs';
export { demoTimelineData as mockTimelineData } from '../demo_data/timeline';
export { demoEndpointRegistryModificationEvent as mockEndpointRegistryModificationEvent } from '../demo_data/endpoint/registry_modification_event';

View file

@ -6,7 +6,7 @@
*/
import _ from 'lodash';
import type { Ecs } from '../../../common/ecs';
import type { EcsSecurityExtension as Ecs } from '@kbn/securitysolution-ecs';
import { generateMockDetailItemData } from '../mock';
import { isAlertFromEndpointAlert, isAlertFromEndpointEvent } from './endpoint_alert_check';

View file

@ -7,7 +7,7 @@
import { find, getOr, some } from 'lodash/fp';
import type { TimelineEventsDetailsItem } from '@kbn/timelines-plugin/common';
import type { Ecs } from '../../../common/ecs';
import type { EcsSecurityExtension as Ecs } from '@kbn/securitysolution-ecs';
/**
* Check to see if a timeline event item is an Alert (vs an event)

View file

@ -39,7 +39,7 @@ import { getEntryMatchMock } from '@kbn/lists-plugin/common/schemas/types/entry_
import { getCommentsArrayMock } from '@kbn/lists-plugin/common/schemas/types/comment.mock';
import { fields } from '@kbn/data-plugin/common/mocks';
import { ENTRIES, OLD_DATE_RELATIVE_TO_DATE_NOW } from '@kbn/lists-plugin/common/constants.mock';
import type { CodeSignature } from '../../../../common/ecs/file';
import type { CodeSignature } from '@kbn/securitysolution-ecs';
import {
ALERT_ORIGINAL_EVENT_KIND,
ALERT_ORIGINAL_EVENT_MODULE,

View file

@ -34,11 +34,10 @@ import { getNewExceptionItem, addIdToEntries } from '@kbn/securitysolution-list-
import type { DataViewBase } from '@kbn/es-query';
import { removeIdFromExceptionItemsEntries } from '@kbn/securitysolution-list-hooks';
import type { EcsSecurityExtension as Ecs, CodeSignature } from '@kbn/securitysolution-ecs';
import * as i18n from './translations';
import type { AlertData, Flattened } from './types';
import type { Ecs } from '../../../../common/ecs';
import type { CodeSignature } from '../../../../common/ecs/file';
import { WithCopyToClipboard } from '../../../common/lib/clipboard/with_copy_to_clipboard';
import exceptionableLinuxFields from './exceptionable_linux_fields.json';
import exceptionableWindowsMacFields from './exceptionable_windows_mac_fields.json';

View file

@ -6,8 +6,7 @@
*/
import type { NamespaceType } from '@kbn/securitysolution-io-ts-list-types';
import type { Ecs } from '../../../../common/ecs';
import type { CodeSignature } from '../../../../common/ecs/file';
import type { EcsSecurityExtension as Ecs, CodeSignature } from '@kbn/securitysolution-ecs';
export interface ExceptionListItemIdentifiers {
id: string;

View file

@ -31,7 +31,7 @@ import {
mockTimelineData,
} from '../../../common/mock';
import type { CreateTimeline, UpdateTimelineLoading } from './types';
import type { Ecs } from '../../../../common/ecs';
import type { EcsSecurityExtension as Ecs } from '@kbn/securitysolution-ecs';
import type { DataProvider } from '../../../../common/types/timeline';
import {
TimelineId,

View file

@ -30,6 +30,7 @@ import {
} from '@kbn/rule-data-utils';
import { lastValueFrom } from 'rxjs';
import type { EcsSecurityExtension as Ecs } from '@kbn/securitysolution-ecs';
import type { DataTableModel } from '../../../common/store/data_table/types';
import {
ALERT_ORIGINAL_TIME,
@ -50,7 +51,6 @@ import type {
GetExceptionFilter,
CreateTimeline,
} from './types';
import type { Ecs } from '../../../../common/ecs';
import type {
TimelineEventsDetailsItem,
TimelineEventsDetailsRequestOptions,

View file

@ -10,7 +10,7 @@ import { AlertContextMenu } from './alert_context_menu';
import { TableId, TimelineId } from '../../../../../common/types';
import { TestProviders } from '../../../../common/mock';
import React from 'react';
import type { Ecs } from '../../../../../common/ecs';
import type { EcsSecurityExtension as Ecs } from '@kbn/securitysolution-ecs';
import { mockTimelines } from '../../../../common/mock/mock_timelines_plugin';
import { mockCasesContract } from '@kbn/cases-plugin/public/mocks';
import { initialUserPrivilegesState as mockInitialUserPrivilegesState } from '../../../../common/components/user_privileges/user_privileges_context';

View file

@ -13,6 +13,7 @@ import type { ConnectedProps } from 'react-redux';
import { connect } from 'react-redux';
import { ExceptionListTypeEnum } from '@kbn/securitysolution-io-ts-list-types';
import { get } from 'lodash/fp';
import type { EcsSecurityExtension as Ecs } from '@kbn/securitysolution-ecs';
import { DEFAULT_ACTION_BUTTON_WIDTH } from '../../../../common/components/header_actions';
import { isActiveTimeline } from '../../../../helpers';
import { useOsqueryContextActionItem } from '../../osquery/use_osquery_context_action_item';
@ -21,7 +22,6 @@ import { useRouteSpy } from '../../../../common/utils/route/use_route_spy';
import { buildGetAlertByIdQuery } from '../../../../detection_engine/rule_exceptions/utils/helpers';
import { useUserPrivileges } from '../../../../common/components/user_privileges';
import { EventsTdContent } from '../../../../timelines/components/timeline/styles';
import type { Ecs } from '../../../../../common/ecs';
import type { AddExceptionFlyoutProps } from '../../../../detection_engine/rule_exceptions/components/add_exception_flyout';
import { AddExceptionFlyout } from '../../../../detection_engine/rule_exceptions/components/add_exception_flyout';
import * as i18n from '../translations';

View file

@ -5,7 +5,7 @@
* 2.0.
*/
import type { Ecs } from '../../../../../common/ecs';
import type { EcsSecurityExtension as Ecs } from '@kbn/securitysolution-ecs';
import { isInvestigateInResolverActionEnabled } from './investigate_in_resolver';
describe('InvestigateInResolverAction', () => {

View file

@ -6,7 +6,7 @@
*/
import { get } from 'lodash/fp';
import type { Ecs } from '../../../../../common/ecs';
import type { EcsSecurityExtension as Ecs } from '@kbn/securitysolution-ecs';
export const isInvestigateInResolverActionEnabled = (ecsData?: Ecs) =>
(get(['agent', 'type', 0], ecsData) === 'endpoint' ||

View file

@ -8,7 +8,7 @@ import React from 'react';
import { fireEvent, render, act } from '@testing-library/react';
import { TestProviders } from '../../../../common/mock';
import { KibanaServices, useKibana } from '../../../../common/lib/kibana';
import type { Ecs } from '../../../../../common/ecs';
import type { EcsSecurityExtension as Ecs } from '@kbn/securitysolution-ecs';
import * as actions from '../actions';
import { coreMock } from '@kbn/core/public/mocks';
import { InvestigateInTimelineAction } from './investigate_in_timeline_action';

View file

@ -6,10 +6,9 @@
*/
import React from 'react';
import type { EcsSecurityExtension as Ecs } from '@kbn/securitysolution-ecs';
import { ActionIconItem } from '../../../../common/components/header_actions/action_icon_item';
import type { Ecs } from '../../../../../common/ecs';
import {
ACTION_INVESTIGATE_IN_TIMELINE,
ACTION_INVESTIGATE_IN_TIMELINE_ARIA_LABEL,

View file

@ -9,6 +9,7 @@ import React, { useCallback, useMemo } from 'react';
import { EuiContextMenuItem } from '@elastic/eui';
import { CommentType } from '@kbn/cases-plugin/common';
import type { CaseAttachmentsWithoutOwner } from '@kbn/cases-plugin/public';
import type { EcsSecurityExtension as Ecs } from '@kbn/securitysolution-ecs';
import { CasesTourSteps } from '../../../../common/components/guided_onboarding_tour/cases_tour_steps';
import {
AlertsCasesTourSteps,
@ -18,7 +19,6 @@ import {
import { useTourContext } from '../../../../common/components/guided_onboarding_tour';
import { useGetUserCasesPermissions, useKibana } from '../../../../common/lib/kibana';
import type { TimelineNonEcsData } from '../../../../../common/search_strategy';
import type { Ecs } from '../../../../../common/ecs';
import { ADD_TO_EXISTING_CASE, ADD_TO_NEW_CASE } from '../translations';
export interface UseAddToCaseActions {

View file

@ -8,7 +8,7 @@ import { renderHook, act } from '@testing-library/react-hooks';
import { fireEvent, render } from '@testing-library/react';
import { TestProviders } from '../../../../common/mock';
import { KibanaServices, useKibana } from '../../../../common/lib/kibana';
import type { Ecs } from '../../../../../common/ecs';
import type { EcsSecurityExtension as Ecs } from '@kbn/securitysolution-ecs';
import { useInvestigateInTimeline } from './use_investigate_in_timeline';
import * as actions from '../actions';
import { coreMock } from '@kbn/core/public/mocks';

Some files were not shown because too many files have changed in this diff Show more