@cyvest/cyvest-js 3.0.1 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +59 -89
- package/dist/index.d.ts +59 -89
- package/dist/index.js +36 -4
- package/dist/index.mjs +36 -4
- package/package.json +1 -1
- package/src/types.generated.ts +58 -88
package/dist/index.d.mts
CHANGED
|
@@ -1,80 +1,33 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Global investigation score.
|
|
3
|
-
*/
|
|
4
|
-
type Score = number;
|
|
5
1
|
/**
|
|
6
2
|
* Security level classification for checks, observables, and threat intelligence.
|
|
7
3
|
*
|
|
8
4
|
* Levels are ordered from lowest (NONE) to highest (MALICIOUS) severity.
|
|
9
5
|
*/
|
|
10
6
|
type Level = "NONE" | "TRUSTED" | "INFO" | "SAFE" | "NOTABLE" | "SUSPICIOUS" | "MALICIOUS";
|
|
11
|
-
/**
|
|
12
|
-
* Whether the investigation is whitelisted.
|
|
13
|
-
*/
|
|
14
|
-
type Whitelisted = boolean;
|
|
15
|
-
type Identifier = string;
|
|
16
|
-
type Name = string;
|
|
17
7
|
type Justification = string | null;
|
|
18
8
|
/**
|
|
19
9
|
* List of whitelist entries applied to this investigation.
|
|
20
10
|
*/
|
|
21
11
|
type Whitelists = InvestigationWhitelist[];
|
|
22
|
-
type Type = string;
|
|
23
|
-
type Value = string;
|
|
24
|
-
type Internal = boolean;
|
|
25
|
-
type Whitelisted1 = boolean;
|
|
26
|
-
type Comment = string;
|
|
27
|
-
type Score1 = number;
|
|
28
12
|
type ThreatIntels = string[];
|
|
29
|
-
type TargetKey = string;
|
|
30
|
-
type RelationshipType = string;
|
|
31
13
|
/**
|
|
32
14
|
* Direction of a relationship between observables.
|
|
33
15
|
*/
|
|
34
16
|
type RelationshipDirection = "outbound" | "inbound" | "bidirectional";
|
|
35
17
|
type Relationships = Relationship[];
|
|
36
|
-
type Key = string;
|
|
37
18
|
/**
|
|
38
19
|
* Checks that generated this observable.
|
|
39
20
|
*/
|
|
40
21
|
type GeneratedByChecks = string[];
|
|
41
|
-
type CheckId = string;
|
|
42
|
-
type Scope = string;
|
|
43
|
-
type Description = string;
|
|
44
|
-
type Comment1 = string;
|
|
45
|
-
type Score2 = number;
|
|
46
22
|
type Observables1 = string[];
|
|
47
23
|
/**
|
|
48
24
|
* Controls how a check reacts to linked observables.
|
|
49
25
|
*/
|
|
50
26
|
type CheckScorePolicy = "auto" | "manual";
|
|
51
|
-
type Key1 = string;
|
|
52
|
-
type Source = string;
|
|
53
|
-
type ObservableKey = string;
|
|
54
|
-
type Comment2 = string;
|
|
55
|
-
type Score3 = number;
|
|
56
27
|
type Taxonomies = {
|
|
57
28
|
[k: string]: unknown;
|
|
58
29
|
}[];
|
|
59
|
-
type Key2 = string;
|
|
60
|
-
type Name1 = string;
|
|
61
|
-
type Context = string;
|
|
62
|
-
type Key3 = string;
|
|
63
|
-
type Path = string;
|
|
64
|
-
type Description1 = string;
|
|
65
30
|
type Checks1 = string[];
|
|
66
|
-
type Key4 = string;
|
|
67
|
-
type AggregatedScore = number;
|
|
68
|
-
type TotalObservables = number;
|
|
69
|
-
type InternalObservables = number;
|
|
70
|
-
type ExternalObservables = number;
|
|
71
|
-
type WhitelistedObservables = number;
|
|
72
|
-
type TotalChecks = number;
|
|
73
|
-
type AppliedChecks = number;
|
|
74
|
-
type TotalThreatIntel = number;
|
|
75
|
-
type TotalContainers = number;
|
|
76
|
-
type Checks2 = number;
|
|
77
|
-
type Applied = number;
|
|
78
31
|
/**
|
|
79
32
|
* Root observable type used during data extraction.
|
|
80
33
|
*/
|
|
@@ -94,9 +47,19 @@ type ScoreMode = "max" | "sum";
|
|
|
94
47
|
* schemas matching the actual model_dump() output.
|
|
95
48
|
*/
|
|
96
49
|
interface CyvestInvestigation {
|
|
97
|
-
|
|
50
|
+
/**
|
|
51
|
+
* Investigation start time (UTC).
|
|
52
|
+
*/
|
|
53
|
+
started_at: string;
|
|
54
|
+
/**
|
|
55
|
+
* Global investigation score.
|
|
56
|
+
*/
|
|
57
|
+
score: number;
|
|
98
58
|
level: Level;
|
|
99
|
-
|
|
59
|
+
/**
|
|
60
|
+
* Whether the investigation is whitelisted.
|
|
61
|
+
*/
|
|
62
|
+
whitelisted: boolean;
|
|
100
63
|
whitelists: Whitelists;
|
|
101
64
|
observables: Observables;
|
|
102
65
|
checks: Checks;
|
|
@@ -107,13 +70,17 @@ interface CyvestInvestigation {
|
|
|
107
70
|
stats: StatisticsSchema;
|
|
108
71
|
stats_checks: StatsChecksSchema;
|
|
109
72
|
data_extraction: DataExtractionSchema;
|
|
73
|
+
/**
|
|
74
|
+
* Global investigation score formatted as fixed-point x.xx.
|
|
75
|
+
*/
|
|
76
|
+
score_display: string;
|
|
110
77
|
}
|
|
111
78
|
/**
|
|
112
79
|
* Represents a whitelist entry on an investigation.
|
|
113
80
|
*/
|
|
114
81
|
interface InvestigationWhitelist {
|
|
115
|
-
identifier:
|
|
116
|
-
name:
|
|
82
|
+
identifier: string;
|
|
83
|
+
name: string;
|
|
117
84
|
justification?: Justification;
|
|
118
85
|
[k: string]: unknown;
|
|
119
86
|
}
|
|
@@ -130,18 +97,19 @@ interface Observables {
|
|
|
130
97
|
* through relationships.
|
|
131
98
|
*/
|
|
132
99
|
interface Observable {
|
|
133
|
-
type:
|
|
134
|
-
value:
|
|
135
|
-
internal:
|
|
136
|
-
whitelisted:
|
|
137
|
-
comment:
|
|
100
|
+
type: string;
|
|
101
|
+
value: string;
|
|
102
|
+
internal: boolean;
|
|
103
|
+
whitelisted: boolean;
|
|
104
|
+
comment: string;
|
|
138
105
|
extra: Extra;
|
|
139
|
-
score:
|
|
106
|
+
score: number;
|
|
140
107
|
level: Level;
|
|
141
108
|
threat_intels: ThreatIntels;
|
|
142
109
|
relationships: Relationships;
|
|
143
|
-
key:
|
|
110
|
+
key: string;
|
|
144
111
|
generated_by_checks: GeneratedByChecks;
|
|
112
|
+
score_display: string;
|
|
145
113
|
[k: string]: unknown;
|
|
146
114
|
}
|
|
147
115
|
interface Extra {
|
|
@@ -151,8 +119,8 @@ interface Extra {
|
|
|
151
119
|
* Represents a relationship between observables.
|
|
152
120
|
*/
|
|
153
121
|
interface Relationship {
|
|
154
|
-
target_key:
|
|
155
|
-
relationship_type:
|
|
122
|
+
target_key: string;
|
|
123
|
+
relationship_type: string;
|
|
156
124
|
direction: RelationshipDirection;
|
|
157
125
|
[k: string]: unknown;
|
|
158
126
|
}
|
|
@@ -169,16 +137,17 @@ interface Checks {
|
|
|
169
137
|
* and contributes to the overall investigation score.
|
|
170
138
|
*/
|
|
171
139
|
interface Check {
|
|
172
|
-
check_id:
|
|
173
|
-
scope:
|
|
174
|
-
description:
|
|
175
|
-
comment:
|
|
140
|
+
check_id: string;
|
|
141
|
+
scope: string;
|
|
142
|
+
description: string;
|
|
143
|
+
comment: string;
|
|
176
144
|
extra: Extra1;
|
|
177
|
-
score:
|
|
145
|
+
score: number;
|
|
178
146
|
level: Level;
|
|
179
147
|
observables: Observables1;
|
|
180
148
|
score_policy?: CheckScorePolicy;
|
|
181
|
-
key:
|
|
149
|
+
key: string;
|
|
150
|
+
score_display: string;
|
|
182
151
|
[k: string]: unknown;
|
|
183
152
|
}
|
|
184
153
|
interface Extra1 {
|
|
@@ -203,14 +172,15 @@ interface ThreatIntels1 {
|
|
|
203
172
|
* like VirusTotal, URLScan.io, etc.
|
|
204
173
|
*/
|
|
205
174
|
interface ThreatIntel {
|
|
206
|
-
source:
|
|
207
|
-
observable_key:
|
|
208
|
-
comment:
|
|
175
|
+
source: string;
|
|
176
|
+
observable_key: string;
|
|
177
|
+
comment: string;
|
|
209
178
|
extra: Extra2;
|
|
210
|
-
score:
|
|
179
|
+
score: number;
|
|
211
180
|
level: Level;
|
|
212
181
|
taxonomies: Taxonomies;
|
|
213
|
-
key:
|
|
182
|
+
key: string;
|
|
183
|
+
score_display: string;
|
|
214
184
|
[k: string]: unknown;
|
|
215
185
|
}
|
|
216
186
|
interface Extra2 {
|
|
@@ -229,10 +199,10 @@ interface Enrichments {
|
|
|
229
199
|
* context but doesn't directly contribute to scoring.
|
|
230
200
|
*/
|
|
231
201
|
interface Enrichment {
|
|
232
|
-
name:
|
|
202
|
+
name: string;
|
|
233
203
|
data: Data;
|
|
234
|
-
context:
|
|
235
|
-
key:
|
|
204
|
+
context: string;
|
|
205
|
+
key: string;
|
|
236
206
|
[k: string]: unknown;
|
|
237
207
|
}
|
|
238
208
|
interface Data {
|
|
@@ -251,12 +221,12 @@ interface Containers {
|
|
|
251
221
|
* with aggregated scores and levels.
|
|
252
222
|
*/
|
|
253
223
|
interface Container {
|
|
254
|
-
path:
|
|
255
|
-
description?:
|
|
224
|
+
path: string;
|
|
225
|
+
description?: string;
|
|
256
226
|
checks: Checks1;
|
|
257
227
|
sub_containers: SubContainers;
|
|
258
|
-
key:
|
|
259
|
-
aggregated_score:
|
|
228
|
+
key: string;
|
|
229
|
+
aggregated_score: number;
|
|
260
230
|
aggregated_level: Level;
|
|
261
231
|
}
|
|
262
232
|
interface SubContainers {
|
|
@@ -268,21 +238,21 @@ interface SubContainers {
|
|
|
268
238
|
* Mirrors the output of `InvestigationStats.get_summary()`.
|
|
269
239
|
*/
|
|
270
240
|
interface StatisticsSchema {
|
|
271
|
-
total_observables:
|
|
272
|
-
internal_observables:
|
|
273
|
-
external_observables:
|
|
274
|
-
whitelisted_observables:
|
|
241
|
+
total_observables: number;
|
|
242
|
+
internal_observables: number;
|
|
243
|
+
external_observables: number;
|
|
244
|
+
whitelisted_observables: number;
|
|
275
245
|
observables_by_type?: ObservablesByType;
|
|
276
246
|
observables_by_level?: ObservablesByLevel;
|
|
277
247
|
observables_by_type_and_level?: ObservablesByTypeAndLevel;
|
|
278
|
-
total_checks:
|
|
279
|
-
applied_checks:
|
|
248
|
+
total_checks: number;
|
|
249
|
+
applied_checks: number;
|
|
280
250
|
checks_by_scope?: ChecksByScope;
|
|
281
251
|
checks_by_level?: ChecksByLevel1;
|
|
282
|
-
total_threat_intel:
|
|
252
|
+
total_threat_intel: number;
|
|
283
253
|
threat_intel_by_source?: ThreatIntelBySource;
|
|
284
254
|
threat_intel_by_level?: ThreatIntelByLevel;
|
|
285
|
-
total_containers:
|
|
255
|
+
total_containers: number;
|
|
286
256
|
}
|
|
287
257
|
interface ObservablesByType {
|
|
288
258
|
[k: string]: number;
|
|
@@ -311,8 +281,8 @@ interface ThreatIntelByLevel {
|
|
|
311
281
|
* Schema for check statistics summary.
|
|
312
282
|
*/
|
|
313
283
|
interface StatsChecksSchema {
|
|
314
|
-
checks:
|
|
315
|
-
applied:
|
|
284
|
+
checks: number;
|
|
285
|
+
applied: number;
|
|
316
286
|
}
|
|
317
287
|
/**
|
|
318
288
|
* Schema for data extraction metadata.
|
|
@@ -1364,4 +1334,4 @@ declare function getRelationshipsForObservable(inv: CyvestInvestigation, observa
|
|
|
1364
1334
|
}>;
|
|
1365
1335
|
};
|
|
1366
1336
|
|
|
1367
|
-
export { type
|
|
1337
|
+
export { type Check, type CheckScorePolicy, type Checks, type Checks1, type ChecksByLevel, type ChecksByLevel1, type ChecksByScope, type Container, type Containers, type CyvestInvestigation, type Data, type DataExtractionSchema, type Enrichment, type Enrichments, type Extra, type Extra1, type Extra2, type GeneratedByChecks, type GraphEdge, type GraphNode, type InvestigationCounts, type InvestigationGraph, type InvestigationWhitelist, type Justification, type KeyType, LEVEL_COLORS, LEVEL_ORDER, LEVEL_VALUES, type Level, type Observable, type Observables, type Observables1, type ObservablesByLevel, type ObservablesByType, type ObservablesByTypeAndLevel, type Relationship, type RelationshipDirection, type Relationships, type RootType, type ScoreMode, type StatisticsSchema, type StatsChecksSchema, type SubContainers, type Taxonomies, type ThreatIntel, type ThreatIntelByLevel, type ThreatIntelBySource, type ThreatIntels, type ThreatIntels1, type Whitelists, areConnected, compareLevels, countRelationshipsByType, findChecksAtLeast, findChecksByCheckId, findChecksByLevel, findChecksByScope, findContainersAtLeast, findContainersByLevel, findExternalObservables, findInternalObservables, findLeafObservables, findManuallyScored, findObservablesAtLeast, findObservablesByLevel, findObservablesByType, findObservablesByValue, findObservablesContaining, findObservablesMatching, findObservablesWithThreatIntel, findOrphanObservables, findPath, findRootObservables, findThreatIntelAtLeast, findThreatIntelByLevel, findThreatIntelBySource, findWhitelistedObservables, generateCheckKey, generateContainerKey, generateEnrichmentKey, generateObservableKey, generateThreatIntelKey, getAllChecks, getAllContainers, getAllEnrichments, getAllObservableTypes, getAllObservables, getAllRelationshipTypes, getAllScopes, getAllThreatIntelSources, getAllThreatIntels, getCheck, getCheckByIdScope, getChecksForContainer, getChecksForObservable, getColorForLevel, getColorForScore, getContainer, getContainerByPath, getCounts, getDataExtraction, getEnrichment, getEnrichmentByName, getEntityLevel, getHighestScoringChecks, getHighestScoringObservables, getLevelFromScore, getMaliciousChecks, getMaliciousObservables, getObservable, getObservableByTypeValue, getObservableChildren, getObservableGraph, getObservableParents, getObservablesForCheck, getReachableObservables, getRelatedObservables, getRelatedObservablesByDirection, getRelatedObservablesByType, getRelationshipsForObservable, getStats, getStatsChecks, getSuspiciousChecks, getSuspiciousObservables, getThreatIntel, getThreatIntelBySourceObservable, getThreatIntelsForObservable, getWhitelists, hasLevel, isCyvest, isLevelAtLeast, isLevelHigherThan, isLevelLowerThan, isValidLevel, maxLevel, minLevel, normalizeLevel, parseCheckKey, parseCyvest, parseKeyType, parseObservableKey, parseThreatIntelKey, sortChecksByLevel, sortChecksByScore, sortObservablesByLevel, sortObservablesByScore, validateKey };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,80 +1,33 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Global investigation score.
|
|
3
|
-
*/
|
|
4
|
-
type Score = number;
|
|
5
1
|
/**
|
|
6
2
|
* Security level classification for checks, observables, and threat intelligence.
|
|
7
3
|
*
|
|
8
4
|
* Levels are ordered from lowest (NONE) to highest (MALICIOUS) severity.
|
|
9
5
|
*/
|
|
10
6
|
type Level = "NONE" | "TRUSTED" | "INFO" | "SAFE" | "NOTABLE" | "SUSPICIOUS" | "MALICIOUS";
|
|
11
|
-
/**
|
|
12
|
-
* Whether the investigation is whitelisted.
|
|
13
|
-
*/
|
|
14
|
-
type Whitelisted = boolean;
|
|
15
|
-
type Identifier = string;
|
|
16
|
-
type Name = string;
|
|
17
7
|
type Justification = string | null;
|
|
18
8
|
/**
|
|
19
9
|
* List of whitelist entries applied to this investigation.
|
|
20
10
|
*/
|
|
21
11
|
type Whitelists = InvestigationWhitelist[];
|
|
22
|
-
type Type = string;
|
|
23
|
-
type Value = string;
|
|
24
|
-
type Internal = boolean;
|
|
25
|
-
type Whitelisted1 = boolean;
|
|
26
|
-
type Comment = string;
|
|
27
|
-
type Score1 = number;
|
|
28
12
|
type ThreatIntels = string[];
|
|
29
|
-
type TargetKey = string;
|
|
30
|
-
type RelationshipType = string;
|
|
31
13
|
/**
|
|
32
14
|
* Direction of a relationship between observables.
|
|
33
15
|
*/
|
|
34
16
|
type RelationshipDirection = "outbound" | "inbound" | "bidirectional";
|
|
35
17
|
type Relationships = Relationship[];
|
|
36
|
-
type Key = string;
|
|
37
18
|
/**
|
|
38
19
|
* Checks that generated this observable.
|
|
39
20
|
*/
|
|
40
21
|
type GeneratedByChecks = string[];
|
|
41
|
-
type CheckId = string;
|
|
42
|
-
type Scope = string;
|
|
43
|
-
type Description = string;
|
|
44
|
-
type Comment1 = string;
|
|
45
|
-
type Score2 = number;
|
|
46
22
|
type Observables1 = string[];
|
|
47
23
|
/**
|
|
48
24
|
* Controls how a check reacts to linked observables.
|
|
49
25
|
*/
|
|
50
26
|
type CheckScorePolicy = "auto" | "manual";
|
|
51
|
-
type Key1 = string;
|
|
52
|
-
type Source = string;
|
|
53
|
-
type ObservableKey = string;
|
|
54
|
-
type Comment2 = string;
|
|
55
|
-
type Score3 = number;
|
|
56
27
|
type Taxonomies = {
|
|
57
28
|
[k: string]: unknown;
|
|
58
29
|
}[];
|
|
59
|
-
type Key2 = string;
|
|
60
|
-
type Name1 = string;
|
|
61
|
-
type Context = string;
|
|
62
|
-
type Key3 = string;
|
|
63
|
-
type Path = string;
|
|
64
|
-
type Description1 = string;
|
|
65
30
|
type Checks1 = string[];
|
|
66
|
-
type Key4 = string;
|
|
67
|
-
type AggregatedScore = number;
|
|
68
|
-
type TotalObservables = number;
|
|
69
|
-
type InternalObservables = number;
|
|
70
|
-
type ExternalObservables = number;
|
|
71
|
-
type WhitelistedObservables = number;
|
|
72
|
-
type TotalChecks = number;
|
|
73
|
-
type AppliedChecks = number;
|
|
74
|
-
type TotalThreatIntel = number;
|
|
75
|
-
type TotalContainers = number;
|
|
76
|
-
type Checks2 = number;
|
|
77
|
-
type Applied = number;
|
|
78
31
|
/**
|
|
79
32
|
* Root observable type used during data extraction.
|
|
80
33
|
*/
|
|
@@ -94,9 +47,19 @@ type ScoreMode = "max" | "sum";
|
|
|
94
47
|
* schemas matching the actual model_dump() output.
|
|
95
48
|
*/
|
|
96
49
|
interface CyvestInvestigation {
|
|
97
|
-
|
|
50
|
+
/**
|
|
51
|
+
* Investigation start time (UTC).
|
|
52
|
+
*/
|
|
53
|
+
started_at: string;
|
|
54
|
+
/**
|
|
55
|
+
* Global investigation score.
|
|
56
|
+
*/
|
|
57
|
+
score: number;
|
|
98
58
|
level: Level;
|
|
99
|
-
|
|
59
|
+
/**
|
|
60
|
+
* Whether the investigation is whitelisted.
|
|
61
|
+
*/
|
|
62
|
+
whitelisted: boolean;
|
|
100
63
|
whitelists: Whitelists;
|
|
101
64
|
observables: Observables;
|
|
102
65
|
checks: Checks;
|
|
@@ -107,13 +70,17 @@ interface CyvestInvestigation {
|
|
|
107
70
|
stats: StatisticsSchema;
|
|
108
71
|
stats_checks: StatsChecksSchema;
|
|
109
72
|
data_extraction: DataExtractionSchema;
|
|
73
|
+
/**
|
|
74
|
+
* Global investigation score formatted as fixed-point x.xx.
|
|
75
|
+
*/
|
|
76
|
+
score_display: string;
|
|
110
77
|
}
|
|
111
78
|
/**
|
|
112
79
|
* Represents a whitelist entry on an investigation.
|
|
113
80
|
*/
|
|
114
81
|
interface InvestigationWhitelist {
|
|
115
|
-
identifier:
|
|
116
|
-
name:
|
|
82
|
+
identifier: string;
|
|
83
|
+
name: string;
|
|
117
84
|
justification?: Justification;
|
|
118
85
|
[k: string]: unknown;
|
|
119
86
|
}
|
|
@@ -130,18 +97,19 @@ interface Observables {
|
|
|
130
97
|
* through relationships.
|
|
131
98
|
*/
|
|
132
99
|
interface Observable {
|
|
133
|
-
type:
|
|
134
|
-
value:
|
|
135
|
-
internal:
|
|
136
|
-
whitelisted:
|
|
137
|
-
comment:
|
|
100
|
+
type: string;
|
|
101
|
+
value: string;
|
|
102
|
+
internal: boolean;
|
|
103
|
+
whitelisted: boolean;
|
|
104
|
+
comment: string;
|
|
138
105
|
extra: Extra;
|
|
139
|
-
score:
|
|
106
|
+
score: number;
|
|
140
107
|
level: Level;
|
|
141
108
|
threat_intels: ThreatIntels;
|
|
142
109
|
relationships: Relationships;
|
|
143
|
-
key:
|
|
110
|
+
key: string;
|
|
144
111
|
generated_by_checks: GeneratedByChecks;
|
|
112
|
+
score_display: string;
|
|
145
113
|
[k: string]: unknown;
|
|
146
114
|
}
|
|
147
115
|
interface Extra {
|
|
@@ -151,8 +119,8 @@ interface Extra {
|
|
|
151
119
|
* Represents a relationship between observables.
|
|
152
120
|
*/
|
|
153
121
|
interface Relationship {
|
|
154
|
-
target_key:
|
|
155
|
-
relationship_type:
|
|
122
|
+
target_key: string;
|
|
123
|
+
relationship_type: string;
|
|
156
124
|
direction: RelationshipDirection;
|
|
157
125
|
[k: string]: unknown;
|
|
158
126
|
}
|
|
@@ -169,16 +137,17 @@ interface Checks {
|
|
|
169
137
|
* and contributes to the overall investigation score.
|
|
170
138
|
*/
|
|
171
139
|
interface Check {
|
|
172
|
-
check_id:
|
|
173
|
-
scope:
|
|
174
|
-
description:
|
|
175
|
-
comment:
|
|
140
|
+
check_id: string;
|
|
141
|
+
scope: string;
|
|
142
|
+
description: string;
|
|
143
|
+
comment: string;
|
|
176
144
|
extra: Extra1;
|
|
177
|
-
score:
|
|
145
|
+
score: number;
|
|
178
146
|
level: Level;
|
|
179
147
|
observables: Observables1;
|
|
180
148
|
score_policy?: CheckScorePolicy;
|
|
181
|
-
key:
|
|
149
|
+
key: string;
|
|
150
|
+
score_display: string;
|
|
182
151
|
[k: string]: unknown;
|
|
183
152
|
}
|
|
184
153
|
interface Extra1 {
|
|
@@ -203,14 +172,15 @@ interface ThreatIntels1 {
|
|
|
203
172
|
* like VirusTotal, URLScan.io, etc.
|
|
204
173
|
*/
|
|
205
174
|
interface ThreatIntel {
|
|
206
|
-
source:
|
|
207
|
-
observable_key:
|
|
208
|
-
comment:
|
|
175
|
+
source: string;
|
|
176
|
+
observable_key: string;
|
|
177
|
+
comment: string;
|
|
209
178
|
extra: Extra2;
|
|
210
|
-
score:
|
|
179
|
+
score: number;
|
|
211
180
|
level: Level;
|
|
212
181
|
taxonomies: Taxonomies;
|
|
213
|
-
key:
|
|
182
|
+
key: string;
|
|
183
|
+
score_display: string;
|
|
214
184
|
[k: string]: unknown;
|
|
215
185
|
}
|
|
216
186
|
interface Extra2 {
|
|
@@ -229,10 +199,10 @@ interface Enrichments {
|
|
|
229
199
|
* context but doesn't directly contribute to scoring.
|
|
230
200
|
*/
|
|
231
201
|
interface Enrichment {
|
|
232
|
-
name:
|
|
202
|
+
name: string;
|
|
233
203
|
data: Data;
|
|
234
|
-
context:
|
|
235
|
-
key:
|
|
204
|
+
context: string;
|
|
205
|
+
key: string;
|
|
236
206
|
[k: string]: unknown;
|
|
237
207
|
}
|
|
238
208
|
interface Data {
|
|
@@ -251,12 +221,12 @@ interface Containers {
|
|
|
251
221
|
* with aggregated scores and levels.
|
|
252
222
|
*/
|
|
253
223
|
interface Container {
|
|
254
|
-
path:
|
|
255
|
-
description?:
|
|
224
|
+
path: string;
|
|
225
|
+
description?: string;
|
|
256
226
|
checks: Checks1;
|
|
257
227
|
sub_containers: SubContainers;
|
|
258
|
-
key:
|
|
259
|
-
aggregated_score:
|
|
228
|
+
key: string;
|
|
229
|
+
aggregated_score: number;
|
|
260
230
|
aggregated_level: Level;
|
|
261
231
|
}
|
|
262
232
|
interface SubContainers {
|
|
@@ -268,21 +238,21 @@ interface SubContainers {
|
|
|
268
238
|
* Mirrors the output of `InvestigationStats.get_summary()`.
|
|
269
239
|
*/
|
|
270
240
|
interface StatisticsSchema {
|
|
271
|
-
total_observables:
|
|
272
|
-
internal_observables:
|
|
273
|
-
external_observables:
|
|
274
|
-
whitelisted_observables:
|
|
241
|
+
total_observables: number;
|
|
242
|
+
internal_observables: number;
|
|
243
|
+
external_observables: number;
|
|
244
|
+
whitelisted_observables: number;
|
|
275
245
|
observables_by_type?: ObservablesByType;
|
|
276
246
|
observables_by_level?: ObservablesByLevel;
|
|
277
247
|
observables_by_type_and_level?: ObservablesByTypeAndLevel;
|
|
278
|
-
total_checks:
|
|
279
|
-
applied_checks:
|
|
248
|
+
total_checks: number;
|
|
249
|
+
applied_checks: number;
|
|
280
250
|
checks_by_scope?: ChecksByScope;
|
|
281
251
|
checks_by_level?: ChecksByLevel1;
|
|
282
|
-
total_threat_intel:
|
|
252
|
+
total_threat_intel: number;
|
|
283
253
|
threat_intel_by_source?: ThreatIntelBySource;
|
|
284
254
|
threat_intel_by_level?: ThreatIntelByLevel;
|
|
285
|
-
total_containers:
|
|
255
|
+
total_containers: number;
|
|
286
256
|
}
|
|
287
257
|
interface ObservablesByType {
|
|
288
258
|
[k: string]: number;
|
|
@@ -311,8 +281,8 @@ interface ThreatIntelByLevel {
|
|
|
311
281
|
* Schema for check statistics summary.
|
|
312
282
|
*/
|
|
313
283
|
interface StatsChecksSchema {
|
|
314
|
-
checks:
|
|
315
|
-
applied:
|
|
284
|
+
checks: number;
|
|
285
|
+
applied: number;
|
|
316
286
|
}
|
|
317
287
|
/**
|
|
318
288
|
* Schema for data extraction metadata.
|
|
@@ -1364,4 +1334,4 @@ declare function getRelationshipsForObservable(inv: CyvestInvestigation, observa
|
|
|
1364
1334
|
}>;
|
|
1365
1335
|
};
|
|
1366
1336
|
|
|
1367
|
-
export { type
|
|
1337
|
+
export { type Check, type CheckScorePolicy, type Checks, type Checks1, type ChecksByLevel, type ChecksByLevel1, type ChecksByScope, type Container, type Containers, type CyvestInvestigation, type Data, type DataExtractionSchema, type Enrichment, type Enrichments, type Extra, type Extra1, type Extra2, type GeneratedByChecks, type GraphEdge, type GraphNode, type InvestigationCounts, type InvestigationGraph, type InvestigationWhitelist, type Justification, type KeyType, LEVEL_COLORS, LEVEL_ORDER, LEVEL_VALUES, type Level, type Observable, type Observables, type Observables1, type ObservablesByLevel, type ObservablesByType, type ObservablesByTypeAndLevel, type Relationship, type RelationshipDirection, type Relationships, type RootType, type ScoreMode, type StatisticsSchema, type StatsChecksSchema, type SubContainers, type Taxonomies, type ThreatIntel, type ThreatIntelByLevel, type ThreatIntelBySource, type ThreatIntels, type ThreatIntels1, type Whitelists, areConnected, compareLevels, countRelationshipsByType, findChecksAtLeast, findChecksByCheckId, findChecksByLevel, findChecksByScope, findContainersAtLeast, findContainersByLevel, findExternalObservables, findInternalObservables, findLeafObservables, findManuallyScored, findObservablesAtLeast, findObservablesByLevel, findObservablesByType, findObservablesByValue, findObservablesContaining, findObservablesMatching, findObservablesWithThreatIntel, findOrphanObservables, findPath, findRootObservables, findThreatIntelAtLeast, findThreatIntelByLevel, findThreatIntelBySource, findWhitelistedObservables, generateCheckKey, generateContainerKey, generateEnrichmentKey, generateObservableKey, generateThreatIntelKey, getAllChecks, getAllContainers, getAllEnrichments, getAllObservableTypes, getAllObservables, getAllRelationshipTypes, getAllScopes, getAllThreatIntelSources, getAllThreatIntels, getCheck, getCheckByIdScope, getChecksForContainer, getChecksForObservable, getColorForLevel, getColorForScore, getContainer, getContainerByPath, getCounts, getDataExtraction, getEnrichment, getEnrichmentByName, getEntityLevel, getHighestScoringChecks, getHighestScoringObservables, getLevelFromScore, getMaliciousChecks, getMaliciousObservables, getObservable, getObservableByTypeValue, getObservableChildren, getObservableGraph, getObservableParents, getObservablesForCheck, getReachableObservables, getRelatedObservables, getRelatedObservablesByDirection, getRelatedObservablesByType, getRelationshipsForObservable, getStats, getStatsChecks, getSuspiciousChecks, getSuspiciousObservables, getThreatIntel, getThreatIntelBySourceObservable, getThreatIntelsForObservable, getWhitelists, hasLevel, isCyvest, isLevelAtLeast, isLevelHigherThan, isLevelLowerThan, isValidLevel, maxLevel, minLevel, normalizeLevel, parseCheckKey, parseCyvest, parseKeyType, parseObservableKey, parseThreatIntelKey, sortChecksByLevel, sortChecksByScore, sortObservablesByLevel, sortObservablesByScore, validateKey };
|
package/dist/index.js
CHANGED
|
@@ -185,6 +185,11 @@ var cyvest_schema_default = {
|
|
|
185
185
|
key: {
|
|
186
186
|
title: "Key",
|
|
187
187
|
type: "string"
|
|
188
|
+
},
|
|
189
|
+
score_display: {
|
|
190
|
+
readOnly: true,
|
|
191
|
+
title: "Score Display",
|
|
192
|
+
type: "string"
|
|
188
193
|
}
|
|
189
194
|
},
|
|
190
195
|
required: [
|
|
@@ -196,7 +201,8 @@ var cyvest_schema_default = {
|
|
|
196
201
|
"score",
|
|
197
202
|
"level",
|
|
198
203
|
"observables",
|
|
199
|
-
"key"
|
|
204
|
+
"key",
|
|
205
|
+
"score_display"
|
|
200
206
|
],
|
|
201
207
|
title: "Check",
|
|
202
208
|
type: "object"
|
|
@@ -427,6 +433,11 @@ var cyvest_schema_default = {
|
|
|
427
433
|
readOnly: true,
|
|
428
434
|
title: "Generated By Checks",
|
|
429
435
|
type: "array"
|
|
436
|
+
},
|
|
437
|
+
score_display: {
|
|
438
|
+
readOnly: true,
|
|
439
|
+
title: "Score Display",
|
|
440
|
+
type: "string"
|
|
430
441
|
}
|
|
431
442
|
},
|
|
432
443
|
required: [
|
|
@@ -441,7 +452,8 @@ var cyvest_schema_default = {
|
|
|
441
452
|
"threat_intels",
|
|
442
453
|
"relationships",
|
|
443
454
|
"key",
|
|
444
|
-
"generated_by_checks"
|
|
455
|
+
"generated_by_checks",
|
|
456
|
+
"score_display"
|
|
445
457
|
],
|
|
446
458
|
title: "Observable",
|
|
447
459
|
type: "object"
|
|
@@ -665,6 +677,11 @@ var cyvest_schema_default = {
|
|
|
665
677
|
key: {
|
|
666
678
|
title: "Key",
|
|
667
679
|
type: "string"
|
|
680
|
+
},
|
|
681
|
+
score_display: {
|
|
682
|
+
readOnly: true,
|
|
683
|
+
title: "Score Display",
|
|
684
|
+
type: "string"
|
|
668
685
|
}
|
|
669
686
|
},
|
|
670
687
|
required: [
|
|
@@ -675,7 +692,8 @@ var cyvest_schema_default = {
|
|
|
675
692
|
"score",
|
|
676
693
|
"level",
|
|
677
694
|
"taxonomies",
|
|
678
|
-
"key"
|
|
695
|
+
"key",
|
|
696
|
+
"score_display"
|
|
679
697
|
],
|
|
680
698
|
title: "ThreatIntel",
|
|
681
699
|
type: "object"
|
|
@@ -686,6 +704,12 @@ var cyvest_schema_default = {
|
|
|
686
704
|
additionalProperties: false,
|
|
687
705
|
description: "Schema for a complete serialized investigation.\n\nThis model describes the output of `serialize_investigation()` from\n`cyvest.io_serialization`. It is the top-level schema for exported investigations.\n\nEntity types reference the runtime models directly. When generating schemas with\n`mode='serialization'`, Pydantic respects field_serializer decorators and produces\nschemas matching the actual model_dump() output.",
|
|
688
706
|
properties: {
|
|
707
|
+
started_at: {
|
|
708
|
+
description: "Investigation start time (UTC).",
|
|
709
|
+
format: "date-time",
|
|
710
|
+
title: "Started At",
|
|
711
|
+
type: "string"
|
|
712
|
+
},
|
|
689
713
|
score: {
|
|
690
714
|
description: "Global investigation score.",
|
|
691
715
|
title: "Score",
|
|
@@ -773,9 +797,16 @@ var cyvest_schema_default = {
|
|
|
773
797
|
data_extraction: {
|
|
774
798
|
$ref: "#/$defs/DataExtractionSchema",
|
|
775
799
|
description: "Data extraction metadata."
|
|
800
|
+
},
|
|
801
|
+
score_display: {
|
|
802
|
+
description: "Global investigation score formatted as fixed-point x.xx.",
|
|
803
|
+
readOnly: true,
|
|
804
|
+
title: "Score Display",
|
|
805
|
+
type: "string"
|
|
776
806
|
}
|
|
777
807
|
},
|
|
778
808
|
required: [
|
|
809
|
+
"started_at",
|
|
779
810
|
"score",
|
|
780
811
|
"level",
|
|
781
812
|
"whitelisted",
|
|
@@ -788,7 +819,8 @@ var cyvest_schema_default = {
|
|
|
788
819
|
"containers",
|
|
789
820
|
"stats",
|
|
790
821
|
"stats_checks",
|
|
791
|
-
"data_extraction"
|
|
822
|
+
"data_extraction",
|
|
823
|
+
"score_display"
|
|
792
824
|
],
|
|
793
825
|
title: "Cyvest Investigation",
|
|
794
826
|
type: "object"
|
package/dist/index.mjs
CHANGED
|
@@ -50,6 +50,11 @@ var cyvest_schema_default = {
|
|
|
50
50
|
key: {
|
|
51
51
|
title: "Key",
|
|
52
52
|
type: "string"
|
|
53
|
+
},
|
|
54
|
+
score_display: {
|
|
55
|
+
readOnly: true,
|
|
56
|
+
title: "Score Display",
|
|
57
|
+
type: "string"
|
|
53
58
|
}
|
|
54
59
|
},
|
|
55
60
|
required: [
|
|
@@ -61,7 +66,8 @@ var cyvest_schema_default = {
|
|
|
61
66
|
"score",
|
|
62
67
|
"level",
|
|
63
68
|
"observables",
|
|
64
|
-
"key"
|
|
69
|
+
"key",
|
|
70
|
+
"score_display"
|
|
65
71
|
],
|
|
66
72
|
title: "Check",
|
|
67
73
|
type: "object"
|
|
@@ -292,6 +298,11 @@ var cyvest_schema_default = {
|
|
|
292
298
|
readOnly: true,
|
|
293
299
|
title: "Generated By Checks",
|
|
294
300
|
type: "array"
|
|
301
|
+
},
|
|
302
|
+
score_display: {
|
|
303
|
+
readOnly: true,
|
|
304
|
+
title: "Score Display",
|
|
305
|
+
type: "string"
|
|
295
306
|
}
|
|
296
307
|
},
|
|
297
308
|
required: [
|
|
@@ -306,7 +317,8 @@ var cyvest_schema_default = {
|
|
|
306
317
|
"threat_intels",
|
|
307
318
|
"relationships",
|
|
308
319
|
"key",
|
|
309
|
-
"generated_by_checks"
|
|
320
|
+
"generated_by_checks",
|
|
321
|
+
"score_display"
|
|
310
322
|
],
|
|
311
323
|
title: "Observable",
|
|
312
324
|
type: "object"
|
|
@@ -530,6 +542,11 @@ var cyvest_schema_default = {
|
|
|
530
542
|
key: {
|
|
531
543
|
title: "Key",
|
|
532
544
|
type: "string"
|
|
545
|
+
},
|
|
546
|
+
score_display: {
|
|
547
|
+
readOnly: true,
|
|
548
|
+
title: "Score Display",
|
|
549
|
+
type: "string"
|
|
533
550
|
}
|
|
534
551
|
},
|
|
535
552
|
required: [
|
|
@@ -540,7 +557,8 @@ var cyvest_schema_default = {
|
|
|
540
557
|
"score",
|
|
541
558
|
"level",
|
|
542
559
|
"taxonomies",
|
|
543
|
-
"key"
|
|
560
|
+
"key",
|
|
561
|
+
"score_display"
|
|
544
562
|
],
|
|
545
563
|
title: "ThreatIntel",
|
|
546
564
|
type: "object"
|
|
@@ -551,6 +569,12 @@ var cyvest_schema_default = {
|
|
|
551
569
|
additionalProperties: false,
|
|
552
570
|
description: "Schema for a complete serialized investigation.\n\nThis model describes the output of `serialize_investigation()` from\n`cyvest.io_serialization`. It is the top-level schema for exported investigations.\n\nEntity types reference the runtime models directly. When generating schemas with\n`mode='serialization'`, Pydantic respects field_serializer decorators and produces\nschemas matching the actual model_dump() output.",
|
|
553
571
|
properties: {
|
|
572
|
+
started_at: {
|
|
573
|
+
description: "Investigation start time (UTC).",
|
|
574
|
+
format: "date-time",
|
|
575
|
+
title: "Started At",
|
|
576
|
+
type: "string"
|
|
577
|
+
},
|
|
554
578
|
score: {
|
|
555
579
|
description: "Global investigation score.",
|
|
556
580
|
title: "Score",
|
|
@@ -638,9 +662,16 @@ var cyvest_schema_default = {
|
|
|
638
662
|
data_extraction: {
|
|
639
663
|
$ref: "#/$defs/DataExtractionSchema",
|
|
640
664
|
description: "Data extraction metadata."
|
|
665
|
+
},
|
|
666
|
+
score_display: {
|
|
667
|
+
description: "Global investigation score formatted as fixed-point x.xx.",
|
|
668
|
+
readOnly: true,
|
|
669
|
+
title: "Score Display",
|
|
670
|
+
type: "string"
|
|
641
671
|
}
|
|
642
672
|
},
|
|
643
673
|
required: [
|
|
674
|
+
"started_at",
|
|
644
675
|
"score",
|
|
645
676
|
"level",
|
|
646
677
|
"whitelisted",
|
|
@@ -653,7 +684,8 @@ var cyvest_schema_default = {
|
|
|
653
684
|
"containers",
|
|
654
685
|
"stats",
|
|
655
686
|
"stats_checks",
|
|
656
|
-
"data_extraction"
|
|
687
|
+
"data_extraction",
|
|
688
|
+
"score_display"
|
|
657
689
|
],
|
|
658
690
|
title: "Cyvest Investigation",
|
|
659
691
|
type: "object"
|
package/package.json
CHANGED
package/src/types.generated.ts
CHANGED
|
@@ -1,82 +1,35 @@
|
|
|
1
1
|
// AUTO-GENERATED FROM cyvest.schema.json — DO NOT EDIT
|
|
2
2
|
|
|
3
|
-
/**
|
|
4
|
-
* Global investigation score.
|
|
5
|
-
*/
|
|
6
|
-
export type Score = number;
|
|
7
3
|
/**
|
|
8
4
|
* Security level classification for checks, observables, and threat intelligence.
|
|
9
5
|
*
|
|
10
6
|
* Levels are ordered from lowest (NONE) to highest (MALICIOUS) severity.
|
|
11
7
|
*/
|
|
12
8
|
export type Level = "NONE" | "TRUSTED" | "INFO" | "SAFE" | "NOTABLE" | "SUSPICIOUS" | "MALICIOUS";
|
|
13
|
-
/**
|
|
14
|
-
* Whether the investigation is whitelisted.
|
|
15
|
-
*/
|
|
16
|
-
export type Whitelisted = boolean;
|
|
17
|
-
export type Identifier = string;
|
|
18
|
-
export type Name = string;
|
|
19
9
|
export type Justification = string | null;
|
|
20
10
|
/**
|
|
21
11
|
* List of whitelist entries applied to this investigation.
|
|
22
12
|
*/
|
|
23
13
|
export type Whitelists = InvestigationWhitelist[];
|
|
24
|
-
export type Type = string;
|
|
25
|
-
export type Value = string;
|
|
26
|
-
export type Internal = boolean;
|
|
27
|
-
export type Whitelisted1 = boolean;
|
|
28
|
-
export type Comment = string;
|
|
29
|
-
export type Score1 = number;
|
|
30
14
|
export type ThreatIntels = string[];
|
|
31
|
-
export type TargetKey = string;
|
|
32
|
-
export type RelationshipType = string;
|
|
33
15
|
/**
|
|
34
16
|
* Direction of a relationship between observables.
|
|
35
17
|
*/
|
|
36
18
|
export type RelationshipDirection = "outbound" | "inbound" | "bidirectional";
|
|
37
19
|
export type Relationships = Relationship[];
|
|
38
|
-
export type Key = string;
|
|
39
20
|
/**
|
|
40
21
|
* Checks that generated this observable.
|
|
41
22
|
*/
|
|
42
23
|
export type GeneratedByChecks = string[];
|
|
43
|
-
export type CheckId = string;
|
|
44
|
-
export type Scope = string;
|
|
45
|
-
export type Description = string;
|
|
46
|
-
export type Comment1 = string;
|
|
47
|
-
export type Score2 = number;
|
|
48
24
|
export type Observables1 = string[];
|
|
49
25
|
/**
|
|
50
26
|
* Controls how a check reacts to linked observables.
|
|
51
27
|
*/
|
|
52
28
|
export type CheckScorePolicy = "auto" | "manual";
|
|
53
|
-
export type Key1 = string;
|
|
54
|
-
export type Source = string;
|
|
55
|
-
export type ObservableKey = string;
|
|
56
|
-
export type Comment2 = string;
|
|
57
|
-
export type Score3 = number;
|
|
58
29
|
export type Taxonomies = {
|
|
59
30
|
[k: string]: unknown;
|
|
60
31
|
}[];
|
|
61
|
-
export type Key2 = string;
|
|
62
|
-
export type Name1 = string;
|
|
63
|
-
export type Context = string;
|
|
64
|
-
export type Key3 = string;
|
|
65
|
-
export type Path = string;
|
|
66
|
-
export type Description1 = string;
|
|
67
32
|
export type Checks1 = string[];
|
|
68
|
-
export type Key4 = string;
|
|
69
|
-
export type AggregatedScore = number;
|
|
70
|
-
export type TotalObservables = number;
|
|
71
|
-
export type InternalObservables = number;
|
|
72
|
-
export type ExternalObservables = number;
|
|
73
|
-
export type WhitelistedObservables = number;
|
|
74
|
-
export type TotalChecks = number;
|
|
75
|
-
export type AppliedChecks = number;
|
|
76
|
-
export type TotalThreatIntel = number;
|
|
77
|
-
export type TotalContainers = number;
|
|
78
|
-
export type Checks2 = number;
|
|
79
|
-
export type Applied = number;
|
|
80
33
|
/**
|
|
81
34
|
* Root observable type used during data extraction.
|
|
82
35
|
*/
|
|
@@ -97,9 +50,19 @@ export type ScoreMode = "max" | "sum";
|
|
|
97
50
|
* schemas matching the actual model_dump() output.
|
|
98
51
|
*/
|
|
99
52
|
export interface CyvestInvestigation {
|
|
100
|
-
|
|
53
|
+
/**
|
|
54
|
+
* Investigation start time (UTC).
|
|
55
|
+
*/
|
|
56
|
+
started_at: string;
|
|
57
|
+
/**
|
|
58
|
+
* Global investigation score.
|
|
59
|
+
*/
|
|
60
|
+
score: number;
|
|
101
61
|
level: Level;
|
|
102
|
-
|
|
62
|
+
/**
|
|
63
|
+
* Whether the investigation is whitelisted.
|
|
64
|
+
*/
|
|
65
|
+
whitelisted: boolean;
|
|
103
66
|
whitelists: Whitelists;
|
|
104
67
|
observables: Observables;
|
|
105
68
|
checks: Checks;
|
|
@@ -110,13 +73,17 @@ export interface CyvestInvestigation {
|
|
|
110
73
|
stats: StatisticsSchema;
|
|
111
74
|
stats_checks: StatsChecksSchema;
|
|
112
75
|
data_extraction: DataExtractionSchema;
|
|
76
|
+
/**
|
|
77
|
+
* Global investigation score formatted as fixed-point x.xx.
|
|
78
|
+
*/
|
|
79
|
+
score_display: string;
|
|
113
80
|
}
|
|
114
81
|
/**
|
|
115
82
|
* Represents a whitelist entry on an investigation.
|
|
116
83
|
*/
|
|
117
84
|
export interface InvestigationWhitelist {
|
|
118
|
-
identifier:
|
|
119
|
-
name:
|
|
85
|
+
identifier: string;
|
|
86
|
+
name: string;
|
|
120
87
|
justification?: Justification;
|
|
121
88
|
[k: string]: unknown;
|
|
122
89
|
}
|
|
@@ -133,18 +100,19 @@ export interface Observables {
|
|
|
133
100
|
* through relationships.
|
|
134
101
|
*/
|
|
135
102
|
export interface Observable {
|
|
136
|
-
type:
|
|
137
|
-
value:
|
|
138
|
-
internal:
|
|
139
|
-
whitelisted:
|
|
140
|
-
comment:
|
|
103
|
+
type: string;
|
|
104
|
+
value: string;
|
|
105
|
+
internal: boolean;
|
|
106
|
+
whitelisted: boolean;
|
|
107
|
+
comment: string;
|
|
141
108
|
extra: Extra;
|
|
142
|
-
score:
|
|
109
|
+
score: number;
|
|
143
110
|
level: Level;
|
|
144
111
|
threat_intels: ThreatIntels;
|
|
145
112
|
relationships: Relationships;
|
|
146
|
-
key:
|
|
113
|
+
key: string;
|
|
147
114
|
generated_by_checks: GeneratedByChecks;
|
|
115
|
+
score_display: string;
|
|
148
116
|
[k: string]: unknown;
|
|
149
117
|
}
|
|
150
118
|
export interface Extra {
|
|
@@ -154,8 +122,8 @@ export interface Extra {
|
|
|
154
122
|
* Represents a relationship between observables.
|
|
155
123
|
*/
|
|
156
124
|
export interface Relationship {
|
|
157
|
-
target_key:
|
|
158
|
-
relationship_type:
|
|
125
|
+
target_key: string;
|
|
126
|
+
relationship_type: string;
|
|
159
127
|
direction: RelationshipDirection;
|
|
160
128
|
[k: string]: unknown;
|
|
161
129
|
}
|
|
@@ -172,16 +140,17 @@ export interface Checks {
|
|
|
172
140
|
* and contributes to the overall investigation score.
|
|
173
141
|
*/
|
|
174
142
|
export interface Check {
|
|
175
|
-
check_id:
|
|
176
|
-
scope:
|
|
177
|
-
description:
|
|
178
|
-
comment:
|
|
143
|
+
check_id: string;
|
|
144
|
+
scope: string;
|
|
145
|
+
description: string;
|
|
146
|
+
comment: string;
|
|
179
147
|
extra: Extra1;
|
|
180
|
-
score:
|
|
148
|
+
score: number;
|
|
181
149
|
level: Level;
|
|
182
150
|
observables: Observables1;
|
|
183
151
|
score_policy?: CheckScorePolicy;
|
|
184
|
-
key:
|
|
152
|
+
key: string;
|
|
153
|
+
score_display: string;
|
|
185
154
|
[k: string]: unknown;
|
|
186
155
|
}
|
|
187
156
|
export interface Extra1 {
|
|
@@ -206,14 +175,15 @@ export interface ThreatIntels1 {
|
|
|
206
175
|
* like VirusTotal, URLScan.io, etc.
|
|
207
176
|
*/
|
|
208
177
|
export interface ThreatIntel {
|
|
209
|
-
source:
|
|
210
|
-
observable_key:
|
|
211
|
-
comment:
|
|
178
|
+
source: string;
|
|
179
|
+
observable_key: string;
|
|
180
|
+
comment: string;
|
|
212
181
|
extra: Extra2;
|
|
213
|
-
score:
|
|
182
|
+
score: number;
|
|
214
183
|
level: Level;
|
|
215
184
|
taxonomies: Taxonomies;
|
|
216
|
-
key:
|
|
185
|
+
key: string;
|
|
186
|
+
score_display: string;
|
|
217
187
|
[k: string]: unknown;
|
|
218
188
|
}
|
|
219
189
|
export interface Extra2 {
|
|
@@ -232,10 +202,10 @@ export interface Enrichments {
|
|
|
232
202
|
* context but doesn't directly contribute to scoring.
|
|
233
203
|
*/
|
|
234
204
|
export interface Enrichment {
|
|
235
|
-
name:
|
|
205
|
+
name: string;
|
|
236
206
|
data: Data;
|
|
237
|
-
context:
|
|
238
|
-
key:
|
|
207
|
+
context: string;
|
|
208
|
+
key: string;
|
|
239
209
|
[k: string]: unknown;
|
|
240
210
|
}
|
|
241
211
|
export interface Data {
|
|
@@ -254,12 +224,12 @@ export interface Containers {
|
|
|
254
224
|
* with aggregated scores and levels.
|
|
255
225
|
*/
|
|
256
226
|
export interface Container {
|
|
257
|
-
path:
|
|
258
|
-
description?:
|
|
227
|
+
path: string;
|
|
228
|
+
description?: string;
|
|
259
229
|
checks: Checks1;
|
|
260
230
|
sub_containers: SubContainers;
|
|
261
|
-
key:
|
|
262
|
-
aggregated_score:
|
|
231
|
+
key: string;
|
|
232
|
+
aggregated_score: number;
|
|
263
233
|
aggregated_level: Level;
|
|
264
234
|
}
|
|
265
235
|
export interface SubContainers {
|
|
@@ -271,21 +241,21 @@ export interface SubContainers {
|
|
|
271
241
|
* Mirrors the output of `InvestigationStats.get_summary()`.
|
|
272
242
|
*/
|
|
273
243
|
export interface StatisticsSchema {
|
|
274
|
-
total_observables:
|
|
275
|
-
internal_observables:
|
|
276
|
-
external_observables:
|
|
277
|
-
whitelisted_observables:
|
|
244
|
+
total_observables: number;
|
|
245
|
+
internal_observables: number;
|
|
246
|
+
external_observables: number;
|
|
247
|
+
whitelisted_observables: number;
|
|
278
248
|
observables_by_type?: ObservablesByType;
|
|
279
249
|
observables_by_level?: ObservablesByLevel;
|
|
280
250
|
observables_by_type_and_level?: ObservablesByTypeAndLevel;
|
|
281
|
-
total_checks:
|
|
282
|
-
applied_checks:
|
|
251
|
+
total_checks: number;
|
|
252
|
+
applied_checks: number;
|
|
283
253
|
checks_by_scope?: ChecksByScope;
|
|
284
254
|
checks_by_level?: ChecksByLevel1;
|
|
285
|
-
total_threat_intel:
|
|
255
|
+
total_threat_intel: number;
|
|
286
256
|
threat_intel_by_source?: ThreatIntelBySource;
|
|
287
257
|
threat_intel_by_level?: ThreatIntelByLevel;
|
|
288
|
-
total_containers:
|
|
258
|
+
total_containers: number;
|
|
289
259
|
}
|
|
290
260
|
export interface ObservablesByType {
|
|
291
261
|
[k: string]: number;
|
|
@@ -314,8 +284,8 @@ export interface ThreatIntelByLevel {
|
|
|
314
284
|
* Schema for check statistics summary.
|
|
315
285
|
*/
|
|
316
286
|
export interface StatsChecksSchema {
|
|
317
|
-
checks:
|
|
318
|
-
applied:
|
|
287
|
+
checks: number;
|
|
288
|
+
applied: number;
|
|
319
289
|
}
|
|
320
290
|
/**
|
|
321
291
|
* Schema for data extraction metadata.
|