pycti 6.4.3__tar.gz → 6.4.5__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.

Files changed (79) hide show
  1. {pycti-6.4.3 → pycti-6.4.5}/PKG-INFO +2 -2
  2. {pycti-6.4.3 → pycti-6.4.5}/pycti/__init__.py +1 -1
  3. {pycti-6.4.3 → pycti-6.4.5}/pycti/entities/opencti_case_incident.py +13 -1
  4. {pycti-6.4.3 → pycti-6.4.5}/pycti/entities/opencti_case_rfi.py +24 -0
  5. {pycti-6.4.3 → pycti-6.4.5}/pycti/entities/opencti_case_rft.py +24 -1
  6. {pycti-6.4.3 → pycti-6.4.5}/pycti/entities/opencti_task.py +13 -1
  7. {pycti-6.4.3 → pycti-6.4.5}/pycti.egg-info/PKG-INFO +2 -2
  8. {pycti-6.4.3 → pycti-6.4.5}/pycti.egg-info/requires.txt +1 -1
  9. {pycti-6.4.3 → pycti-6.4.5}/setup.cfg +1 -1
  10. {pycti-6.4.3 → pycti-6.4.5}/LICENSE +0 -0
  11. {pycti-6.4.3 → pycti-6.4.5}/README.md +0 -0
  12. {pycti-6.4.3 → pycti-6.4.5}/pycti/api/__init__.py +0 -0
  13. {pycti-6.4.3 → pycti-6.4.5}/pycti/api/opencti_api_client.py +0 -0
  14. {pycti-6.4.3 → pycti-6.4.5}/pycti/api/opencti_api_connector.py +0 -0
  15. {pycti-6.4.3 → pycti-6.4.5}/pycti/api/opencti_api_playbook.py +0 -0
  16. {pycti-6.4.3 → pycti-6.4.5}/pycti/api/opencti_api_work.py +0 -0
  17. {pycti-6.4.3 → pycti-6.4.5}/pycti/connector/__init__.py +0 -0
  18. {pycti-6.4.3 → pycti-6.4.5}/pycti/connector/opencti_connector.py +0 -0
  19. {pycti-6.4.3 → pycti-6.4.5}/pycti/connector/opencti_connector_helper.py +0 -0
  20. {pycti-6.4.3 → pycti-6.4.5}/pycti/connector/opencti_metric_handler.py +0 -0
  21. {pycti-6.4.3 → pycti-6.4.5}/pycti/entities/__init__.py +0 -0
  22. {pycti-6.4.3 → pycti-6.4.5}/pycti/entities/indicator/__init__.py +0 -0
  23. {pycti-6.4.3 → pycti-6.4.5}/pycti/entities/indicator/opencti_indicator_properties.py +0 -0
  24. {pycti-6.4.3 → pycti-6.4.5}/pycti/entities/opencti_attack_pattern.py +0 -0
  25. {pycti-6.4.3 → pycti-6.4.5}/pycti/entities/opencti_campaign.py +0 -0
  26. {pycti-6.4.3 → pycti-6.4.5}/pycti/entities/opencti_channel.py +0 -0
  27. {pycti-6.4.3 → pycti-6.4.5}/pycti/entities/opencti_course_of_action.py +0 -0
  28. {pycti-6.4.3 → pycti-6.4.5}/pycti/entities/opencti_data_component.py +0 -0
  29. {pycti-6.4.3 → pycti-6.4.5}/pycti/entities/opencti_data_source.py +0 -0
  30. {pycti-6.4.3 → pycti-6.4.5}/pycti/entities/opencti_event.py +0 -0
  31. {pycti-6.4.3 → pycti-6.4.5}/pycti/entities/opencti_external_reference.py +0 -0
  32. {pycti-6.4.3 → pycti-6.4.5}/pycti/entities/opencti_feedback.py +0 -0
  33. {pycti-6.4.3 → pycti-6.4.5}/pycti/entities/opencti_grouping.py +0 -0
  34. {pycti-6.4.3 → pycti-6.4.5}/pycti/entities/opencti_identity.py +0 -0
  35. {pycti-6.4.3 → pycti-6.4.5}/pycti/entities/opencti_incident.py +0 -0
  36. {pycti-6.4.3 → pycti-6.4.5}/pycti/entities/opencti_indicator.py +0 -0
  37. {pycti-6.4.3 → pycti-6.4.5}/pycti/entities/opencti_infrastructure.py +0 -0
  38. {pycti-6.4.3 → pycti-6.4.5}/pycti/entities/opencti_intrusion_set.py +0 -0
  39. {pycti-6.4.3 → pycti-6.4.5}/pycti/entities/opencti_kill_chain_phase.py +0 -0
  40. {pycti-6.4.3 → pycti-6.4.5}/pycti/entities/opencti_label.py +0 -0
  41. {pycti-6.4.3 → pycti-6.4.5}/pycti/entities/opencti_language.py +0 -0
  42. {pycti-6.4.3 → pycti-6.4.5}/pycti/entities/opencti_location.py +0 -0
  43. {pycti-6.4.3 → pycti-6.4.5}/pycti/entities/opencti_malware.py +0 -0
  44. {pycti-6.4.3 → pycti-6.4.5}/pycti/entities/opencti_malware_analysis.py +0 -0
  45. {pycti-6.4.3 → pycti-6.4.5}/pycti/entities/opencti_marking_definition.py +0 -0
  46. {pycti-6.4.3 → pycti-6.4.5}/pycti/entities/opencti_narrative.py +0 -0
  47. {pycti-6.4.3 → pycti-6.4.5}/pycti/entities/opencti_note.py +0 -0
  48. {pycti-6.4.3 → pycti-6.4.5}/pycti/entities/opencti_observed_data.py +0 -0
  49. {pycti-6.4.3 → pycti-6.4.5}/pycti/entities/opencti_opinion.py +0 -0
  50. {pycti-6.4.3 → pycti-6.4.5}/pycti/entities/opencti_report.py +0 -0
  51. {pycti-6.4.3 → pycti-6.4.5}/pycti/entities/opencti_stix.py +0 -0
  52. {pycti-6.4.3 → pycti-6.4.5}/pycti/entities/opencti_stix_core_object.py +0 -0
  53. {pycti-6.4.3 → pycti-6.4.5}/pycti/entities/opencti_stix_core_relationship.py +0 -0
  54. {pycti-6.4.3 → pycti-6.4.5}/pycti/entities/opencti_stix_cyber_observable.py +0 -0
  55. {pycti-6.4.3 → pycti-6.4.5}/pycti/entities/opencti_stix_domain_object.py +0 -0
  56. {pycti-6.4.3 → pycti-6.4.5}/pycti/entities/opencti_stix_nested_ref_relationship.py +0 -0
  57. {pycti-6.4.3 → pycti-6.4.5}/pycti/entities/opencti_stix_object_or_stix_relationship.py +0 -0
  58. {pycti-6.4.3 → pycti-6.4.5}/pycti/entities/opencti_stix_sighting_relationship.py +0 -0
  59. {pycti-6.4.3 → pycti-6.4.5}/pycti/entities/opencti_threat_actor.py +0 -0
  60. {pycti-6.4.3 → pycti-6.4.5}/pycti/entities/opencti_threat_actor_group.py +0 -0
  61. {pycti-6.4.3 → pycti-6.4.5}/pycti/entities/opencti_threat_actor_individual.py +0 -0
  62. {pycti-6.4.3 → pycti-6.4.5}/pycti/entities/opencti_tool.py +0 -0
  63. {pycti-6.4.3 → pycti-6.4.5}/pycti/entities/opencti_vocabulary.py +0 -0
  64. {pycti-6.4.3 → pycti-6.4.5}/pycti/entities/opencti_vulnerability.py +0 -0
  65. {pycti-6.4.3 → pycti-6.4.5}/pycti/entities/stix_cyber_observable/__init__.py +0 -0
  66. {pycti-6.4.3 → pycti-6.4.5}/pycti/entities/stix_cyber_observable/opencti_stix_cyber_observable_deprecated.py +0 -0
  67. {pycti-6.4.3 → pycti-6.4.5}/pycti/entities/stix_cyber_observable/opencti_stix_cyber_observable_properties.py +0 -0
  68. {pycti-6.4.3 → pycti-6.4.5}/pycti/utils/__init__.py +0 -0
  69. {pycti-6.4.3 → pycti-6.4.5}/pycti/utils/constants.py +0 -0
  70. {pycti-6.4.3 → pycti-6.4.5}/pycti/utils/opencti_logger.py +0 -0
  71. {pycti-6.4.3 → pycti-6.4.5}/pycti/utils/opencti_stix2.py +0 -0
  72. {pycti-6.4.3 → pycti-6.4.5}/pycti/utils/opencti_stix2_identifier.py +0 -0
  73. {pycti-6.4.3 → pycti-6.4.5}/pycti/utils/opencti_stix2_splitter.py +0 -0
  74. {pycti-6.4.3 → pycti-6.4.5}/pycti/utils/opencti_stix2_update.py +0 -0
  75. {pycti-6.4.3 → pycti-6.4.5}/pycti/utils/opencti_stix2_utils.py +0 -0
  76. {pycti-6.4.3 → pycti-6.4.5}/pycti.egg-info/SOURCES.txt +0 -0
  77. {pycti-6.4.3 → pycti-6.4.5}/pycti.egg-info/dependency_links.txt +0 -0
  78. {pycti-6.4.3 → pycti-6.4.5}/pycti.egg-info/top_level.txt +0 -0
  79. {pycti-6.4.3 → pycti-6.4.5}/pyproject.toml +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pycti
3
- Version: 6.4.3
3
+ Version: 6.4.5
4
4
  Summary: Python API client for OpenCTI.
5
5
  Home-page: https://github.com/OpenCTI-Platform/client-python
6
6
  Author: Filigran
@@ -35,7 +35,7 @@ Requires-Dist: prometheus-client~=0.20.0
35
35
  Requires-Dist: opentelemetry-api~=1.22.0
36
36
  Requires-Dist: opentelemetry-sdk~=1.22.0
37
37
  Requires-Dist: deprecation~=2.1.0
38
- Requires-Dist: filigran-sseclient~=1.0.0
38
+ Requires-Dist: filigran-sseclient>=1.0.2
39
39
  Requires-Dist: stix2~=3.0.1
40
40
  Provides-Extra: dev
41
41
  Requires-Dist: black~=24.4.0; extra == "dev"
@@ -1,5 +1,5 @@
1
1
  # -*- coding: utf-8 -*-
2
- __version__ = "6.4.3"
2
+ __version__ = "6.4.5"
3
3
 
4
4
  from .api.opencti_api_client import OpenCTIApiClient
5
5
  from .api.opencti_api_connector import OpenCTIApiConnector
@@ -690,6 +690,7 @@ class CaseIncident:
690
690
  priority = kwargs.get("priority", None)
691
691
  x_opencti_stix_ids = kwargs.get("x_opencti_stix_ids", None)
692
692
  object_assignee = kwargs.get("objectAssignee", None)
693
+ object_participant = kwargs.get("objectParticipant", None)
693
694
  granted_refs = kwargs.get("objectOrganization", None)
694
695
  response_types = kwargs.get("response_types", None)
695
696
  x_opencti_workflow_id = kwargs.get("x_opencti_workflow_id", None)
@@ -717,6 +718,7 @@ class CaseIncident:
717
718
  "objectLabel": object_label,
718
719
  "objectOrganization": granted_refs,
719
720
  "objectAssignee": object_assignee,
721
+ "objectParticipant": object_participant,
720
722
  "objects": objects,
721
723
  "externalReferences": external_references,
722
724
  "revoked": revoked,
@@ -865,7 +867,12 @@ class CaseIncident:
865
867
  stix_object["x_opencti_assignee_ids"] = (
866
868
  self.opencti.get_attribute_in_extension("assignee_ids", stix_object)
867
869
  )
868
-
870
+ if "x_opencti_participant_ids" not in stix_object:
871
+ stix_object["x_opencti_participant_ids"] = (
872
+ self.opencti.get_attribute_in_extension(
873
+ "participant_ids", stix_object
874
+ )
875
+ )
869
876
  return self.create(
870
877
  stix_id=stix_object["id"],
871
878
  createdBy=(
@@ -920,6 +927,11 @@ class CaseIncident:
920
927
  if "x_opencti_assignee_ids" in stix_object
921
928
  else None
922
929
  ),
930
+ objectParticipant=(
931
+ stix_object["x_opencti_participant_ids"]
932
+ if "x_opencti_participant_ids" in stix_object
933
+ else None
934
+ ),
923
935
  x_opencti_workflow_id=(
924
936
  stix_object["x_opencti_workflow_id"]
925
937
  if "x_opencti_workflow_id" in stix_object
@@ -674,6 +674,8 @@ class CaseRfi:
674
674
  objects = kwargs.get("objects", None)
675
675
  object_marking = kwargs.get("objectMarking", None)
676
676
  object_label = kwargs.get("objectLabel", None)
677
+ object_assignee = kwargs.get("objectAssignee", None)
678
+ object_participant = kwargs.get("objectParticipant", None)
677
679
  external_references = kwargs.get("externalReferences", None)
678
680
  revoked = kwargs.get("revoked", None)
679
681
  confidence = kwargs.get("confidence", None)
@@ -709,6 +711,8 @@ class CaseRfi:
709
711
  "objectMarking": object_marking,
710
712
  "objectLabel": object_label,
711
713
  "objectOrganization": granted_refs,
714
+ "objectAssignee": object_assignee,
715
+ "objectParticipant": object_participant,
712
716
  "objects": objects,
713
717
  "externalReferences": external_references,
714
718
  "revoked": revoked,
@@ -846,6 +850,16 @@ class CaseRfi:
846
850
  stix_object["x_opencti_workflow_id"] = (
847
851
  self.opencti.get_attribute_in_extension("workflow_id", stix_object)
848
852
  )
853
+ if "x_opencti_assignee_ids" not in stix_object:
854
+ stix_object["x_opencti_assignee_ids"] = (
855
+ self.opencti.get_attribute_in_extension("assignee_ids", stix_object)
856
+ )
857
+ if "x_opencti_participant_ids" not in stix_object:
858
+ stix_object["x_opencti_participant_ids"] = (
859
+ self.opencti.get_attribute_in_extension(
860
+ "participant_ids", stix_object
861
+ )
862
+ )
849
863
 
850
864
  return self.create(
851
865
  stix_id=stix_object["id"],
@@ -889,6 +903,16 @@ class CaseRfi:
889
903
  if "x_opencti_granted_refs" in stix_object
890
904
  else None
891
905
  ),
906
+ objectAssignee=(
907
+ stix_object["x_opencti_assignee_ids"]
908
+ if "x_opencti_assignee_ids" in stix_object
909
+ else None
910
+ ),
911
+ objectParticipant=(
912
+ stix_object["x_opencti_participant_ids"]
913
+ if "x_opencti_participant_ids" in stix_object
914
+ else None
915
+ ),
892
916
  x_opencti_workflow_id=(
893
917
  stix_object["x_opencti_workflow_id"]
894
918
  if "x_opencti_workflow_id" in stix_object
@@ -673,6 +673,8 @@ class CaseRft:
673
673
  objects = kwargs.get("objects", None)
674
674
  object_marking = kwargs.get("objectMarking", None)
675
675
  object_label = kwargs.get("objectLabel", None)
676
+ object_assignee = kwargs.get("objectAssignee", None)
677
+ object_participant = kwargs.get("objectParticipant", None)
676
678
  external_references = kwargs.get("externalReferences", None)
677
679
  revoked = kwargs.get("revoked", None)
678
680
  confidence = kwargs.get("confidence", None)
@@ -708,6 +710,8 @@ class CaseRft:
708
710
  "objectMarking": object_marking,
709
711
  "objectLabel": object_label,
710
712
  "objectOrganization": granted_refs,
713
+ "objectAssignee": object_assignee,
714
+ "objectParticipant": object_participant,
711
715
  "objects": objects,
712
716
  "externalReferences": external_references,
713
717
  "revoked": revoked,
@@ -845,7 +849,16 @@ class CaseRft:
845
849
  stix_object["x_opencti_workflow_id"] = (
846
850
  self.opencti.get_attribute_in_extension("workflow_id", stix_object)
847
851
  )
848
-
852
+ if "x_opencti_assignee_ids" not in stix_object:
853
+ stix_object["x_opencti_assignee_ids"] = (
854
+ self.opencti.get_attribute_in_extension("assignee_ids", stix_object)
855
+ )
856
+ if "x_opencti_participant_ids" not in stix_object:
857
+ stix_object["x_opencti_participant_ids"] = (
858
+ self.opencti.get_attribute_in_extension(
859
+ "participant_ids", stix_object
860
+ )
861
+ )
849
862
  return self.create(
850
863
  stix_id=stix_object["id"],
851
864
  createdBy=(
@@ -893,6 +906,16 @@ class CaseRft:
893
906
  if "x_opencti_granted_refs" in stix_object
894
907
  else None
895
908
  ),
909
+ objectAssignee=(
910
+ stix_object["x_opencti_assignee_ids"]
911
+ if "x_opencti_assignee_ids" in stix_object
912
+ else None
913
+ ),
914
+ objectParticipant=(
915
+ stix_object["x_opencti_participant_ids"]
916
+ if "x_opencti_participant_ids" in stix_object
917
+ else None
918
+ ),
896
919
  x_opencti_workflow_id=(
897
920
  stix_object["x_opencti_workflow_id"]
898
921
  if "x_opencti_workflow_id" in stix_object
@@ -448,6 +448,7 @@ class Task:
448
448
  object_marking = kwargs.get("objectMarking", None)
449
449
  object_label = kwargs.get("objectLabel", None)
450
450
  object_assignee = kwargs.get("objectAssignee", None)
451
+ object_participant = kwargs.get("objectParticipant", None)
451
452
  granted_refs = kwargs.get("objectOrganization", None)
452
453
  x_opencti_workflow_id = kwargs.get("x_opencti_workflow_id", None)
453
454
  update = kwargs.get("update", False)
@@ -478,6 +479,7 @@ class Task:
478
479
  "objectMarking": object_marking,
479
480
  "objectOrganization": granted_refs,
480
481
  "objectAssignee": object_assignee,
482
+ "objectParticipant": object_participant,
481
483
  "x_opencti_workflow_id": x_opencti_workflow_id,
482
484
  "update": update,
483
485
  }
@@ -628,7 +630,12 @@ class Task:
628
630
  stix_object["x_opencti_assignee_ids"] = (
629
631
  self.opencti.get_attribute_in_extension("assignee_ids", stix_object)
630
632
  )
631
-
633
+ if "x_opencti_participant_ids" not in stix_object:
634
+ stix_object["x_opencti_participant_ids"] = (
635
+ self.opencti.get_attribute_in_extension(
636
+ "participant_ids", stix_object
637
+ )
638
+ )
632
639
  return self.create(
633
640
  stix_id=stix_object["id"],
634
641
  createdBy=(
@@ -661,6 +668,11 @@ class Task:
661
668
  if "x_opencti_assignee_ids" in stix_object
662
669
  else None
663
670
  ),
671
+ objectParticipant=(
672
+ stix_object["x_opencti_participant_ids"]
673
+ if "x_opencti_participant_ids" in stix_object
674
+ else None
675
+ ),
664
676
  x_opencti_workflow_id=(
665
677
  stix_object["x_opencti_workflow_id"]
666
678
  if "x_opencti_workflow_id" in stix_object
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pycti
3
- Version: 6.4.3
3
+ Version: 6.4.5
4
4
  Summary: Python API client for OpenCTI.
5
5
  Home-page: https://github.com/OpenCTI-Platform/client-python
6
6
  Author: Filigran
@@ -35,7 +35,7 @@ Requires-Dist: prometheus-client~=0.20.0
35
35
  Requires-Dist: opentelemetry-api~=1.22.0
36
36
  Requires-Dist: opentelemetry-sdk~=1.22.0
37
37
  Requires-Dist: deprecation~=2.1.0
38
- Requires-Dist: filigran-sseclient~=1.0.0
38
+ Requires-Dist: filigran-sseclient>=1.0.2
39
39
  Requires-Dist: stix2~=3.0.1
40
40
  Provides-Extra: dev
41
41
  Requires-Dist: black~=24.4.0; extra == "dev"
@@ -10,7 +10,7 @@ prometheus-client~=0.20.0
10
10
  opentelemetry-api~=1.22.0
11
11
  opentelemetry-sdk~=1.22.0
12
12
  deprecation~=2.1.0
13
- filigran-sseclient~=1.0.0
13
+ filigran-sseclient>=1.0.2
14
14
  stix2~=3.0.1
15
15
 
16
16
  [:sys_platform == "linux" or sys_platform == "darwin"]
@@ -48,7 +48,7 @@ install_requires =
48
48
  opentelemetry-api~=1.22.0
49
49
  opentelemetry-sdk~=1.22.0
50
50
  deprecation~=2.1.0
51
- filigran-sseclient~=1.0.0
51
+ filigran-sseclient>=1.0.2
52
52
  stix2~=3.0.1
53
53
 
54
54
  [options.extras_require]
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