pycti 6.7.5__tar.gz → 6.7.6__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 (91) hide show
  1. {pycti-6.7.5 → pycti-6.7.6}/PKG-INFO +2 -2
  2. {pycti-6.7.5 → pycti-6.7.6}/pycti/__init__.py +1 -1
  3. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/opencti_stix_cyber_observable.py +17 -0
  4. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/opencti_vulnerability.py +14 -0
  5. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/stix_cyber_observable/opencti_stix_cyber_observable_properties.py +2 -0
  6. {pycti-6.7.5 → pycti-6.7.6}/pycti.egg-info/PKG-INFO +2 -2
  7. {pycti-6.7.5 → pycti-6.7.6}/pycti.egg-info/requires.txt +1 -1
  8. {pycti-6.7.5 → pycti-6.7.6}/setup.cfg +1 -1
  9. {pycti-6.7.5 → pycti-6.7.6}/LICENSE +0 -0
  10. {pycti-6.7.5 → pycti-6.7.6}/README.md +0 -0
  11. {pycti-6.7.5 → pycti-6.7.6}/pycti/api/__init__.py +0 -0
  12. {pycti-6.7.5 → pycti-6.7.6}/pycti/api/opencti_api_client.py +0 -0
  13. {pycti-6.7.5 → pycti-6.7.6}/pycti/api/opencti_api_connector.py +0 -0
  14. {pycti-6.7.5 → pycti-6.7.6}/pycti/api/opencti_api_draft.py +0 -0
  15. {pycti-6.7.5 → pycti-6.7.6}/pycti/api/opencti_api_internal_file.py +0 -0
  16. {pycti-6.7.5 → pycti-6.7.6}/pycti/api/opencti_api_notification.py +0 -0
  17. {pycti-6.7.5 → pycti-6.7.6}/pycti/api/opencti_api_pir.py +0 -0
  18. {pycti-6.7.5 → pycti-6.7.6}/pycti/api/opencti_api_playbook.py +0 -0
  19. {pycti-6.7.5 → pycti-6.7.6}/pycti/api/opencti_api_public_dashboard.py +0 -0
  20. {pycti-6.7.5 → pycti-6.7.6}/pycti/api/opencti_api_trash.py +0 -0
  21. {pycti-6.7.5 → pycti-6.7.6}/pycti/api/opencti_api_work.py +0 -0
  22. {pycti-6.7.5 → pycti-6.7.6}/pycti/api/opencti_api_workspace.py +0 -0
  23. {pycti-6.7.5 → pycti-6.7.6}/pycti/connector/__init__.py +0 -0
  24. {pycti-6.7.5 → pycti-6.7.6}/pycti/connector/opencti_connector.py +0 -0
  25. {pycti-6.7.5 → pycti-6.7.6}/pycti/connector/opencti_connector_helper.py +0 -0
  26. {pycti-6.7.5 → pycti-6.7.6}/pycti/connector/opencti_metric_handler.py +0 -0
  27. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/__init__.py +0 -0
  28. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/indicator/__init__.py +0 -0
  29. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/indicator/opencti_indicator_properties.py +0 -0
  30. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/opencti_attack_pattern.py +0 -0
  31. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/opencti_campaign.py +0 -0
  32. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/opencti_capability.py +0 -0
  33. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/opencti_case_incident.py +0 -0
  34. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/opencti_case_rfi.py +0 -0
  35. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/opencti_case_rft.py +0 -0
  36. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/opencti_channel.py +0 -0
  37. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/opencti_course_of_action.py +0 -0
  38. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/opencti_data_component.py +0 -0
  39. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/opencti_data_source.py +0 -0
  40. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/opencti_event.py +0 -0
  41. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/opencti_external_reference.py +0 -0
  42. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/opencti_feedback.py +0 -0
  43. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/opencti_group.py +0 -0
  44. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/opencti_grouping.py +0 -0
  45. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/opencti_identity.py +0 -0
  46. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/opencti_incident.py +0 -0
  47. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/opencti_indicator.py +0 -0
  48. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/opencti_infrastructure.py +0 -0
  49. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/opencti_intrusion_set.py +0 -0
  50. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/opencti_kill_chain_phase.py +0 -0
  51. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/opencti_label.py +0 -0
  52. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/opencti_language.py +0 -0
  53. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/opencti_location.py +0 -0
  54. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/opencti_malware.py +0 -0
  55. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/opencti_malware_analysis.py +0 -0
  56. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/opencti_marking_definition.py +0 -0
  57. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/opencti_narrative.py +0 -0
  58. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/opencti_note.py +0 -0
  59. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/opencti_observed_data.py +0 -0
  60. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/opencti_opinion.py +0 -0
  61. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/opencti_report.py +0 -0
  62. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/opencti_role.py +0 -0
  63. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/opencti_settings.py +0 -0
  64. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/opencti_stix.py +0 -0
  65. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/opencti_stix_core_object.py +0 -0
  66. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/opencti_stix_core_relationship.py +0 -0
  67. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/opencti_stix_domain_object.py +0 -0
  68. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/opencti_stix_nested_ref_relationship.py +0 -0
  69. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/opencti_stix_object_or_stix_relationship.py +0 -0
  70. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/opencti_stix_sighting_relationship.py +0 -0
  71. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/opencti_task.py +0 -0
  72. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/opencti_threat_actor.py +0 -0
  73. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/opencti_threat_actor_group.py +0 -0
  74. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/opencti_threat_actor_individual.py +0 -0
  75. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/opencti_tool.py +0 -0
  76. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/opencti_user.py +0 -0
  77. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/opencti_vocabulary.py +0 -0
  78. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/stix_cyber_observable/__init__.py +0 -0
  79. {pycti-6.7.5 → pycti-6.7.6}/pycti/entities/stix_cyber_observable/opencti_stix_cyber_observable_deprecated.py +0 -0
  80. {pycti-6.7.5 → pycti-6.7.6}/pycti/utils/__init__.py +0 -0
  81. {pycti-6.7.5 → pycti-6.7.6}/pycti/utils/constants.py +0 -0
  82. {pycti-6.7.5 → pycti-6.7.6}/pycti/utils/opencti_logger.py +0 -0
  83. {pycti-6.7.5 → pycti-6.7.6}/pycti/utils/opencti_stix2.py +0 -0
  84. {pycti-6.7.5 → pycti-6.7.6}/pycti/utils/opencti_stix2_identifier.py +0 -0
  85. {pycti-6.7.5 → pycti-6.7.6}/pycti/utils/opencti_stix2_splitter.py +0 -0
  86. {pycti-6.7.5 → pycti-6.7.6}/pycti/utils/opencti_stix2_update.py +0 -0
  87. {pycti-6.7.5 → pycti-6.7.6}/pycti/utils/opencti_stix2_utils.py +0 -0
  88. {pycti-6.7.5 → pycti-6.7.6}/pycti.egg-info/SOURCES.txt +0 -0
  89. {pycti-6.7.5 → pycti-6.7.6}/pycti.egg-info/dependency_links.txt +0 -0
  90. {pycti-6.7.5 → pycti-6.7.6}/pycti.egg-info/top_level.txt +0 -0
  91. {pycti-6.7.5 → pycti-6.7.6}/pyproject.toml +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pycti
3
- Version: 6.7.5
3
+ Version: 6.7.6
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.21.1
35
35
  Requires-Dist: opentelemetry-api~=1.32.0
36
36
  Requires-Dist: opentelemetry-sdk~=1.32.0
37
37
  Requires-Dist: deprecation~=2.1.0
38
- Requires-Dist: fastapi<0.116.0,>=0.115.8
38
+ Requires-Dist: fastapi<0.117.0,>=0.116.1
39
39
  Requires-Dist: uvicorn[standard]<0.35.0,>=0.33.0
40
40
  Requires-Dist: filigran-sseclient>=1.0.2
41
41
  Requires-Dist: stix2~=3.0.1
@@ -1,5 +1,5 @@
1
1
  # -*- coding: utf-8 -*-
2
- __version__ = "6.7.5"
2
+ __version__ = "6.7.6"
3
3
 
4
4
  from .api.opencti_api_client import OpenCTIApiClient
5
5
  from .api.opencti_api_connector import OpenCTIApiConnector
@@ -809,6 +809,18 @@ class StixCyberObservable(StixCyberObservableDeprecatedMixin):
809
809
  ),
810
810
  }
811
811
  elif type == "Software":
812
+ if (
813
+ "x_opencti_product" not in observable_data
814
+ and self.opencti.get_attribute_in_extension(
815
+ "x_opencti_product", observable_data
816
+ )
817
+ is not None
818
+ ):
819
+ observable_data["x_opencti_product"] = (
820
+ self.opencti.get_attribute_in_extension(
821
+ "x_opencti_product", observable_data
822
+ )
823
+ )
812
824
  input_variables["Software"] = {
813
825
  "name": (
814
826
  observable_data["name"] if "name" in observable_data else None
@@ -832,6 +844,11 @@ class StixCyberObservable(StixCyberObservableDeprecatedMixin):
832
844
  if "version" in observable_data
833
845
  else None
834
846
  ),
847
+ "x_opencti_product": (
848
+ observable_data["x_opencti_product"]
849
+ if "x_opencti_product" in observable_data
850
+ else None
851
+ ),
835
852
  }
836
853
  elif type == "Url":
837
854
  input_variables["Url"] = {
@@ -150,6 +150,7 @@ class Vulnerability:
150
150
  x_opencti_cvss_v4_availability_impact_s
151
151
  x_opencti_cvss_v4_exploit_maturity
152
152
  x_opencti_cwe
153
+ x_opencti_first_seen_active
153
154
  x_opencti_cisa_kev
154
155
  x_opencti_epss_score
155
156
  x_opencti_epss_percentile
@@ -452,6 +453,7 @@ class Vulnerability:
452
453
  x_opencti_epss_score = kwargs.get("x_opencti_epss_score", None)
453
454
  x_opencti_epss_percentile = kwargs.get("x_opencti_epss_percentile", None)
454
455
  x_opencti_score = kwargs.get("x_opencti_score", None)
456
+ x_opencti_first_seen_active = kwargs.get("x_opencti_first_seen_active", None)
455
457
  x_opencti_stix_ids = kwargs.get("x_opencti_stix_ids", None)
456
458
  granted_refs = kwargs.get("objectOrganization", None)
457
459
  x_opencti_workflow_id = kwargs.get("x_opencti_workflow_id", None)
@@ -538,6 +540,7 @@ class Vulnerability:
538
540
  "x_opencti_epss_score": x_opencti_epss_score,
539
541
  "x_opencti_epss_percentile": x_opencti_epss_percentile,
540
542
  "x_opencti_score": x_opencti_score,
543
+ "x_opencti_first_seen_active": x_opencti_first_seen_active,
541
544
  "x_opencti_stix_ids": x_opencti_stix_ids,
542
545
  "x_opencti_workflow_id": x_opencti_workflow_id,
543
546
  "update": update,
@@ -867,6 +870,12 @@ class Vulnerability:
867
870
  stix_object["x_opencti_score"] = (
868
871
  self.opencti.get_attribute_in_extension("score", stix_object)
869
872
  )
873
+ if "x_opencti_first_seen_active" not in stix_object:
874
+ stix_object["x_opencti_first_seen_active"] = (
875
+ self.opencti.get_attribute_in_extension(
876
+ "first_seen_active", stix_object
877
+ )
878
+ )
870
879
 
871
880
  return self.create(
872
881
  stix_id=stix_object["id"],
@@ -1158,6 +1167,11 @@ class Vulnerability:
1158
1167
  if "x_opencti_score" in stix_object
1159
1168
  else None
1160
1169
  ),
1170
+ x_opencti_first_seen_active=(
1171
+ stix_object["x_opencti_first_seen_active"]
1172
+ if "x_opencti_first_seen_active" in stix_object
1173
+ else None
1174
+ ),
1161
1175
  update=update,
1162
1176
  )
1163
1177
  else:
@@ -215,6 +215,7 @@ SCO_PROPERTIES = """
215
215
  languages
216
216
  vendor
217
217
  version
218
+ x_opencti_product
218
219
  }
219
220
  ... on Url {
220
221
  value
@@ -519,6 +520,7 @@ SCO_PROPERTIES_WITH_FILES = """
519
520
  languages
520
521
  vendor
521
522
  version
523
+ x_opencti_product
522
524
  }
523
525
  ... on Url {
524
526
  value
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pycti
3
- Version: 6.7.5
3
+ Version: 6.7.6
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.21.1
35
35
  Requires-Dist: opentelemetry-api~=1.32.0
36
36
  Requires-Dist: opentelemetry-sdk~=1.32.0
37
37
  Requires-Dist: deprecation~=2.1.0
38
- Requires-Dist: fastapi<0.116.0,>=0.115.8
38
+ Requires-Dist: fastapi<0.117.0,>=0.116.1
39
39
  Requires-Dist: uvicorn[standard]<0.35.0,>=0.33.0
40
40
  Requires-Dist: filigran-sseclient>=1.0.2
41
41
  Requires-Dist: stix2~=3.0.1
@@ -10,7 +10,7 @@ prometheus-client~=0.21.1
10
10
  opentelemetry-api~=1.32.0
11
11
  opentelemetry-sdk~=1.32.0
12
12
  deprecation~=2.1.0
13
- fastapi<0.116.0,>=0.115.8
13
+ fastapi<0.117.0,>=0.116.1
14
14
  uvicorn[standard]<0.35.0,>=0.33.0
15
15
  filigran-sseclient>=1.0.2
16
16
  stix2~=3.0.1
@@ -48,7 +48,7 @@ install_requires =
48
48
  opentelemetry-api~=1.32.0
49
49
  opentelemetry-sdk~=1.32.0
50
50
  deprecation~=2.1.0
51
- fastapi>=0.115.8,<0.116.0
51
+ fastapi>=0.116.1,<0.117.0
52
52
  uvicorn[standard]>=0.33.0,<0.35.0
53
53
  filigran-sseclient>=1.0.2
54
54
  stix2~=3.0.1
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