diff --git a/pycti/__init__.py b/pycti/__init__.py index e93b6b4be..75ff5cd31 100644 --- a/pycti/__init__.py +++ b/pycti/__init__.py @@ -65,9 +65,11 @@ CustomObservableBankAccount, CustomObservableCredential, CustomObservableCryptocurrencyWallet, + CustomObservableCryptographicKey, CustomObservableHostname, CustomObservableMediaContent, CustomObservablePaymentCard, + CustomObservablePersona, CustomObservablePhoneNumber, CustomObservableText, CustomObservableTrackingNumber, @@ -149,8 +151,10 @@ "CustomObservableHostname", "CustomObservableUserAgent", "CustomObservableBankAccount", + "CustomObservableCryptographicKey", "CustomObservableCryptocurrencyWallet", "CustomObservablePaymentCard", + "CustomObservablePersona", "CustomObservablePhoneNumber", "CustomObservableTrackingNumber", "CustomObservableText", diff --git a/pycti/utils/constants.py b/pycti/utils/constants.py index 642d0a69d..1b046ac93 100644 --- a/pycti/utils/constants.py +++ b/pycti/utils/constants.py @@ -453,3 +453,44 @@ class CustomObservableMediaContent: """Media-Content observable.""" pass + + +@CustomObservable( + "persona", + [ + ("persona_name", StringProperty(required=True)), + ("persona_type", StringProperty(required=True)), + ("spec_version", StringProperty(fixed="2.1")), + ( + "object_marking_refs", + ListProperty( + ReferenceProperty(valid_types="marking-definition", spec_version="2.1") + ), + ), + ], + ["persona_name", "persona_type"], +) +class CustomObservablePersona: + """Persona observable.""" + + pass + + +@CustomObservable( + "cryptographic-key", + [ + ("value", StringProperty(required=True)), + ("spec_version", StringProperty(fixed="2.1")), + ( + "object_marking_refs", + ListProperty( + ReferenceProperty(valid_types="marking-definition", spec_version="2.1") + ), + ), + ], + ["value"], +) +class CustomObservableCryptographicKey: + """Cryptographic-Key observable.""" + + pass