txt2stix 0.0.4__py3-none-any.whl

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.
Files changed (119) hide show
  1. txt2stix/__init__.py +33 -0
  2. txt2stix/ai_extractor/__init__.py +15 -0
  3. txt2stix/ai_extractor/anthropic.py +12 -0
  4. txt2stix/ai_extractor/base.py +87 -0
  5. txt2stix/ai_extractor/deepseek.py +19 -0
  6. txt2stix/ai_extractor/gemini.py +18 -0
  7. txt2stix/ai_extractor/openai.py +15 -0
  8. txt2stix/ai_extractor/openrouter.py +20 -0
  9. txt2stix/ai_extractor/prompts.py +164 -0
  10. txt2stix/ai_extractor/utils.py +85 -0
  11. txt2stix/attack_flow.py +101 -0
  12. txt2stix/bundler.py +428 -0
  13. txt2stix/common.py +23 -0
  14. txt2stix/extractions.py +59 -0
  15. txt2stix/includes/__init__.py +0 -0
  16. txt2stix/includes/extractions/ai/config.yaml +1023 -0
  17. txt2stix/includes/extractions/lookup/config.yaml +393 -0
  18. txt2stix/includes/extractions/pattern/config.yaml +609 -0
  19. txt2stix/includes/helpers/mimetype_filename_extension_list.csv +936 -0
  20. txt2stix/includes/helpers/stix_relationship_types.txt +41 -0
  21. txt2stix/includes/helpers/tlds.txt +1446 -0
  22. txt2stix/includes/helpers/windows_registry_key_prefix.txt +12 -0
  23. txt2stix/includes/lookups/_README.md +11 -0
  24. txt2stix/includes/lookups/_generate_lookups.py +247 -0
  25. txt2stix/includes/lookups/attack_pattern.txt +1 -0
  26. txt2stix/includes/lookups/campaign.txt +1 -0
  27. txt2stix/includes/lookups/country_iso3166_alpha2.txt +249 -0
  28. txt2stix/includes/lookups/course_of_action.txt +1 -0
  29. txt2stix/includes/lookups/disarm_id_v1_5.txt +345 -0
  30. txt2stix/includes/lookups/disarm_name_v1_5.txt +347 -0
  31. txt2stix/includes/lookups/extensions.txt +78 -0
  32. txt2stix/includes/lookups/identity.txt +1 -0
  33. txt2stix/includes/lookups/infrastructure.txt +1 -0
  34. txt2stix/includes/lookups/intrusion_set.txt +1 -0
  35. txt2stix/includes/lookups/malware.txt +2 -0
  36. txt2stix/includes/lookups/mitre_atlas_id_v4_5_2.txt +116 -0
  37. txt2stix/includes/lookups/mitre_atlas_name_v4_5_2.txt +117 -0
  38. txt2stix/includes/lookups/mitre_attack_enterprise_aliases_v16_0.txt +1502 -0
  39. txt2stix/includes/lookups/mitre_attack_enterprise_id_v16_0.txt +1656 -0
  40. txt2stix/includes/lookups/mitre_attack_enterprise_name_v16_0.txt +1765 -0
  41. txt2stix/includes/lookups/mitre_attack_ics_aliases_v16_0.txt +141 -0
  42. txt2stix/includes/lookups/mitre_attack_ics_id_v16_0.txt +254 -0
  43. txt2stix/includes/lookups/mitre_attack_ics_name_v16_0.txt +293 -0
  44. txt2stix/includes/lookups/mitre_attack_mobile_aliases_v16_0.txt +159 -0
  45. txt2stix/includes/lookups/mitre_attack_mobile_id_v16_0.txt +277 -0
  46. txt2stix/includes/lookups/mitre_attack_mobile_name_v16_0.txt +296 -0
  47. txt2stix/includes/lookups/mitre_capec_id_v3_9.txt +559 -0
  48. txt2stix/includes/lookups/mitre_capec_name_v3_9.txt +560 -0
  49. txt2stix/includes/lookups/mitre_cwe_id_v4_15.txt +939 -0
  50. txt2stix/includes/lookups/mitre_cwe_name_v4_15.txt +939 -0
  51. txt2stix/includes/lookups/threat_actor.txt +1 -0
  52. txt2stix/includes/lookups/tld.txt +1422 -0
  53. txt2stix/includes/lookups/tool.txt +1 -0
  54. txt2stix/includes/tests/test_cases.yaml +695 -0
  55. txt2stix/indicator.py +860 -0
  56. txt2stix/lookups.py +68 -0
  57. txt2stix/pattern/__init__.py +13 -0
  58. txt2stix/pattern/extractors/__init__.py +0 -0
  59. txt2stix/pattern/extractors/base_extractor.py +167 -0
  60. txt2stix/pattern/extractors/card/README.md +34 -0
  61. txt2stix/pattern/extractors/card/__init__.py +15 -0
  62. txt2stix/pattern/extractors/card/amex_card_extractor.py +52 -0
  63. txt2stix/pattern/extractors/card/diners_card_extractor.py +47 -0
  64. txt2stix/pattern/extractors/card/discover_card_extractor.py +48 -0
  65. txt2stix/pattern/extractors/card/jcb_card_extractor.py +43 -0
  66. txt2stix/pattern/extractors/card/master_card_extractor.py +63 -0
  67. txt2stix/pattern/extractors/card/union_card_extractor.py +38 -0
  68. txt2stix/pattern/extractors/card/visa_card_extractor.py +46 -0
  69. txt2stix/pattern/extractors/crypto/__init__.py +3 -0
  70. txt2stix/pattern/extractors/crypto/btc_extractor.py +38 -0
  71. txt2stix/pattern/extractors/directory/__init__.py +10 -0
  72. txt2stix/pattern/extractors/directory/unix_directory_extractor.py +40 -0
  73. txt2stix/pattern/extractors/directory/unix_file_path_extractor.py +42 -0
  74. txt2stix/pattern/extractors/directory/windows_directory_path_extractor.py +47 -0
  75. txt2stix/pattern/extractors/directory/windows_file_path_extractor.py +42 -0
  76. txt2stix/pattern/extractors/domain/__init__.py +8 -0
  77. txt2stix/pattern/extractors/domain/domain_extractor.py +39 -0
  78. txt2stix/pattern/extractors/domain/hostname_extractor.py +36 -0
  79. txt2stix/pattern/extractors/domain/sub_domain_extractor.py +49 -0
  80. txt2stix/pattern/extractors/hashes/__init__.py +16 -0
  81. txt2stix/pattern/extractors/hashes/md5_extractor.py +16 -0
  82. txt2stix/pattern/extractors/hashes/sha1_extractor.py +14 -0
  83. txt2stix/pattern/extractors/hashes/sha224_extractor.py +18 -0
  84. txt2stix/pattern/extractors/hashes/sha2_256_exactor.py +14 -0
  85. txt2stix/pattern/extractors/hashes/sha2_512_exactor.py +13 -0
  86. txt2stix/pattern/extractors/hashes/sha3_256_exactor.py +15 -0
  87. txt2stix/pattern/extractors/hashes/sha3_512_exactor.py +16 -0
  88. txt2stix/pattern/extractors/helper.py +64 -0
  89. txt2stix/pattern/extractors/ip/__init__.py +14 -0
  90. txt2stix/pattern/extractors/ip/ipv4_cidr_extractor.py +49 -0
  91. txt2stix/pattern/extractors/ip/ipv4_extractor.py +18 -0
  92. txt2stix/pattern/extractors/ip/ipv4_port_extractor.py +42 -0
  93. txt2stix/pattern/extractors/ip/ipv6_cidr_extractor.py +18 -0
  94. txt2stix/pattern/extractors/ip/ipv6_extractor.py +16 -0
  95. txt2stix/pattern/extractors/ip/ipv6_port_extractor.py +46 -0
  96. txt2stix/pattern/extractors/others/__init__.py +22 -0
  97. txt2stix/pattern/extractors/others/asn_extractor.py +14 -0
  98. txt2stix/pattern/extractors/others/cpe_extractor.py +29 -0
  99. txt2stix/pattern/extractors/others/cve_extractor.py +14 -0
  100. txt2stix/pattern/extractors/others/email_extractor.py +21 -0
  101. txt2stix/pattern/extractors/others/filename_extractor.py +17 -0
  102. txt2stix/pattern/extractors/others/iban_extractor.py +15 -0
  103. txt2stix/pattern/extractors/others/mac_address_extractor.py +13 -0
  104. txt2stix/pattern/extractors/others/phonenumber_extractor.py +41 -0
  105. txt2stix/pattern/extractors/others/user_agent_extractor.py +20 -0
  106. txt2stix/pattern/extractors/others/windows_registry_key_extractor.py +18 -0
  107. txt2stix/pattern/extractors/url/__init__.py +7 -0
  108. txt2stix/pattern/extractors/url/url_extractor.py +22 -0
  109. txt2stix/pattern/extractors/url/url_file_extractor.py +21 -0
  110. txt2stix/pattern/extractors/url/url_path_extractor.py +74 -0
  111. txt2stix/retriever.py +126 -0
  112. txt2stix/stix.py +1 -0
  113. txt2stix/txt2stix.py +336 -0
  114. txt2stix/utils.py +86 -0
  115. txt2stix-0.0.4.dist-info/METADATA +190 -0
  116. txt2stix-0.0.4.dist-info/RECORD +119 -0
  117. txt2stix-0.0.4.dist-info/WHEEL +4 -0
  118. txt2stix-0.0.4.dist-info/entry_points.txt +2 -0
  119. txt2stix-0.0.4.dist-info/licenses/LICENSE +202 -0
@@ -0,0 +1,609 @@
1
+ # ====== PATTERN EXTRACTIONS =====
2
+
3
+ ####### IPv4 extractions #######
4
+
5
+ pattern_ipv4_address_only:
6
+ type: pattern
7
+ dogesec_web: true
8
+ name: 'IPv4 Address Only'
9
+ description: 'Extracts IPv4 addresses'
10
+ notes: 'RECOMMENDED FOR BETTER ACCURACY: Use ai_ipv4_address_only'
11
+ created: 2020-01-01
12
+ modified: 2020-01-01
13
+ created_by: DOGESEC
14
+ version: 1.0.0
15
+ test_cases: generic_ipv4_address_only
16
+ stix_mapping: ipv4-addr
17
+
18
+ pattern_ipv4_address_cidr:
19
+ type: pattern
20
+ dogesec_web: true
21
+ name: 'IPv4 Address with CIDR'
22
+ description: 'Extracts IPv4 addresses with CIDRs'
23
+ notes: 'RECOMMENDED FOR BETTER ACCURACY: Use ai_ipv4_address_cidr'
24
+ created: 2020-01-01
25
+ modified: 2020-01-01
26
+ created_by: DOGESEC
27
+ version: 1.0.0
28
+ test_cases: ipv4_address_cidr
29
+ stix_mapping: ipv4-addr
30
+
31
+ pattern_ipv4_address_port:
32
+ type: pattern
33
+ dogesec_web: true
34
+ name: 'IPv4 Address with Port'
35
+ description: 'Extracts IPv4 addresses with Port'
36
+ notes: 'RECOMMENDED FOR BETTER ACCURACY: Use ai_ipv4_address_port'
37
+ created: 2020-01-01
38
+ modified: 2020-01-01
39
+ created_by: DOGESEC
40
+ version: 1.0.0
41
+ test_cases: ipv4_address_port
42
+ stix_mapping: ipv4-addr-port
43
+
44
+ ####### IPv6 extractions #######
45
+
46
+ pattern_ipv6_address_only:
47
+ type: pattern
48
+ dogesec_web: true
49
+ name: 'IPv6 Address Only'
50
+ description: 'Extracts IPv6 addresses, but not with CIDR or Ports'
51
+ notes: 'RECOMMENDED FOR BETTER ACCURACY: Use ai_ipv6_address_only'
52
+ created: 2020-01-01
53
+ modified: 2020-01-01
54
+ created_by: DOGESEC
55
+ version: 1.0.0
56
+ test_cases: generic_ipv6_address_only
57
+ stix_mapping: ipv6-addr
58
+
59
+ pattern_ipv6_address_cidr:
60
+ type: pattern
61
+ dogesec_web: true
62
+ name: 'IPv6 Address with CIDR'
63
+ description: 'Extracts IPv6 addresses with CIDRs'
64
+ notes: 'RECOMMENDED FOR BETTER ACCURACY: Use ai_ipv6_address_cidr'
65
+ created: 2020-01-01
66
+ modified: 2020-01-01
67
+ created_by: DOGESEC
68
+ version: 1.0.0
69
+ test_cases: generic_ipv6_address_cidr
70
+ stix_mapping: ipv6-addr
71
+
72
+ pattern_ipv6_address_port:
73
+ type: pattern
74
+ dogesec_web: true
75
+ name: 'IPv6 Address with Port'
76
+ description: 'Extracts IPv6 addresses with Port'
77
+ notes: 'RECOMMENDED FOR BETTER ACCURACY: Use ai_ipv6_address_port'
78
+ created: 2020-01-01
79
+ modified: 2020-01-01
80
+ created_by: DOGESEC
81
+ version: 1.0.0
82
+ test_cases: generic_ipv6_address_port
83
+ stix_mapping: ipv6-addr-port
84
+
85
+ ####### Domain name extractions #######
86
+
87
+ pattern_domain_name_only:
88
+ type: pattern
89
+ dogesec_web: true
90
+ name: 'Domain name only'
91
+ description: 'Extracts domains, but not subdomains or IPv4 addresses. Must have a valid TLD.'
92
+ notes: 'RECOMMENDED FOR BETTER ACCURACY: Use ai_domain_name_only'
93
+ created: 2020-01-01
94
+ modified: 2020-01-01
95
+ created_by: DOGESEC
96
+ version: 1.0.0
97
+ test_cases: generic_domain_name_only
98
+ stix_mapping: domain-name
99
+
100
+ pattern_domain_name_subdomain:
101
+ type: pattern
102
+ dogesec_web: true
103
+ name: 'Subdomain name only'
104
+ description: 'Extracts subdomains, but not root domains or IPv4 addresses. Must have a valid TLD.'
105
+ notes: 'RECOMMENDED FOR BETTER ACCURACY: Use ai_domain_name_subdomain'
106
+ created: 2020-01-01
107
+ modified: 2020-01-01
108
+ created_by: DOGESEC
109
+ version: 1.0.0
110
+ test_cases: generic_domain_name_subdomain
111
+ stix_mapping: domain-name
112
+
113
+ ####### URL extractions #######
114
+
115
+ pattern_url:
116
+ type: pattern
117
+ dogesec_web: true
118
+ name: 'URL Only'
119
+ description: 'Extracts base URLs (can be IPs) with no path/file extension. If the sub/domain part is not an IP, then it must have a valid TLD.'
120
+ notes: 'RECOMMENDED FOR BETTER ACCURACY: Use ai_pattern_url'
121
+ created: 2020-01-01
122
+ modified: 2020-01-01
123
+ created_by: DOGESEC
124
+ version: 1.0.0
125
+ test_cases: generic_url
126
+ stix_mapping: url
127
+
128
+ pattern_url_file:
129
+ type: pattern
130
+ dogesec_web: true
131
+ name: 'URL with file extension'
132
+ description: 'Extracts URLs with file extension in path. If the sub/domain part is not an IP, then it must have a valid TLD. Filetype must also match valid filetype. Similar to pattern_url except checks for URL with path to file'
133
+ notes: 'RECOMMENDED FOR BETTER ACCURACY: Use ai_url_file'
134
+ created: 2020-01-01
135
+ modified: 2020-01-01
136
+ created_by: DOGESEC
137
+ version: 1.0.0
138
+ test_cases: generic_url_file
139
+ stix_mapping: url
140
+
141
+ pattern_url_path:
142
+ type: pattern
143
+ dogesec_web: true
144
+ name: 'URL path'
145
+ description: 'Extracts URLs without file extension in path. If the sub/domain part is not an IP, then it must have a valid TLD. Similar to pattern_url except checks for URL with path but without file'
146
+ notes: 'RECOMMENDED FOR BETTER ACCURACY: Use ai_url_path'
147
+ created: 2020-01-01
148
+ modified: 2020-01-01
149
+ created_by: DOGESEC
150
+ version: 1.0.0
151
+ test_cases: generic_url_path
152
+ stix_mapping: url
153
+
154
+ ####### Hostname extractions #######
155
+
156
+ pattern_host_name:
157
+ type: pattern
158
+ dogesec_web: true
159
+ name: 'Hostname extractions'
160
+ description: 'Extracts hostnames that fail domain TLD validation. Captures data that fails pattern_domain_name TLD validation.'
161
+ notes: 'RECOMMENDED FOR BETTER ACCURACY: Use ai_host_name'
162
+ created: 2020-01-01
163
+ modified: 2020-01-01
164
+ created_by: DOGESEC
165
+ version: 1.0.0
166
+ test_cases: generic_host_name
167
+ stix_mapping: domain-name
168
+
169
+ pattern_host_name_subdomain:
170
+ type: pattern
171
+ dogesec_web: true
172
+ name: 'Hostname (subdomain) extractions'
173
+ description: 'Extracts hostnames that fail subdomain TLD validation. Captures data that fails pattern_domain_name_subdomain TLD validation.'
174
+ notes: 'RECOMMENDED FOR BETTER ACCURACY: Use ai_host_name_subdomain'
175
+ created: 2020-01-01
176
+ modified: 2020-01-01
177
+ created_by: DOGESEC
178
+ version: 1.0.0
179
+ test_cases: generic_host_name_subdomain
180
+ stix_mapping: domain-name
181
+
182
+ pattern_host_name_url:
183
+ type: pattern
184
+ dogesec_web: true
185
+ name: 'Hostname extractions inside URL'
186
+ description: 'Extracts hostnames/sub hostnames with full URLs that fail subdomain TLD validation. Captures data that fails pattern_url TLD validation.'
187
+ notes: 'RECOMMENDED FOR BETTER ACCURACY: Use ai_host_name_url'
188
+ created: 2020-01-01
189
+ modified: 2020-01-01
190
+ created_by: DOGESEC
191
+ version: 1.0.0
192
+ test_cases: generic_host_name_url
193
+ stix_mapping: url
194
+
195
+ pattern_host_name_file:
196
+ type: pattern
197
+ dogesec_web: true
198
+ name: 'Hostname with file extension'
199
+ description: 'Extracts hostnames/sub hostnames with full URLs with file extension in path. Captures data that fails pattern_url_file TLD validation.'
200
+ notes: 'RECOMMENDED FOR BETTER ACCURACY: Use ai_host_name_file'
201
+ created: 2020-01-01
202
+ modified: 2020-01-01
203
+ created_by: DOGESEC
204
+ version: 1.0.0
205
+ test_cases: generic_host_name_file
206
+ stix_mapping: url
207
+
208
+ pattern_host_name_path:
209
+ type: pattern
210
+ dogesec_web: true
211
+ name: 'Hostname path'
212
+ description: 'Extracts hostnames/sub hostnames with full URLs without file extension in path. Captures data that fails pattern_url_path TLD validation.'
213
+ notes: 'RECOMMENDED FOR BETTER ACCURACY: Use ai_host_name_path'
214
+ created: 2020-01-01
215
+ modified: 2020-01-01
216
+ created_by: DOGESEC
217
+ version: 1.0.0
218
+ test_cases: generic_host_name_path
219
+ stix_mapping: url
220
+
221
+ ####### Directory path extractions #######
222
+
223
+ pattern_directory_windows:
224
+ type: pattern
225
+ dogesec_web: true
226
+ name: 'Windows Directory'
227
+ description: 'Extracts a Windows directory path. The .net docs provide a good overview to Windows paths: https://github.com/dotnet/docs/blob/main/docs/standard/io/file-path-formats.md#file-path-formats-on-windows-systems'
228
+ notes: 'RECOMMENDED FOR BETTER ACCURACY: Use ai_directory_windows'
229
+ created: 2020-01-01
230
+ modified: 2020-01-01
231
+ created_by: DOGESEC
232
+ version: 1.0.0
233
+ test_cases: generic_directory_windows
234
+ stix_mapping: directory
235
+
236
+ pattern_directory_windows_with_file:
237
+ type: pattern
238
+ dogesec_web: true
239
+ name: 'Windows Directory with file reported'
240
+ description: 'Similar to pattern_directory_windows, but captures paths that include the file printed.'
241
+ notes: 'RECOMMENDED FOR BETTER ACCURACY: Use ai_directory_windows_with_file'
242
+ created: 2020-01-01
243
+ modified: 2020-01-01
244
+ created_by: DOGESEC
245
+ version: 1.0.0
246
+ test_cases: generic_directory_windows_with_file
247
+ stix_mapping: directory-file
248
+
249
+ pattern_directory_unix:
250
+ type: pattern
251
+ dogesec_web: true
252
+ name: 'UNIX Directory'
253
+ description: 'Extracts a UNIX directory path'
254
+ notes: 'RECOMMENDED FOR BETTER ACCURACY: Use ai_directory_unix'
255
+ created: 2020-01-01
256
+ modified: 2020-01-01
257
+ created_by: DOGESEC
258
+ version: 1.0.0
259
+ test_cases: generic_directory_unix
260
+ stix_mapping: directory
261
+
262
+ pattern_directory_unix_file:
263
+ type: pattern
264
+ dogesec_web: true
265
+ name: 'UNIX Directory with file'
266
+ description: 'Similar to pattern_directory_unix, but captures paths that include the file printed.'
267
+ notes: 'RECOMMENDED FOR BETTER ACCURACY: Use ai_directory_unix_file'
268
+ created: 2020-01-01
269
+ modified: 2020-01-01
270
+ created_by: DOGESEC
271
+ version: 1.0.0
272
+ test_cases: generic_directory_unix_file
273
+ stix_mapping: directory-file
274
+
275
+ ####### File extractions #######
276
+
277
+ pattern_file_name:
278
+ type: pattern
279
+ dogesec_web: true
280
+ name: 'File name'
281
+ description: 'Extracts filename. The file extension must match a valid file extension. filenames have three parts `<NAME>.<EXTENSION>`. Filetypes only contain a single `.`. Note, the `.` and `<EXTENSION>` part are required, but `<NAME>` is optional (because hidden files can be in format like; `.DS_Store`). Uses helpers/mimetype_filename_extension_list.csv to check valid file extension.'
282
+ notes: 'RECOMMENDED FOR BETTER ACCURACY: Use ai_file_name'
283
+ created: 2020-01-01
284
+ modified: 2020-01-01
285
+ created_by: DOGESEC
286
+ version: 1.0.0
287
+ test_cases: generic_file_name
288
+ stix_mapping: file
289
+
290
+ pattern_file_hash_md5:
291
+ type: pattern
292
+ dogesec_web: true
293
+ name: 'MD5'
294
+ description: 'Extracts MD5 file hashes'
295
+ notes: 'RECOMMENDED FOR BETTER ACCURACY: Use ai_file_hash_md5'
296
+ created: 2020-01-01
297
+ modified: 2020-01-01
298
+ created_by: DOGESEC
299
+ version: 1.0.0
300
+ test_cases: generic_file_hash_md5
301
+ stix_mapping: file-hash
302
+
303
+ pattern_file_hash_sha_1:
304
+ type: pattern
305
+ dogesec_web: true
306
+ name: 'SHA-1'
307
+ description: 'Extracts SHA-1 file hashes'
308
+ notes: 'RECOMMENDED FOR BETTER ACCURACY: Use ai_file_hash_sha_1'
309
+ created: 2020-01-01
310
+ modified: 2020-01-01
311
+ created_by: DOGESEC
312
+ version: 1.0.0
313
+ test_cases: generic_file_hash_sha_1
314
+ stix_mapping: file-hash
315
+
316
+ pattern_file_hash_sha_256:
317
+ type: pattern
318
+ dogesec_web: true
319
+ name: 'SHA-256'
320
+ description: 'Extracts SHA-256 file hashes'
321
+ notes: 'RECOMMENDED FOR BETTER ACCURACY: Use ai_file_hash_sha_256'
322
+ created: 2020-01-01
323
+ modified: 2020-01-01
324
+ created_by: DOGESEC
325
+ version: 1.0.0
326
+ test_cases: generic_file_hash_sha_256
327
+ stix_mapping: file-hash
328
+
329
+ pattern_file_hash_sha_512:
330
+ type: pattern
331
+ dogesec_web: true
332
+ name: 'SHA-512'
333
+ description: 'Extracts SHA-512 file hashes'
334
+ notes: 'RECOMMENDED FOR BETTER ACCURACY: Use ai_file_hash_sha_512'
335
+ created: 2020-01-01
336
+ modified: 2020-01-01
337
+ created_by: DOGESEC
338
+ version: 1.0.0
339
+ test_cases: generic_file_hash_sha_512
340
+ stix_mapping: file-hash
341
+
342
+ ####### Email address extractions #######
343
+
344
+ pattern_email_address:
345
+ type: pattern
346
+ dogesec_web: true
347
+ name: 'Email addresses'
348
+ description: 'Extracts emails with valid TLDs'
349
+ notes: 'RECOMMENDED FOR BETTER ACCURACY: Use ai_email_address'
350
+ created: 2020-01-01
351
+ modified: 2020-01-01
352
+ created_by: DOGESEC
353
+ version: 1.0.0
354
+ test_cases: generic_email_address
355
+ stix_mapping: email-addr
356
+
357
+ ####### MAC address extractions #######
358
+
359
+ pattern_mac_address:
360
+ type: pattern
361
+ dogesec_web: true
362
+ name: 'MAC Addresses'
363
+ description: 'Extracts MAC addresses with either `-` or `:` seperators.'
364
+ notes: 'RECOMMENDED FOR BETTER ACCURACY: Use ai_mac_address'
365
+ created: 2020-01-01
366
+ modified: 2020-01-01
367
+ created_by: DOGESEC
368
+ version: 1.0.0
369
+ test_cases: generic_mac_address
370
+ stix_mapping: mac-addr
371
+
372
+ ####### Windows registry key extractions #######
373
+
374
+ pattern_windows_registry_key:
375
+ type: pattern
376
+ dogesec_web: true
377
+ name: 'Windows Registry Key'
378
+ description: 'Must start with a valid prefix as defined in /includes/helpers/windows_registry_key_prefix.txt'
379
+ notes: 'RECOMMENDED FOR BETTER ACCURACY: Use ai_windows_registry_key'
380
+ created: 2020-01-01
381
+ modified: 2020-01-01
382
+ created_by: DOGESEC
383
+ version: 1.0.0
384
+ test_cases: generic_windows_registry_key
385
+ stix_mapping: windows-registry-key
386
+
387
+ ####### User agent extractions #######
388
+
389
+ pattern_user_agent:
390
+ type: pattern
391
+ dogesec_web: true
392
+ name: 'User Agent'
393
+ description: 'Will capture a string that looks like a user agent. User Agents should follow: https://www.rfc-editor.org/rfc/rfc7231#section-5.5.3 . The problem here is that there is no defined prefix for user agent strings, they can be anything. txt2stix follows a similar approach to: https://regex101.com/r/nXKYBB/3'
394
+ notes: 'RECOMMENDED FOR BETTER ACCURACY: Use ai_user_agent'
395
+ created: 2020-01-01
396
+ modified: 2020-01-01
397
+ created_by: DOGESEC
398
+ version: 1.0.0
399
+ test_cases: generic_user_agent
400
+ stix_mapping: user-agent
401
+
402
+ ####### ASN extractions #######
403
+
404
+ pattern_autonomous_system_number:
405
+ type: pattern
406
+ dogesec_web: true
407
+ name: 'Autonomous System Numbers (ASN)'
408
+ description: 'Will create automomous-system objects. Always follow the formats: `ASN XXXXX` (e.g `ASN15139`), `ASNXXXXX` (e.g `ASN 15139`), `AS XXXXX` (e.g `AS15139`), or `ASXXXXX` (e.g `AS 15139`)'
409
+ notes: 'RECOMMENDED FOR BETTER ACCURACY: Use ai_autonomous_system_number'
410
+ created: 2020-01-01
411
+ modified: 2020-01-01
412
+ created_by: DOGESEC
413
+ version: 1.0.0
414
+ test_cases: generic_autonomous_system_number
415
+ stix_mapping: autonomous-system
416
+
417
+ ####### Cryptocurrency extractions #######
418
+
419
+ pattern_cryptocurrency_btc_wallet:
420
+ type: pattern
421
+ dogesec_web: true
422
+ name: 'Cryptocurrency Bitcoin Wallet'
423
+ description: 'Will extract bitcoin wallet hashes and create STIX cryptocurrency-wallet objects for them'
424
+ notes: 'RECOMMENDED FOR BETTER ACCURACY: Use ai_cryptocurrency_btc_wallet'
425
+ created: 2020-01-01
426
+ modified: 2020-01-01
427
+ created_by: DOGESEC
428
+ version: 1.0.0
429
+ test_cases: generic_cryptocurrency_btc_wallet
430
+ stix_mapping: cryptocurrency-wallet
431
+
432
+ pattern_cryptocurrency_btc_wallet_transaction:
433
+ type: pattern
434
+ dogesec_web: true
435
+ name: 'Cryptocurrency Bitcoin Wallet And Transaction'
436
+ description: 'Will extract bitcoin wallet hashes and lookup all transactions the extracted wallets have been seen in. Will create a cryptocurrency-wallet object for the wallet extracted, will create cryptocurrency-transaction objects for all transactions the wallet is found in. Use either pattern_cryptocurrency_btc_wallet_transaction or pattern_cryptocurrency_btc_transaction but not both in same extraction'
437
+ notes: 'RECOMMENDED FOR BETTER ACCURACY: Use ai_cryptocurrency_btc_wallet_transaction'
438
+ created: 2020-01-01
439
+ modified: 2020-01-01
440
+ created_by: DOGESEC
441
+ version: 1.0.0
442
+ test_cases: generic_cryptocurrency_btc_wallet
443
+ stix_mapping: cryptocurrency-wallet-with-transaction
444
+
445
+ pattern_cryptocurrency_btc_transaction:
446
+ type: pattern
447
+ dogesec_web: true
448
+ name: 'Cryptocurrency Bitcoin Transaction'
449
+ description: 'Will extract bitcoin transaction hashes. Will create a cryptocurrency-transaction object for the transaction extracted and will create cryptocurrency-wallet objects for all wallets seen in the input or output of the transaction. Use either pattern_cryptocurrency_btc_wallet_transaction or pattern_cryptocurrency_btc_transaction but not both in same extraction'
450
+ notes: 'RECOMMENDED FOR BETTER ACCURACY: Use ai_cryptocurrency_btc_transaction'
451
+ created: 2020-01-01
452
+ modified: 2020-01-01
453
+ created_by: DOGESEC
454
+ version: 1.0.0
455
+ test_cases: generic_cryptocurrency_btc_transaction
456
+ stix_mapping: cryptocurrency-transaction
457
+
458
+ ####### CVE extractions #######
459
+
460
+ pattern_cve_id:
461
+ type: pattern
462
+ dogesec_web: true
463
+ name: 'CVE'
464
+ description: 'Will create a vulnerability object. CVEs IDs always take the format; `CVE-YYYY-NNNNN` (e.g. `CVE-2022-29098`) or `CVE-YYYY-NNNN` (e.g. `CVE-1999-0007`).'
465
+ notes: 'RECOMMENDED FOR BETTER ACCURACY: Use ai_cve_id'
466
+ created: 2020-01-01
467
+ modified: 2020-01-01
468
+ created_by: DOGESEC
469
+ version: 1.0.0
470
+ test_cases: generic_cve_id
471
+ stix_mapping: vulmatch-cve-id
472
+
473
+ ####### CPE extractions #######
474
+
475
+ pattern_cpe_uri:
476
+ type: pattern
477
+ dogesec_web: true
478
+ name: 'CPE'
479
+ description: 'Will create a software object. CPE URIs always start with `cpe:2.3` and have 13 parts (or 12 `:` characters)'
480
+ notes: 'RECOMMENDED FOR BETTER ACCURACY: Use ai_cpe_uri'
481
+ created: 2020-01-01
482
+ modified: 2020-01-01
483
+ created_by: DOGESEC
484
+ version: 1.0.0
485
+ test_cases: generic_cpe_uri
486
+ stix_mapping: vulmatch-cpe-id
487
+
488
+ ####### Bank card extractions #######
489
+
490
+ pattern_bank_card_mastercard:
491
+ type: pattern
492
+ dogesec_web: true
493
+ name: 'Bank Card Mastercard'
494
+ description: 'Will extract card numbers and create a bank-card object. Will also enrich card information if BIN List API key set'
495
+ notes: 'Also available: ai_bank_card_mastercard'
496
+ created: 2020-01-01
497
+ modified: 2020-01-01
498
+ created_by: DOGESEC
499
+ version: 1.0.0
500
+ test_cases: generic_bank_card_mastercard
501
+ stix_mapping: bank-card
502
+
503
+ pattern_bank_card_visa:
504
+ type: pattern
505
+ dogesec_web: true
506
+ name: 'Bank Card Visa'
507
+ description: 'Will extract card numbers and create a bank-card object. Will also enrich card information if BIN List API key set'
508
+ notes: 'Also available: ai_bank_card_visa'
509
+ created: 2020-01-01
510
+ modified: 2020-01-01
511
+ created_by: DOGESEC
512
+ version: 1.0.0
513
+ test_cases: generic_bank_card_visa
514
+ stix_mapping: bank-card
515
+
516
+ pattern_bank_card_amex:
517
+ type: pattern
518
+ dogesec_web: true
519
+ name: 'Bank Card American Express'
520
+ description: 'Will extract card numbers and create a bank-card object. Will also enrich card information if BIN List API key set'
521
+ notes: 'Also available: ai_bank_card_amex'
522
+ created: 2020-01-01
523
+ modified: 2020-01-01
524
+ created_by: DOGESEC
525
+ version: 1.0.0
526
+ test_cases: generic_bank_card_amex
527
+ stix_mapping: bank-card
528
+
529
+ pattern_bank_card_union_pay:
530
+ type: pattern
531
+ dogesec_web: true
532
+ name: 'Bank Card Union Pay'
533
+ description: 'Will extract card numbers and create a bank-card object. Will also enrich card information if BIN List API key set'
534
+ notes: 'Also available: ai_bank_card_union_pay'
535
+ created: 2020-01-01
536
+ modified: 2020-01-01
537
+ created_by: DOGESEC
538
+ version: 1.0.0
539
+ test_cases: generic_bank_card_union_pay
540
+ stix_mapping: bank-card
541
+
542
+ pattern_bank_card_diners:
543
+ type: pattern
544
+ dogesec_web: true
545
+ name: 'Bank Card Diners'
546
+ description: 'Will extract card numbers and create a bank-card object. Will also enrich card information if BIN List API key set'
547
+ notes: 'Also available: ai_bank_card_diners'
548
+ created: 2020-01-01
549
+ modified: 2020-01-01
550
+ created_by: DOGESEC
551
+ version: 1.0.0
552
+ test_cases: generic_bank_card_diners
553
+ stix_mapping: bank-card
554
+
555
+ pattern_bank_card_jcb:
556
+ type: pattern
557
+ dogesec_web: true
558
+ name: 'Bank Card JCB'
559
+ description: 'Will extract card numbers and create a bank-card object. Will also enrich card information if BIN List API key set'
560
+ notes: 'Also available: ai_bank_card_jcb'
561
+ created: 2020-01-01
562
+ modified: 2020-01-01
563
+ created_by: DOGESEC
564
+ version: 1.0.0
565
+ test_cases: generic_bank_card_jcb
566
+ stix_mapping: bank-card
567
+
568
+ pattern_bank_card_discover:
569
+ type: pattern
570
+ dogesec_web: true
571
+ name: 'Bank Card Discover'
572
+ description: 'Will extract card numbers and create a bank-card object. Will also enrich card information if BIN List API key set'
573
+ notes: 'Also available: ai_bank_card_discover'
574
+ created: 2020-01-01
575
+ modified: 2020-01-01
576
+ created_by: DOGESEC
577
+ version: 1.0.0
578
+ test_cases: generic_bank_card_discover
579
+ stix_mapping: bank-card
580
+
581
+ ####### IBAN Extractions #######
582
+
583
+ pattern_iban_number:
584
+ type: pattern
585
+ dogesec_web: true
586
+ name: 'IBAN'
587
+ description: 'Will extract IBAN numbers and create a bank-account object'
588
+ notes: 'RECOMMENDED FOR BETTER ACCURACY: Use ai_iban_number'
589
+ created: 2020-01-01
590
+ modified: 2020-01-01
591
+ created_by: DOGESEC
592
+ version: 1.0.0
593
+ test_cases: generic_iban_number
594
+ stix_mapping: bank-account
595
+
596
+ ####### Phone number Extractions #######
597
+
598
+ pattern_phone_number:
599
+ type: pattern
600
+ dogesec_web: true
601
+ name: 'Phone number'
602
+ description: 'Will extract phone numbers and create a phone-number object'
603
+ notes: 'RECOMMENDED FOR BETTER ACCURACY: Use ai_phone_number'
604
+ created: 2020-01-01
605
+ modified: 2020-01-01
606
+ created_by: DOGESEC
607
+ version: 1.0.0
608
+ test_cases: generic_phone_number
609
+ stix_mapping: phone-number