pycti 6.8.9__tar.gz → 6.8.10__tar.gz
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.
Potentially problematic release.
This version of pycti might be problematic. Click here for more details.
- {pycti-6.8.9 → pycti-6.8.10}/PKG-INFO +1 -1
- {pycti-6.8.9 → pycti-6.8.10}/pycti/__init__.py +1 -1
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/opencti_report.py +1 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/opencti_stix_cyber_observable.py +47 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/stix_cyber_observable/opencti_stix_cyber_observable_properties.py +20 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/utils/constants.py +1 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/utils/opencti_stix2_utils.py +1 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti.egg-info/PKG-INFO +1 -1
- {pycti-6.8.9 → pycti-6.8.10}/LICENSE +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/README.md +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/api/__init__.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/api/opencti_api_client.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/api/opencti_api_connector.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/api/opencti_api_draft.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/api/opencti_api_internal_file.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/api/opencti_api_notification.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/api/opencti_api_pir.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/api/opencti_api_playbook.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/api/opencti_api_public_dashboard.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/api/opencti_api_trash.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/api/opencti_api_work.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/api/opencti_api_workspace.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/connector/__init__.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/connector/opencti_connector.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/connector/opencti_connector_helper.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/connector/opencti_metric_handler.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/__init__.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/indicator/__init__.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/indicator/opencti_indicator_properties.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/opencti_attack_pattern.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/opencti_campaign.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/opencti_capability.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/opencti_case_incident.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/opencti_case_rfi.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/opencti_case_rft.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/opencti_channel.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/opencti_course_of_action.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/opencti_data_component.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/opencti_data_source.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/opencti_event.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/opencti_external_reference.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/opencti_feedback.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/opencti_group.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/opencti_grouping.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/opencti_identity.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/opencti_incident.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/opencti_indicator.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/opencti_infrastructure.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/opencti_intrusion_set.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/opencti_kill_chain_phase.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/opencti_label.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/opencti_language.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/opencti_location.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/opencti_malware.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/opencti_malware_analysis.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/opencti_marking_definition.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/opencti_narrative.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/opencti_note.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/opencti_observed_data.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/opencti_opinion.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/opencti_role.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/opencti_security_coverage.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/opencti_settings.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/opencti_stix.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/opencti_stix_core_object.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/opencti_stix_core_relationship.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/opencti_stix_domain_object.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/opencti_stix_nested_ref_relationship.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/opencti_stix_object_or_stix_relationship.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/opencti_stix_sighting_relationship.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/opencti_task.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/opencti_threat_actor.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/opencti_threat_actor_group.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/opencti_threat_actor_individual.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/opencti_tool.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/opencti_user.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/opencti_vocabulary.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/opencti_vulnerability.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/stix_cyber_observable/__init__.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/entities/stix_cyber_observable/opencti_stix_cyber_observable_deprecated.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/utils/__init__.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/utils/opencti_logger.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/utils/opencti_stix2.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/utils/opencti_stix2_identifier.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/utils/opencti_stix2_splitter.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti/utils/opencti_stix2_update.py +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti.egg-info/SOURCES.txt +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti.egg-info/dependency_links.txt +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti.egg-info/requires.txt +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pycti.egg-info/top_level.txt +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/pyproject.toml +0 -0
- {pycti-6.8.9 → pycti-6.8.10}/setup.cfg +0 -0
|
@@ -287,6 +287,8 @@ class StixCyberObservable(StixCyberObservableDeprecatedMixin):
|
|
|
287
287
|
type = "IPv6-Addr"
|
|
288
288
|
elif type.lower() == "persona":
|
|
289
289
|
type = "Persona"
|
|
290
|
+
elif type.lower() == "ssh-key":
|
|
291
|
+
type = "SSH-Key"
|
|
290
292
|
elif type.lower() == "hostname" or type.lower() == "x-opencti-hostname":
|
|
291
293
|
type = "Hostname"
|
|
292
294
|
elif type.lower() == "payment-card" or type.lower() == "x-opencti-payment-card":
|
|
@@ -420,6 +422,7 @@ class StixCyberObservable(StixCyberObservableDeprecatedMixin):
|
|
|
420
422
|
$PaymentCard: PaymentCardAddInput
|
|
421
423
|
$Persona: PersonaAddInput
|
|
422
424
|
$MediaContent: MediaContentAddInput
|
|
425
|
+
$SSHKey: SSHKeyAddInput
|
|
423
426
|
) {
|
|
424
427
|
stixCyberObservableAdd(
|
|
425
428
|
type: $type,
|
|
@@ -465,6 +468,7 @@ class StixCyberObservable(StixCyberObservableDeprecatedMixin):
|
|
|
465
468
|
PaymentCard: $PaymentCard
|
|
466
469
|
Persona: $Persona
|
|
467
470
|
MediaContent: $MediaContent
|
|
471
|
+
SSHKey: $SSHKey
|
|
468
472
|
) {
|
|
469
473
|
id
|
|
470
474
|
standard_id
|
|
@@ -713,6 +717,49 @@ class StixCyberObservable(StixCyberObservableDeprecatedMixin):
|
|
|
713
717
|
else None
|
|
714
718
|
),
|
|
715
719
|
}
|
|
720
|
+
elif type == "SSH-Key" or type.lower() == "ssh-key":
|
|
721
|
+
input_variables["SSHKey"] = {
|
|
722
|
+
"key_type": (
|
|
723
|
+
observable_data["key_type"]
|
|
724
|
+
if "key_type" in observable_data
|
|
725
|
+
else None
|
|
726
|
+
),
|
|
727
|
+
"public_key": (
|
|
728
|
+
observable_data["public_key"]
|
|
729
|
+
if "public_key" in observable_data
|
|
730
|
+
else None
|
|
731
|
+
),
|
|
732
|
+
"fingerprint_sha256": (
|
|
733
|
+
observable_data["fingerprint_sha256"]
|
|
734
|
+
if "fingerprint_sha256" in observable_data
|
|
735
|
+
else False
|
|
736
|
+
),
|
|
737
|
+
"fingerprint_md5": (
|
|
738
|
+
observable_data["fingerprint_md5"]
|
|
739
|
+
if "fingerprint_md5" in observable_data
|
|
740
|
+
else None
|
|
741
|
+
),
|
|
742
|
+
"key_length": (
|
|
743
|
+
observable_data["key_length"]
|
|
744
|
+
if "key_length" in observable_data
|
|
745
|
+
else None
|
|
746
|
+
),
|
|
747
|
+
"comment": (
|
|
748
|
+
observable_data["comment"]
|
|
749
|
+
if "comment" in observable_data
|
|
750
|
+
else None
|
|
751
|
+
),
|
|
752
|
+
"created": (
|
|
753
|
+
observable_data["created"]
|
|
754
|
+
if "created" in observable_data
|
|
755
|
+
else None
|
|
756
|
+
),
|
|
757
|
+
"expiration_date": (
|
|
758
|
+
observable_data["expiration_date"]
|
|
759
|
+
if "expiration_date" in observable_data
|
|
760
|
+
else None
|
|
761
|
+
),
|
|
762
|
+
}
|
|
716
763
|
elif type == "IPv4-Addr":
|
|
717
764
|
input_variables["IPv4Addr"] = {
|
|
718
765
|
"value": (
|
|
@@ -173,6 +173,16 @@ SCO_PROPERTIES = """
|
|
|
173
173
|
algorithm
|
|
174
174
|
hash
|
|
175
175
|
}
|
|
176
|
+
}
|
|
177
|
+
... on SSHKey {
|
|
178
|
+
key_type
|
|
179
|
+
public_key
|
|
180
|
+
fingerprint_sha256
|
|
181
|
+
fingerprint_md5
|
|
182
|
+
key_length
|
|
183
|
+
expiration_date
|
|
184
|
+
comment
|
|
185
|
+
created
|
|
176
186
|
}
|
|
177
187
|
... on IPv4Addr {
|
|
178
188
|
value
|
|
@@ -479,6 +489,16 @@ SCO_PROPERTIES_WITH_FILES = """
|
|
|
479
489
|
hash
|
|
480
490
|
}
|
|
481
491
|
}
|
|
492
|
+
... on SSHKey {
|
|
493
|
+
key_type
|
|
494
|
+
public_key
|
|
495
|
+
fingerprint_sha256
|
|
496
|
+
fingerprint_md5
|
|
497
|
+
key_length
|
|
498
|
+
expiration_date
|
|
499
|
+
comment
|
|
500
|
+
created
|
|
501
|
+
}
|
|
482
502
|
... on IPv4Addr {
|
|
483
503
|
value
|
|
484
504
|
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|