maltego-transforms-std-entities 1.0.0__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 (103) hide show
  1. maltego/categories/__init__.py +23 -0
  2. maltego/entities/__init__.py +15 -0
  3. maltego/entities/casefile.py +553 -0
  4. maltego/entities/constants.py +2 -0
  5. maltego/entities/core.py +37 -0
  6. maltego/entities/cryptocurrency.py +566 -0
  7. maltego/entities/devices.py +209 -0
  8. maltego/entities/events.py +287 -0
  9. maltego/entities/groups.py +193 -0
  10. maltego/entities/infrastructure.py +1217 -0
  11. maltego/entities/locations.py +488 -0
  12. maltego/entities/malware.py +305 -0
  13. maltego/entities/personal.py +476 -0
  14. maltego/entities/social_network.py +735 -0
  15. maltego/entities/stix2.py +5338 -0
  16. maltego/entities/technology.py +96 -0
  17. maltego/icons/__init__.py +6 -0
  18. maltego/icons/_assets.py +5 -0
  19. maltego/icons/assets/Cryptocurrency/BCHAddress.png +0 -0
  20. maltego/icons/assets/Cryptocurrency/BCHBlock.png +0 -0
  21. maltego/icons/assets/Cryptocurrency/BCHTransaction.png +0 -0
  22. maltego/icons/assets/Cryptocurrency/BTCAddress.png +0 -0
  23. maltego/icons/assets/Cryptocurrency/BTCBlock.png +0 -0
  24. maltego/icons/assets/Cryptocurrency/BTCTransaction.png +0 -0
  25. maltego/icons/assets/Cryptocurrency/CryptocurrencyAddress.png +0 -0
  26. maltego/icons/assets/Cryptocurrency/CryptocurrencyBlock.png +0 -0
  27. maltego/icons/assets/Cryptocurrency/CryptocurrencyTransaction.png +0 -0
  28. maltego/icons/assets/Cryptocurrency/DogecoinAddress.png +0 -0
  29. maltego/icons/assets/Cryptocurrency/DogecoinBlock.png +0 -0
  30. maltego/icons/assets/Cryptocurrency/DogecoinTransaction.png +0 -0
  31. maltego/icons/assets/Cryptocurrency/ETHAddress.png +0 -0
  32. maltego/icons/assets/Cryptocurrency/ETHBlock.png +0 -0
  33. maltego/icons/assets/Cryptocurrency/ETHTransaction.png +0 -0
  34. maltego/icons/assets/Cryptocurrency/LTCAddress.png +0 -0
  35. maltego/icons/assets/Cryptocurrency/LTCBlock.png +0 -0
  36. maltego/icons/assets/Cryptocurrency/LTCTransaction.png +0 -0
  37. maltego/icons/assets/Malware/FirstIcon.png +0 -0
  38. maltego/icons/assets/STIX2/stix_two_adversary_identity.png +0 -0
  39. maltego/icons/assets/STIX2/stix_two_attack_pattern.png +0 -0
  40. maltego/icons/assets/STIX2/stix_two_autonomous_system.png +0 -0
  41. maltego/icons/assets/STIX2/stix_two_bundle.png +0 -0
  42. maltego/icons/assets/STIX2/stix_two_campaign.png +0 -0
  43. maltego/icons/assets/STIX2/stix_two_course_of_action.png +0 -0
  44. maltego/icons/assets/STIX2/stix_two_default_icon.png +0 -0
  45. maltego/icons/assets/STIX2/stix_two_domain_name.png +0 -0
  46. maltego/icons/assets/STIX2/stix_two_email_addr.png +0 -0
  47. maltego/icons/assets/STIX2/stix_two_email_msg.png +0 -0
  48. maltego/icons/assets/STIX2/stix_two_grouping.png +0 -0
  49. maltego/icons/assets/STIX2/stix_two_identity.png +0 -0
  50. maltego/icons/assets/STIX2/stix_two_incident.png +0 -0
  51. maltego/icons/assets/STIX2/stix_two_indicator.png +0 -0
  52. maltego/icons/assets/STIX2/stix_two_infrastructure.png +0 -0
  53. maltego/icons/assets/STIX2/stix_two_intrusion_set.png +0 -0
  54. maltego/icons/assets/STIX2/stix_two_ipvfour_addr.png +0 -0
  55. maltego/icons/assets/STIX2/stix_two_ipvsix_addr.png +0 -0
  56. maltego/icons/assets/STIX2/stix_two_language.png +0 -0
  57. maltego/icons/assets/STIX2/stix_two_location.png +0 -0
  58. maltego/icons/assets/STIX2/stix_two_mac_addr.png +0 -0
  59. maltego/icons/assets/STIX2/stix_two_malware.png +0 -0
  60. maltego/icons/assets/STIX2/stix_two_malware_analysis.png +0 -0
  61. maltego/icons/assets/STIX2/stix_two_network_traffic.png +0 -0
  62. maltego/icons/assets/STIX2/stix_two_note.png +0 -0
  63. maltego/icons/assets/STIX2/stix_two_observed_data.png +0 -0
  64. maltego/icons/assets/STIX2/stix_two_opinion.png +0 -0
  65. maltego/icons/assets/STIX2/stix_two_relationship.png +0 -0
  66. maltego/icons/assets/STIX2/stix_two_report.png +0 -0
  67. maltego/icons/assets/STIX2/stix_two_sighting.png +0 -0
  68. maltego/icons/assets/STIX2/stix_two_source.png +0 -0
  69. maltego/icons/assets/STIX2/stix_two_threat_actor.png +0 -0
  70. maltego/icons/assets/STIX2/stix_two_tlp_amber.png +0 -0
  71. maltego/icons/assets/STIX2/stix_two_tlp_green.png +0 -0
  72. maltego/icons/assets/STIX2/stix_two_tlp_red.png +0 -0
  73. maltego/icons/assets/STIX2/stix_two_tlp_restricted.png +0 -0
  74. maltego/icons/assets/STIX2/stix_two_tlp_white.png +0 -0
  75. maltego/icons/assets/STIX2/stix_two_tool.png +0 -0
  76. maltego/icons/assets/STIX2/stix_two_url.png +0 -0
  77. maltego/icons/assets/STIX2/stix_two_user_account.png +0 -0
  78. maltego/icons/assets/STIX2/stix_two_victim.png +0 -0
  79. maltego/icons/assets/STIX2/stix_two_victim_target.png +0 -0
  80. maltego/icons/assets/STIX2/stix_two_vulnerability.png +0 -0
  81. maltego/icons/assets/Social Network/Discord.png +0 -0
  82. maltego/icons/assets/Social Network/Fitbit.png +0 -0
  83. maltego/icons/assets/Social Network/GitHub.png +0 -0
  84. maltego/icons/assets/Social Network/Google.png +0 -0
  85. maltego/icons/assets/Social Network/Nikerunclub.png +0 -0
  86. maltego/icons/assets/Social Network/OK.png +0 -0
  87. maltego/icons/assets/Social Network/Quora.png +0 -0
  88. maltego/icons/assets/Social Network/Skype.png +0 -0
  89. maltego/icons/assets/Social Network/Telegram.png +0 -0
  90. maltego/icons/assets/Social Network/TikTok.png +0 -0
  91. maltego/icons/assets/Social Network/Twitch.png +0 -0
  92. maltego/icons/assets/Social Network/Vivino.png +0 -0
  93. maltego/icons/assets/Social Network/Vkontakte.png +0 -0
  94. maltego/icons/assets/Social Network/Weibo.png +0 -0
  95. maltego/icons/cryptocurrency.py +116 -0
  96. maltego/icons/malware.py +14 -0
  97. maltego/icons/social_network.py +92 -0
  98. maltego/icons/stix2.py +309 -0
  99. maltego/py.typed +0 -0
  100. maltego_transforms_std_entities-1.0.0.dist-info/LICENSE +21 -0
  101. maltego_transforms_std_entities-1.0.0.dist-info/METADATA +79 -0
  102. maltego_transforms_std_entities-1.0.0.dist-info/RECORD +103 -0
  103. maltego_transforms_std_entities-1.0.0.dist-info/WHEEL +4 -0
@@ -0,0 +1,23 @@
1
+ # Copyright (c) Maltego Technologies GmbH.
2
+ from enum import Enum
3
+
4
+ __all__ = [
5
+ "EntityCategories",
6
+ ]
7
+
8
+
9
+ class EntityCategories(str, Enum):
10
+ CRYPTOCURRENCY = "Cryptocurrency"
11
+ DEVICES = "Devices"
12
+ EVENTS = "Events"
13
+ GROUPS = "Groups"
14
+ INFRASTRUCTURE = "Infrastructure"
15
+ LOCATION = "Locations"
16
+ MALWARE = "Malware"
17
+ PERSONAL = "Personal"
18
+ SOCIAL_NETWORK = "Social Network"
19
+ STIX2 = "STIX2"
20
+ STIX2_DOMAIN_OBJECTS = "STIX 2 domain objects"
21
+ STIX2_OBSERVABLES = "STIX 2 observables"
22
+ STIX2_RELATIONSHIP_OBJECTS = "STIX 2 relationship objects"
23
+ TECHNOLOGY = "Technology"
@@ -0,0 +1,15 @@
1
+ # Copyright (c) Maltego Technologies GmbH.
2
+ # pylint: disable=unused-wildcard-import
3
+ from maltego.entities.core import *
4
+ from maltego.entities.cryptocurrency import *
5
+ from maltego.entities.devices import *
6
+ from maltego.entities.events import *
7
+ from maltego.entities.groups import *
8
+ from maltego.entities.infrastructure import *
9
+ from maltego.entities.locations import *
10
+ from maltego.entities.malware import *
11
+ from maltego.entities.personal import *
12
+ from maltego.entities.casefile import *
13
+ from maltego.entities.social_network import *
14
+ from maltego.entities.stix2 import *
15
+ from maltego.entities.technology import *
@@ -0,0 +1,553 @@
1
+ # pylint: disable=invalid-name, line-too-long, too-many-lines
2
+ # THIS FILE IS AUTO GENERATED
3
+ # EDIT WITH CARE
4
+ import datetime
5
+ from maltego.model.entity import MEF, MaltegoEntityConfig, MaltegoEntity
6
+ from maltego.model.types import MATCHING_RULE_LOOSE
7
+ from maltego.entities.personal import Person
8
+
9
+ __all__ = [
10
+ "BankAccount",
11
+ "FlightNumber",
12
+ "IdentificationNumber",
13
+ "PassportNumber",
14
+ "BadGuy",
15
+ "DrugDealer",
16
+ "GangMember",
17
+ "GangLeader",
18
+ "SexOffender",
19
+ "Terrorist",
20
+ "TerroristLeader",
21
+ "Unsub",
22
+ "Businessman",
23
+ "BusinessLeader",
24
+ "Child",
25
+ "Female",
26
+ "GoodGuy",
27
+ "Judge",
28
+ "LawOfficer",
29
+ "MilitaryOfficer",
30
+ "GovernmentOfficial",
31
+ "Lawyer",
32
+ "Male",
33
+ "Transport",
34
+ "Bike",
35
+ "Boat",
36
+ "Bus",
37
+ "Car",
38
+ "Plane",
39
+ "Train",
40
+ "VehicleRegistration",
41
+ "VinNumber",
42
+ "Weapon",
43
+ "Ammunition",
44
+ "Blade",
45
+ "Explosive",
46
+ "Gun",
47
+ "IED",
48
+ "Missile",
49
+ "WMD",
50
+ "BioWeapon",
51
+ "ChemicalWeapon",
52
+ "NuclearWeapon",
53
+ ]
54
+
55
+
56
+ def _copy_parent_config(parent: type[MaltegoEntity], display_name: str) -> MaltegoEntityConfig:
57
+ config = parent.Config.copy()
58
+ config.display_name = display_name
59
+ return config
60
+
61
+
62
+ class BankAccount(MaltegoEntity):
63
+ TYPE_NAME = "maltego.BankAccount"
64
+ Config = MaltegoEntityConfig(
65
+ value_property="bank.accnumber",
66
+ display_name="Bank Account",
67
+ description="A bank account identified by a bank name, branch number and account number",
68
+ display_property="bank.accnumber",
69
+ category="Tracking",
70
+ display_name_plural="Bank Accounts",
71
+ icon_resource="BankAccount",
72
+ _visible=True
73
+ )
74
+ accnumber: str = MEF(
75
+ name="bank.accnumber",
76
+ display_name="Account Number",
77
+ description="Bank account number",
78
+ sample_value='1122334455',
79
+ matching_rule=MATCHING_RULE_LOOSE,
80
+ )
81
+ name: str = MEF(
82
+ name="bank.name",
83
+ display_name="Bank",
84
+ description="Bank name",
85
+ matching_rule=MATCHING_RULE_LOOSE,
86
+ )
87
+ branch: str = MEF(
88
+ name="bank.branch",
89
+ display_name="Branch Code",
90
+ description="Bank branch code",
91
+ matching_rule=MATCHING_RULE_LOOSE,
92
+ )
93
+
94
+
95
+ class FlightNumber(MaltegoEntity):
96
+ TYPE_NAME = "maltego.FlightNumber"
97
+ Config = MaltegoEntityConfig(
98
+ value_property="flight.id",
99
+ display_name="Flight Number",
100
+ description="A number, when combined with the name of the airline and the date, that identifies a particular flight",
101
+ display_property="flight.id",
102
+ category="Tracking",
103
+ display_name_plural="Flight Numbers",
104
+ icon_resource="FlightNumber",
105
+ _visible=True
106
+ )
107
+ id: str = MEF(
108
+ name="flight.id",
109
+ display_name="Flight ID",
110
+ description="The airline and number of the flight",
111
+ value='$trim($property(flight.airline) $property(flight.number))',
112
+ matching_rule=MATCHING_RULE_LOOSE,
113
+ evaluator="maltego.replace",
114
+ )
115
+ number: str = MEF(
116
+ name="flight.number",
117
+ display_name="Flight Number",
118
+ description="The flight number",
119
+ sample_value='LH573',
120
+ matching_rule=MATCHING_RULE_LOOSE,
121
+ )
122
+ airline: str = MEF(
123
+ name="flight.airline",
124
+ display_name="Airline",
125
+ description="The airline of the flight",
126
+ sample_value='Lufthansa',
127
+ matching_rule=MATCHING_RULE_LOOSE,
128
+ )
129
+ date: datetime.date = MEF(
130
+ name="flight.date",
131
+ display_name="Date",
132
+ description="The flight date",
133
+ matching_rule=MATCHING_RULE_LOOSE,
134
+ )
135
+
136
+
137
+ class IdentificationNumber(MaltegoEntity):
138
+ TYPE_NAME = "maltego.IdentificationNumber"
139
+ Config = MaltegoEntityConfig(
140
+ value_property="identification.number",
141
+ display_name="Identification Number",
142
+ description="A number which may be used to verify aspects of a person's personal identity",
143
+ display_property="identification.number",
144
+ category="Tracking",
145
+ display_name_plural="Identification Numbers",
146
+ icon_resource="Identification",
147
+ _visible=True
148
+ )
149
+ number: str = MEF(
150
+ name="identification.number",
151
+ display_name="Number",
152
+ description="Identification number",
153
+ sample_value='1122334455',
154
+ matching_rule=MATCHING_RULE_LOOSE,
155
+ )
156
+
157
+
158
+ class PassportNumber(IdentificationNumber):
159
+ TYPE_NAME = "maltego.PassportNumber"
160
+ Config = _copy_parent_config(IdentificationNumber, "PassportNumber")
161
+
162
+
163
+ class BadGuy(Person):
164
+ TYPE_NAME = "maltego.BadGuy"
165
+ Config = _copy_parent_config(Person, "BadGuy")
166
+
167
+
168
+ class DrugDealer(BadGuy):
169
+ TYPE_NAME = "maltego.DrugDealer"
170
+ Config = _copy_parent_config(BadGuy, "DrugDealer")
171
+
172
+
173
+ class GangMember(BadGuy):
174
+ TYPE_NAME = "maltego.GangMember"
175
+ Config = _copy_parent_config(BadGuy, "GangMember")
176
+
177
+
178
+ class GangLeader(GangMember):
179
+ TYPE_NAME = "maltego.GangLeader"
180
+ Config = _copy_parent_config(GangMember, "GangLeader")
181
+
182
+
183
+ class SexOffender(BadGuy):
184
+ TYPE_NAME = "maltego.SexOffender"
185
+ Config = _copy_parent_config(BadGuy, "SexOffender")
186
+
187
+
188
+ class Terrorist(BadGuy):
189
+ TYPE_NAME = "maltego.Terrorist"
190
+ Config = _copy_parent_config(BadGuy, "Terrorist")
191
+
192
+
193
+ class TerroristLeader(Terrorist):
194
+ TYPE_NAME = "maltego.TerroristLeader"
195
+ Config = _copy_parent_config(Terrorist, "TerroristLeader")
196
+
197
+
198
+ class Unsub(BadGuy):
199
+ TYPE_NAME = "maltego.Unsub"
200
+ Config = _copy_parent_config(BadGuy, "Unsub")
201
+
202
+
203
+ class Businessman(Person):
204
+ TYPE_NAME = "maltego.Businessman"
205
+ Config = _copy_parent_config(Person, "Businessman")
206
+
207
+
208
+ class BusinessLeader(Businessman):
209
+ TYPE_NAME = "maltego.BusinessLeader"
210
+ Config = _copy_parent_config(Businessman, "BusinessLeader")
211
+
212
+
213
+ class Child(Person):
214
+ TYPE_NAME = "maltego.Child"
215
+ Config = _copy_parent_config(Person, "Child")
216
+
217
+
218
+ class Female(Person):
219
+ TYPE_NAME = "maltego.Female"
220
+ Config = _copy_parent_config(Person, "Female")
221
+ firstnames: str = MEF(
222
+ name="person.firstnames",
223
+ display_name="First Names",
224
+ sample_value='Jane',
225
+ matching_rule=MATCHING_RULE_LOOSE,
226
+ )
227
+
228
+
229
+ class GoodGuy(Person):
230
+ TYPE_NAME = "maltego.GoodGuy"
231
+ Config = _copy_parent_config(Person, "GoodGuy")
232
+
233
+
234
+ class Judge(GoodGuy):
235
+ TYPE_NAME = "maltego.Judge"
236
+ Config = _copy_parent_config(GoodGuy, "Judge")
237
+
238
+
239
+ class LawOfficer(GoodGuy):
240
+ TYPE_NAME = "maltego.LawOfficer"
241
+ Config = _copy_parent_config(GoodGuy, "LawOfficer")
242
+
243
+
244
+ class MilitaryOfficer(GoodGuy):
245
+ TYPE_NAME = "maltego.MilitaryOfficer"
246
+ Config = _copy_parent_config(GoodGuy, "MilitaryOfficer")
247
+
248
+
249
+ class GovernmentOfficial(Person):
250
+ TYPE_NAME = "maltego.GovernmentOfficial"
251
+ Config = _copy_parent_config(Person, "GovernmentOfficial")
252
+
253
+
254
+ class Lawyer(Person):
255
+ TYPE_NAME = "maltego.Lawyer"
256
+ Config = _copy_parent_config(Person, "Lawyer")
257
+
258
+
259
+ class Male(Person):
260
+ TYPE_NAME = "maltego.Male"
261
+ Config = _copy_parent_config(Person, "Male")
262
+
263
+
264
+ class Transport(MaltegoEntity):
265
+ TYPE_NAME = "maltego.Transport"
266
+ Config = MaltegoEntityConfig(
267
+ value_property="transport.name",
268
+ display_name="Transport",
269
+ description="A device that is used to transport people or cargo",
270
+ display_property="transport.name",
271
+ category="Transportation",
272
+ allowed_root=False,
273
+ display_name_plural="Transports",
274
+ icon_resource="Car",
275
+ _visible=True
276
+ )
277
+ name: str = MEF(
278
+ name="transport.name",
279
+ display_name="Name",
280
+ description="Name of the airplane",
281
+ value='$trim($property(transport.make) $property(transport.model))',
282
+ matching_rule=MATCHING_RULE_LOOSE,
283
+ evaluator="maltego.replace",
284
+ )
285
+ make: str = MEF(
286
+ name="transport.make",
287
+ display_name="Make",
288
+ description="Make of the transport",
289
+ sample_value='Shuttle',
290
+ matching_rule=MATCHING_RULE_LOOSE,
291
+ )
292
+ model: str = MEF(
293
+ name="transport.model",
294
+ display_name="Model",
295
+ description="Model of the transport",
296
+ matching_rule=MATCHING_RULE_LOOSE,
297
+ )
298
+
299
+
300
+ class Bike(Transport):
301
+ TYPE_NAME = "maltego.Bike"
302
+ Config = _copy_parent_config(Transport, "Bike")
303
+ make: str = MEF(
304
+ name="transport.make",
305
+ display_name="Make",
306
+ description="Make of the bike / bicycle",
307
+ sample_value='Yamaha',
308
+ matching_rule=MATCHING_RULE_LOOSE,
309
+ )
310
+
311
+
312
+ class Boat(Transport):
313
+ TYPE_NAME = "maltego.Boat"
314
+ Config = _copy_parent_config(Transport, "Boat")
315
+ make: str = MEF(
316
+ name="transport.make",
317
+ display_name="Make",
318
+ description="Make of the bike / bicycle",
319
+ sample_value='Ferry',
320
+ matching_rule=MATCHING_RULE_LOOSE,
321
+ )
322
+
323
+
324
+ class Bus(Transport):
325
+ TYPE_NAME = "maltego.Bus"
326
+ Config = _copy_parent_config(Transport, "Bus")
327
+ make: str = MEF(
328
+ name="transport.make",
329
+ display_name="Make",
330
+ description="Make of the bus",
331
+ sample_value='Transit bus',
332
+ matching_rule=MATCHING_RULE_LOOSE,
333
+ )
334
+
335
+
336
+ class Car(Transport):
337
+ TYPE_NAME = "maltego.Car"
338
+ Config = _copy_parent_config(Transport, "Car")
339
+ make: str = MEF(
340
+ name="transport.make",
341
+ display_name="Make",
342
+ description="Make of the airplane",
343
+ sample_value='Toyota',
344
+ matching_rule=MATCHING_RULE_LOOSE,
345
+ )
346
+
347
+
348
+ class Plane(Transport):
349
+ TYPE_NAME = "maltego.Plane"
350
+ Config = _copy_parent_config(Transport, "Plane")
351
+ make: str = MEF(
352
+ name="transport.make",
353
+ display_name="Make",
354
+ description="Make of the airplane",
355
+ sample_value='Airbus',
356
+ matching_rule=MATCHING_RULE_LOOSE,
357
+ )
358
+
359
+
360
+ class Train(Transport):
361
+ TYPE_NAME = "maltego.Train"
362
+ Config = _copy_parent_config(Transport, "Train")
363
+ make: str = MEF(
364
+ name="transport.make",
365
+ display_name="Make",
366
+ description="Make of the train",
367
+ sample_value='Maglev',
368
+ matching_rule=MATCHING_RULE_LOOSE,
369
+ )
370
+
371
+
372
+ class VehicleRegistration(MaltegoEntity):
373
+ TYPE_NAME = "maltego.VehicleRegistration"
374
+ Config = MaltegoEntityConfig(
375
+ value_property="vehicle.registration",
376
+ display_name="Vehicle Registration",
377
+ description="The registration or license number usually mounted on a vehicle for identification",
378
+ display_property="vehicle.registration",
379
+ category="Tracking",
380
+ display_name_plural="Vehicle Registrations",
381
+ icon_resource="RegistrationPlate",
382
+ _visible=True
383
+ )
384
+ registration: str = MEF(
385
+ name="vehicle.registration",
386
+ display_name="Registration Number",
387
+ description="A vehicle registration or license number",
388
+ sample_value='ABC123',
389
+ matching_rule=MATCHING_RULE_LOOSE,
390
+ )
391
+
392
+
393
+ class VinNumber(MaltegoEntity):
394
+ TYPE_NAME = "maltego.VinNumber"
395
+ Config = MaltegoEntityConfig(
396
+ value_property="vinnumber",
397
+ display_name="VIN Number",
398
+ description="A Vehicle Identification Number",
399
+ display_property="vinnumber",
400
+ category="Tracking",
401
+ display_name_plural="VIN Numbers",
402
+ icon_resource="VinNumber",
403
+ _visible=True
404
+ )
405
+ vinnumber: str = MEF(
406
+ name="vinnumber",
407
+ display_name="VIN Number",
408
+ description="Vehicle Identification Number",
409
+ sample_value='5GZCZ43D13S812715',
410
+ matching_rule=MATCHING_RULE_LOOSE,
411
+ )
412
+
413
+
414
+ class Weapon(MaltegoEntity):
415
+ TYPE_NAME = "maltego.Weapon"
416
+ Config = MaltegoEntityConfig(
417
+ value_property="weapon.type",
418
+ display_name="Weapon",
419
+ description="Something used for inflicting bodily harm or physical damage",
420
+ display_property="weapon.type",
421
+ category="Weapons",
422
+ allowed_root=False,
423
+ display_name_plural="Weapons",
424
+ icon_resource="Gun",
425
+ _visible=True
426
+ )
427
+ type: str = MEF(
428
+ name="weapon.type",
429
+ display_name="Type",
430
+ description="Weapon type",
431
+ sample_value='Weapon',
432
+ matching_rule=MATCHING_RULE_LOOSE,
433
+ )
434
+
435
+
436
+ class Ammunition(Weapon):
437
+ TYPE_NAME = "maltego.Ammunition"
438
+ Config = _copy_parent_config(Weapon, "Ammunition")
439
+ type: str = MEF(
440
+ name="weapon.type",
441
+ display_name="Type",
442
+ description="Weapon type",
443
+ sample_value='Shotgun shells',
444
+ matching_rule=MATCHING_RULE_LOOSE,
445
+ )
446
+
447
+
448
+ class Blade(Weapon):
449
+ TYPE_NAME = "maltego.Blade"
450
+ Config = _copy_parent_config(Weapon, "Blade")
451
+ type: str = MEF(
452
+ name="weapon.type",
453
+ display_name="Type",
454
+ description="Weapon type",
455
+ sample_value='Knife',
456
+ matching_rule=MATCHING_RULE_LOOSE,
457
+ )
458
+
459
+
460
+ class Explosive(Weapon):
461
+ TYPE_NAME = "maltego.Explosive"
462
+ Config = _copy_parent_config(Weapon, "Explosive")
463
+ type: str = MEF(
464
+ name="weapon.type",
465
+ display_name="Type",
466
+ description="Weapon type",
467
+ sample_value='C4',
468
+ matching_rule=MATCHING_RULE_LOOSE,
469
+ )
470
+
471
+
472
+ class Gun(Weapon):
473
+ TYPE_NAME = "maltego.Gun"
474
+ Config = _copy_parent_config(Weapon, "Gun")
475
+ type: str = MEF(
476
+ name="weapon.type",
477
+ display_name="Type",
478
+ description="Weapon type",
479
+ sample_value='Handgun',
480
+ matching_rule=MATCHING_RULE_LOOSE,
481
+ )
482
+
483
+
484
+ class IED(Weapon):
485
+ TYPE_NAME = "maltego.IED"
486
+ Config = _copy_parent_config(Weapon, "IED")
487
+ type: str = MEF(
488
+ name="weapon.type",
489
+ display_name="Type",
490
+ description="Weapon type",
491
+ sample_value='Roadside bomb',
492
+ matching_rule=MATCHING_RULE_LOOSE,
493
+ )
494
+
495
+
496
+ class Missile(Weapon):
497
+ TYPE_NAME = "maltego.Missile"
498
+ Config = _copy_parent_config(Weapon, "Missile")
499
+ type: str = MEF(
500
+ name="weapon.type",
501
+ display_name="Type",
502
+ description="Weapon type",
503
+ sample_value='RPG',
504
+ matching_rule=MATCHING_RULE_LOOSE,
505
+ )
506
+
507
+
508
+ class WMD(Weapon):
509
+ TYPE_NAME = "maltego.WMD"
510
+ Config = _copy_parent_config(Weapon, "WMD")
511
+ type: str = MEF(
512
+ name="weapon.type",
513
+ display_name="Type",
514
+ description="Weapon type",
515
+ sample_value='WMD',
516
+ matching_rule=MATCHING_RULE_LOOSE,
517
+ )
518
+
519
+
520
+ class BioWeapon(WMD):
521
+ TYPE_NAME = "maltego.BioWeapon"
522
+ Config = _copy_parent_config(WMD, "BioWeapon")
523
+ type: str = MEF(
524
+ name="weapon.type",
525
+ display_name="Type",
526
+ description="Weapon type",
527
+ sample_value='Biological agent',
528
+ matching_rule=MATCHING_RULE_LOOSE,
529
+ )
530
+
531
+
532
+ class ChemicalWeapon(WMD):
533
+ TYPE_NAME = "maltego.ChemicalWeapon"
534
+ Config = _copy_parent_config(WMD, "ChemicalWeapon")
535
+ type: str = MEF(
536
+ name="weapon.type",
537
+ display_name="Type",
538
+ description="Weapon type",
539
+ sample_value='Chemical agent',
540
+ matching_rule=MATCHING_RULE_LOOSE,
541
+ )
542
+
543
+
544
+ class NuclearWeapon(WMD):
545
+ TYPE_NAME = "maltego.NuclearWeapon"
546
+ Config = _copy_parent_config(WMD, "NuclearWeapon")
547
+ type: str = MEF(
548
+ name="weapon.type",
549
+ display_name="Type",
550
+ description="Weapon type",
551
+ sample_value='Nuclear device',
552
+ matching_rule=MATCHING_RULE_LOOSE,
553
+ )
@@ -0,0 +1,2 @@
1
+ # Copyright (c) Maltego Technologies GmbH.
2
+ REPLACE_EVALUATOR = "maltego.replace"
@@ -0,0 +1,37 @@
1
+ # Copyright (c) Maltego Technologies GmbH.
2
+ from maltego.model.entity import MEF, MaltegoEntity, MaltegoEntityConfig
3
+
4
+ from maltego.categories import EntityCategories
5
+
6
+ __all__ = [
7
+ "Thing",
8
+ "Item",
9
+ ]
10
+
11
+
12
+ class Thing(MaltegoEntity):
13
+ TYPE_NAME = "maltego.Thing"
14
+ Config = MaltegoEntityConfig(
15
+ display_name="Thing",
16
+ display_name_plural="Things",
17
+ category=EntityCategories.PERSONAL.value,
18
+ description="Abstract root type of all things that we encounter in the cyber crime domain.",
19
+ icon_resource="Assemble",
20
+ allowed_root=False,
21
+ display_property="thing_value",
22
+ value_property="thing_value",
23
+ )
24
+
25
+ thing_value: str = MEF(hidden=True)
26
+
27
+
28
+ class Item(Thing):
29
+ TYPE_NAME = "maltego.Item"
30
+ Config = MaltegoEntityConfig(
31
+ display_name="Item",
32
+ display_name_plural="Items",
33
+ description="A generic representation of a thing that is not a place, an event or an agent.",
34
+ category=EntityCategories.PERSONAL.value,
35
+ icon_resource="Assemble",
36
+ allowed_root=False,
37
+ )