@cyvest/cyvest-js 3.2.0 → 4.1.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 +55 -33
- package/dist/index.d.ts +55 -33
- package/dist/index.js +191 -71
- package/dist/index.mjs +191 -69
- package/package.json +5 -5
- package/src/finders.ts +29 -20
- package/src/getters.ts +0 -10
- package/src/types.generated.ts +54 -18
- package/tests/getters-finders.test.ts +40 -24
- package/tests/graph.test.ts +21 -16
- package/vitest.config.ts +8 -0
|
@@ -41,7 +41,11 @@ import {
|
|
|
41
41
|
// Test fixture
|
|
42
42
|
function createTestInvestigation(): CyvestInvestigation {
|
|
43
43
|
return {
|
|
44
|
+
investigation_id: "01HXYZTESTINVESTIGATION",
|
|
45
|
+
investigation_name: "Test Investigation",
|
|
46
|
+
started_at: "2024-01-01T00:00:00Z",
|
|
44
47
|
score: 7.5,
|
|
48
|
+
score_display: "7.50",
|
|
45
49
|
level: "MALICIOUS",
|
|
46
50
|
whitelisted: false,
|
|
47
51
|
whitelists: [
|
|
@@ -59,8 +63,9 @@ function createTestInvestigation(): CyvestInvestigation {
|
|
|
59
63
|
internal: true,
|
|
60
64
|
whitelisted: false,
|
|
61
65
|
comment: "",
|
|
62
|
-
extra:
|
|
66
|
+
extra: {},
|
|
63
67
|
score: 0,
|
|
68
|
+
score_display: "0.00",
|
|
64
69
|
level: "INFO",
|
|
65
70
|
relationships: [
|
|
66
71
|
{
|
|
@@ -70,7 +75,7 @@ function createTestInvestigation(): CyvestInvestigation {
|
|
|
70
75
|
},
|
|
71
76
|
],
|
|
72
77
|
threat_intels: [],
|
|
73
|
-
|
|
78
|
+
check_links: ["chk:ip_check:network"],
|
|
74
79
|
},
|
|
75
80
|
"obs:ipv4-addr:8.8.8.8": {
|
|
76
81
|
key: "obs:ipv4-addr:8.8.8.8",
|
|
@@ -79,12 +84,13 @@ function createTestInvestigation(): CyvestInvestigation {
|
|
|
79
84
|
internal: false,
|
|
80
85
|
whitelisted: true,
|
|
81
86
|
comment: "Google DNS",
|
|
82
|
-
extra:
|
|
87
|
+
extra: {},
|
|
83
88
|
score: -1,
|
|
89
|
+
score_display: "-1.00",
|
|
84
90
|
level: "TRUSTED",
|
|
85
91
|
relationships: [],
|
|
86
92
|
threat_intels: [],
|
|
87
|
-
|
|
93
|
+
check_links: [],
|
|
88
94
|
},
|
|
89
95
|
"obs:domain-name:example.com": {
|
|
90
96
|
key: "obs:domain-name:example.com",
|
|
@@ -93,12 +99,13 @@ function createTestInvestigation(): CyvestInvestigation {
|
|
|
93
99
|
internal: false,
|
|
94
100
|
whitelisted: false,
|
|
95
101
|
comment: "",
|
|
96
|
-
extra:
|
|
102
|
+
extra: {},
|
|
97
103
|
score: 5,
|
|
104
|
+
score_display: "5.00",
|
|
98
105
|
level: "MALICIOUS",
|
|
99
106
|
relationships: [],
|
|
100
107
|
threat_intels: ["ti:virustotal:obs:domain-name:example.com"],
|
|
101
|
-
|
|
108
|
+
check_links: ["chk:domain_check:dns"],
|
|
102
109
|
},
|
|
103
110
|
"obs:url:http://malware.com/bad": {
|
|
104
111
|
key: "obs:url:http://malware.com/bad",
|
|
@@ -107,12 +114,13 @@ function createTestInvestigation(): CyvestInvestigation {
|
|
|
107
114
|
internal: false,
|
|
108
115
|
whitelisted: false,
|
|
109
116
|
comment: "",
|
|
110
|
-
extra:
|
|
117
|
+
extra: {},
|
|
111
118
|
score: 7.5,
|
|
119
|
+
score_display: "7.50",
|
|
112
120
|
level: "MALICIOUS",
|
|
113
121
|
relationships: [],
|
|
114
122
|
threat_intels: [],
|
|
115
|
-
|
|
123
|
+
check_links: [],
|
|
116
124
|
},
|
|
117
125
|
},
|
|
118
126
|
checks: {
|
|
@@ -123,11 +131,16 @@ function createTestInvestigation(): CyvestInvestigation {
|
|
|
123
131
|
scope: "network",
|
|
124
132
|
description: "IP address check",
|
|
125
133
|
comment: "",
|
|
126
|
-
extra:
|
|
134
|
+
extra: {},
|
|
127
135
|
score: 0,
|
|
136
|
+
score_display: "0.00",
|
|
128
137
|
level: "INFO",
|
|
129
|
-
|
|
130
|
-
|
|
138
|
+
origin_investigation_id: "01HXYZTESTINVESTIGATION",
|
|
139
|
+
observable_links: [
|
|
140
|
+
{
|
|
141
|
+
observable_key: "obs:ipv4-addr:192.168.1.1",
|
|
142
|
+
},
|
|
143
|
+
],
|
|
131
144
|
},
|
|
132
145
|
],
|
|
133
146
|
dns: [
|
|
@@ -137,11 +150,16 @@ function createTestInvestigation(): CyvestInvestigation {
|
|
|
137
150
|
scope: "dns",
|
|
138
151
|
description: "Domain reputation check",
|
|
139
152
|
comment: "",
|
|
140
|
-
extra:
|
|
153
|
+
extra: {},
|
|
141
154
|
score: 5,
|
|
155
|
+
score_display: "5.00",
|
|
142
156
|
level: "MALICIOUS",
|
|
143
|
-
|
|
144
|
-
|
|
157
|
+
origin_investigation_id: "01HXYZTESTINVESTIGATION",
|
|
158
|
+
observable_links: [
|
|
159
|
+
{
|
|
160
|
+
observable_key: "obs:domain-name:example.com",
|
|
161
|
+
},
|
|
162
|
+
],
|
|
145
163
|
},
|
|
146
164
|
{
|
|
147
165
|
key: "chk:dns_lookup:dns",
|
|
@@ -149,11 +167,12 @@ function createTestInvestigation(): CyvestInvestigation {
|
|
|
149
167
|
scope: "dns",
|
|
150
168
|
description: "DNS lookup",
|
|
151
169
|
comment: "",
|
|
152
|
-
extra:
|
|
170
|
+
extra: {},
|
|
153
171
|
score: 0,
|
|
172
|
+
score_display: "0.00",
|
|
154
173
|
level: "INFO",
|
|
155
|
-
|
|
156
|
-
|
|
174
|
+
origin_investigation_id: "01HXYZTESTINVESTIGATION",
|
|
175
|
+
observable_links: [],
|
|
157
176
|
},
|
|
158
177
|
],
|
|
159
178
|
},
|
|
@@ -167,8 +186,9 @@ function createTestInvestigation(): CyvestInvestigation {
|
|
|
167
186
|
source: "virustotal",
|
|
168
187
|
observable_key: "obs:domain-name:example.com",
|
|
169
188
|
comment: "",
|
|
170
|
-
extra:
|
|
189
|
+
extra: {},
|
|
171
190
|
score: 5,
|
|
191
|
+
score_display: "5.00",
|
|
172
192
|
level: "MALICIOUS",
|
|
173
193
|
taxonomies: [{ verdict: "malicious" }],
|
|
174
194
|
},
|
|
@@ -219,13 +239,9 @@ function createTestInvestigation(): CyvestInvestigation {
|
|
|
219
239
|
threat_intel_by_level: { MALICIOUS: 1 },
|
|
220
240
|
total_containers: 2,
|
|
221
241
|
},
|
|
222
|
-
stats_checks: {
|
|
223
|
-
checks: 3,
|
|
224
|
-
applied: 2,
|
|
225
|
-
},
|
|
226
242
|
data_extraction: {
|
|
227
|
-
root_type: "
|
|
228
|
-
|
|
243
|
+
root_type: "file",
|
|
244
|
+
score_mode_obs: "max",
|
|
229
245
|
},
|
|
230
246
|
};
|
|
231
247
|
}
|
package/tests/graph.test.ts
CHANGED
|
@@ -20,7 +20,11 @@ import {
|
|
|
20
20
|
// Test fixture with relationships
|
|
21
21
|
function createGraphTestInvestigation(): CyvestInvestigation {
|
|
22
22
|
return {
|
|
23
|
+
investigation_id: "01HXYZGRAPHINVESTIGATION",
|
|
24
|
+
investigation_name: "Graph Test Investigation",
|
|
25
|
+
started_at: "2024-01-01T00:00:00Z",
|
|
23
26
|
score: 5,
|
|
27
|
+
score_display: "5.00",
|
|
24
28
|
level: "MALICIOUS",
|
|
25
29
|
whitelisted: false,
|
|
26
30
|
whitelists: [],
|
|
@@ -32,8 +36,9 @@ function createGraphTestInvestigation(): CyvestInvestigation {
|
|
|
32
36
|
internal: false,
|
|
33
37
|
whitelisted: false,
|
|
34
38
|
comment: "",
|
|
35
|
-
extra:
|
|
39
|
+
extra: {},
|
|
36
40
|
score: 0,
|
|
41
|
+
score_display: "0.00",
|
|
37
42
|
level: "INFO",
|
|
38
43
|
relationships: [
|
|
39
44
|
{
|
|
@@ -48,7 +53,7 @@ function createGraphTestInvestigation(): CyvestInvestigation {
|
|
|
48
53
|
},
|
|
49
54
|
],
|
|
50
55
|
threat_intels: [],
|
|
51
|
-
|
|
56
|
+
check_links: [],
|
|
52
57
|
},
|
|
53
58
|
"obs:email-addr:sender@example.com": {
|
|
54
59
|
key: "obs:email-addr:sender@example.com",
|
|
@@ -57,8 +62,9 @@ function createGraphTestInvestigation(): CyvestInvestigation {
|
|
|
57
62
|
internal: false,
|
|
58
63
|
whitelisted: false,
|
|
59
64
|
comment: "",
|
|
60
|
-
extra:
|
|
65
|
+
extra: {},
|
|
61
66
|
score: 0,
|
|
67
|
+
score_display: "0.00",
|
|
62
68
|
level: "INFO",
|
|
63
69
|
relationships: [
|
|
64
70
|
{
|
|
@@ -68,7 +74,7 @@ function createGraphTestInvestigation(): CyvestInvestigation {
|
|
|
68
74
|
},
|
|
69
75
|
],
|
|
70
76
|
threat_intels: [],
|
|
71
|
-
|
|
77
|
+
check_links: [],
|
|
72
78
|
},
|
|
73
79
|
"obs:ipv4-addr:192.168.1.1": {
|
|
74
80
|
key: "obs:ipv4-addr:192.168.1.1",
|
|
@@ -77,12 +83,13 @@ function createGraphTestInvestigation(): CyvestInvestigation {
|
|
|
77
83
|
internal: true,
|
|
78
84
|
whitelisted: false,
|
|
79
85
|
comment: "",
|
|
80
|
-
extra:
|
|
86
|
+
extra: {},
|
|
81
87
|
score: 0,
|
|
88
|
+
score_display: "0.00",
|
|
82
89
|
level: "INFO",
|
|
83
90
|
relationships: [],
|
|
84
91
|
threat_intels: [],
|
|
85
|
-
|
|
92
|
+
check_links: [],
|
|
86
93
|
},
|
|
87
94
|
"obs:domain-name:example.com": {
|
|
88
95
|
key: "obs:domain-name:example.com",
|
|
@@ -91,12 +98,13 @@ function createGraphTestInvestigation(): CyvestInvestigation {
|
|
|
91
98
|
internal: false,
|
|
92
99
|
whitelisted: false,
|
|
93
100
|
comment: "",
|
|
94
|
-
extra:
|
|
101
|
+
extra: {},
|
|
95
102
|
score: 5,
|
|
103
|
+
score_display: "5.00",
|
|
96
104
|
level: "MALICIOUS",
|
|
97
105
|
relationships: [],
|
|
98
106
|
threat_intels: [],
|
|
99
|
-
|
|
107
|
+
check_links: [],
|
|
100
108
|
},
|
|
101
109
|
"obs:file-hash:abc123": {
|
|
102
110
|
key: "obs:file-hash:abc123",
|
|
@@ -105,12 +113,13 @@ function createGraphTestInvestigation(): CyvestInvestigation {
|
|
|
105
113
|
internal: false,
|
|
106
114
|
whitelisted: false,
|
|
107
115
|
comment: "",
|
|
108
|
-
extra:
|
|
116
|
+
extra: {},
|
|
109
117
|
score: 3,
|
|
118
|
+
score_display: "3.00",
|
|
110
119
|
level: "SUSPICIOUS",
|
|
111
120
|
relationships: [],
|
|
112
121
|
threat_intels: [],
|
|
113
|
-
|
|
122
|
+
check_links: [],
|
|
114
123
|
},
|
|
115
124
|
},
|
|
116
125
|
checks: {},
|
|
@@ -135,13 +144,9 @@ function createGraphTestInvestigation(): CyvestInvestigation {
|
|
|
135
144
|
threat_intel_by_level: {},
|
|
136
145
|
total_containers: 0,
|
|
137
146
|
},
|
|
138
|
-
stats_checks: {
|
|
139
|
-
checks: 0,
|
|
140
|
-
applied: 0,
|
|
141
|
-
},
|
|
142
147
|
data_extraction: {
|
|
143
|
-
root_type: "
|
|
144
|
-
|
|
148
|
+
root_type: "file",
|
|
149
|
+
score_mode_obs: "max",
|
|
145
150
|
},
|
|
146
151
|
};
|
|
147
152
|
}
|