pycti 6.2.1__tar.gz → 6.2.2__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 (78) hide show
  1. {pycti-6.2.1 → pycti-6.2.2}/PKG-INFO +1 -1
  2. {pycti-6.2.1 → pycti-6.2.2}/pycti/__init__.py +5 -1
  3. {pycti-6.2.1 → pycti-6.2.2}/pycti/entities/opencti_report.py +6 -0
  4. {pycti-6.2.1 → pycti-6.2.2}/pycti/utils/constants.py +44 -0
  5. {pycti-6.2.1 → pycti-6.2.2}/pycti.egg-info/PKG-INFO +1 -1
  6. {pycti-6.2.1 → pycti-6.2.2}/LICENSE +0 -0
  7. {pycti-6.2.1 → pycti-6.2.2}/README.md +0 -0
  8. {pycti-6.2.1 → pycti-6.2.2}/pycti/api/__init__.py +0 -0
  9. {pycti-6.2.1 → pycti-6.2.2}/pycti/api/opencti_api_client.py +0 -0
  10. {pycti-6.2.1 → pycti-6.2.2}/pycti/api/opencti_api_connector.py +0 -0
  11. {pycti-6.2.1 → pycti-6.2.2}/pycti/api/opencti_api_playbook.py +0 -0
  12. {pycti-6.2.1 → pycti-6.2.2}/pycti/api/opencti_api_work.py +0 -0
  13. {pycti-6.2.1 → pycti-6.2.2}/pycti/connector/__init__.py +0 -0
  14. {pycti-6.2.1 → pycti-6.2.2}/pycti/connector/opencti_connector.py +0 -0
  15. {pycti-6.2.1 → pycti-6.2.2}/pycti/connector/opencti_connector_helper.py +0 -0
  16. {pycti-6.2.1 → pycti-6.2.2}/pycti/connector/opencti_metric_handler.py +0 -0
  17. {pycti-6.2.1 → pycti-6.2.2}/pycti/entities/__init__.py +0 -0
  18. {pycti-6.2.1 → pycti-6.2.2}/pycti/entities/indicator/__init__.py +0 -0
  19. {pycti-6.2.1 → pycti-6.2.2}/pycti/entities/indicator/opencti_indicator_properties.py +0 -0
  20. {pycti-6.2.1 → pycti-6.2.2}/pycti/entities/opencti_attack_pattern.py +0 -0
  21. {pycti-6.2.1 → pycti-6.2.2}/pycti/entities/opencti_campaign.py +0 -0
  22. {pycti-6.2.1 → pycti-6.2.2}/pycti/entities/opencti_case_incident.py +0 -0
  23. {pycti-6.2.1 → pycti-6.2.2}/pycti/entities/opencti_case_rfi.py +0 -0
  24. {pycti-6.2.1 → pycti-6.2.2}/pycti/entities/opencti_case_rft.py +0 -0
  25. {pycti-6.2.1 → pycti-6.2.2}/pycti/entities/opencti_channel.py +0 -0
  26. {pycti-6.2.1 → pycti-6.2.2}/pycti/entities/opencti_course_of_action.py +0 -0
  27. {pycti-6.2.1 → pycti-6.2.2}/pycti/entities/opencti_data_component.py +0 -0
  28. {pycti-6.2.1 → pycti-6.2.2}/pycti/entities/opencti_data_source.py +0 -0
  29. {pycti-6.2.1 → pycti-6.2.2}/pycti/entities/opencti_event.py +0 -0
  30. {pycti-6.2.1 → pycti-6.2.2}/pycti/entities/opencti_external_reference.py +0 -0
  31. {pycti-6.2.1 → pycti-6.2.2}/pycti/entities/opencti_feedback.py +0 -0
  32. {pycti-6.2.1 → pycti-6.2.2}/pycti/entities/opencti_grouping.py +0 -0
  33. {pycti-6.2.1 → pycti-6.2.2}/pycti/entities/opencti_identity.py +0 -0
  34. {pycti-6.2.1 → pycti-6.2.2}/pycti/entities/opencti_incident.py +0 -0
  35. {pycti-6.2.1 → pycti-6.2.2}/pycti/entities/opencti_indicator.py +0 -0
  36. {pycti-6.2.1 → pycti-6.2.2}/pycti/entities/opencti_infrastructure.py +0 -0
  37. {pycti-6.2.1 → pycti-6.2.2}/pycti/entities/opencti_intrusion_set.py +0 -0
  38. {pycti-6.2.1 → pycti-6.2.2}/pycti/entities/opencti_kill_chain_phase.py +0 -0
  39. {pycti-6.2.1 → pycti-6.2.2}/pycti/entities/opencti_label.py +0 -0
  40. {pycti-6.2.1 → pycti-6.2.2}/pycti/entities/opencti_language.py +0 -0
  41. {pycti-6.2.1 → pycti-6.2.2}/pycti/entities/opencti_location.py +0 -0
  42. {pycti-6.2.1 → pycti-6.2.2}/pycti/entities/opencti_malware.py +0 -0
  43. {pycti-6.2.1 → pycti-6.2.2}/pycti/entities/opencti_malware_analysis.py +0 -0
  44. {pycti-6.2.1 → pycti-6.2.2}/pycti/entities/opencti_marking_definition.py +0 -0
  45. {pycti-6.2.1 → pycti-6.2.2}/pycti/entities/opencti_narrative.py +0 -0
  46. {pycti-6.2.1 → pycti-6.2.2}/pycti/entities/opencti_note.py +0 -0
  47. {pycti-6.2.1 → pycti-6.2.2}/pycti/entities/opencti_observed_data.py +0 -0
  48. {pycti-6.2.1 → pycti-6.2.2}/pycti/entities/opencti_opinion.py +0 -0
  49. {pycti-6.2.1 → pycti-6.2.2}/pycti/entities/opencti_stix.py +0 -0
  50. {pycti-6.2.1 → pycti-6.2.2}/pycti/entities/opencti_stix_core_object.py +0 -0
  51. {pycti-6.2.1 → pycti-6.2.2}/pycti/entities/opencti_stix_core_relationship.py +0 -0
  52. {pycti-6.2.1 → pycti-6.2.2}/pycti/entities/opencti_stix_cyber_observable.py +0 -0
  53. {pycti-6.2.1 → pycti-6.2.2}/pycti/entities/opencti_stix_domain_object.py +0 -0
  54. {pycti-6.2.1 → pycti-6.2.2}/pycti/entities/opencti_stix_nested_ref_relationship.py +0 -0
  55. {pycti-6.2.1 → pycti-6.2.2}/pycti/entities/opencti_stix_object_or_stix_relationship.py +0 -0
  56. {pycti-6.2.1 → pycti-6.2.2}/pycti/entities/opencti_stix_sighting_relationship.py +0 -0
  57. {pycti-6.2.1 → pycti-6.2.2}/pycti/entities/opencti_task.py +0 -0
  58. {pycti-6.2.1 → pycti-6.2.2}/pycti/entities/opencti_threat_actor.py +0 -0
  59. {pycti-6.2.1 → pycti-6.2.2}/pycti/entities/opencti_threat_actor_group.py +0 -0
  60. {pycti-6.2.1 → pycti-6.2.2}/pycti/entities/opencti_threat_actor_individual.py +0 -0
  61. {pycti-6.2.1 → pycti-6.2.2}/pycti/entities/opencti_tool.py +0 -0
  62. {pycti-6.2.1 → pycti-6.2.2}/pycti/entities/opencti_vocabulary.py +0 -0
  63. {pycti-6.2.1 → pycti-6.2.2}/pycti/entities/opencti_vulnerability.py +0 -0
  64. {pycti-6.2.1 → pycti-6.2.2}/pycti/entities/stix_cyber_observable/__init__.py +0 -0
  65. {pycti-6.2.1 → pycti-6.2.2}/pycti/entities/stix_cyber_observable/opencti_stix_cyber_observable_deprecated.py +0 -0
  66. {pycti-6.2.1 → pycti-6.2.2}/pycti/entities/stix_cyber_observable/opencti_stix_cyber_observable_properties.py +0 -0
  67. {pycti-6.2.1 → pycti-6.2.2}/pycti/utils/__init__.py +0 -0
  68. {pycti-6.2.1 → pycti-6.2.2}/pycti/utils/opencti_logger.py +0 -0
  69. {pycti-6.2.1 → pycti-6.2.2}/pycti/utils/opencti_stix2.py +0 -0
  70. {pycti-6.2.1 → pycti-6.2.2}/pycti/utils/opencti_stix2_splitter.py +0 -0
  71. {pycti-6.2.1 → pycti-6.2.2}/pycti/utils/opencti_stix2_update.py +0 -0
  72. {pycti-6.2.1 → pycti-6.2.2}/pycti/utils/opencti_stix2_utils.py +0 -0
  73. {pycti-6.2.1 → pycti-6.2.2}/pycti.egg-info/SOURCES.txt +0 -0
  74. {pycti-6.2.1 → pycti-6.2.2}/pycti.egg-info/dependency_links.txt +0 -0
  75. {pycti-6.2.1 → pycti-6.2.2}/pycti.egg-info/requires.txt +0 -0
  76. {pycti-6.2.1 → pycti-6.2.2}/pycti.egg-info/top_level.txt +0 -0
  77. {pycti-6.2.1 → pycti-6.2.2}/pyproject.toml +0 -0
  78. {pycti-6.2.1 → pycti-6.2.2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pycti
3
- Version: 6.2.1
3
+ Version: 6.2.2
4
4
  Summary: Python API client for OpenCTI.
5
5
  Home-page: https://github.com/OpenCTI-Platform/client-python
6
6
  Author: Filigran
@@ -1,5 +1,5 @@
1
1
  # -*- coding: utf-8 -*-
2
- __version__ = "6.2.1"
2
+ __version__ = "6.2.2"
3
3
 
4
4
  from .api.opencti_api_client import OpenCTIApiClient
5
5
  from .api.opencti_api_connector import OpenCTIApiConnector
@@ -52,11 +52,13 @@ from .entities.opencti_tool import Tool
52
52
  from .entities.opencti_vulnerability import Vulnerability
53
53
  from .utils.constants import (
54
54
  CustomObjectCaseIncident,
55
+ CustomObjectChannel,
55
56
  CustomObjectTask,
56
57
  CustomObservableBankAccount,
57
58
  CustomObservableCredential,
58
59
  CustomObservableCryptocurrencyWallet,
59
60
  CustomObservableHostname,
61
+ CustomObservableMediaContent,
60
62
  CustomObservablePaymentCard,
61
63
  CustomObservablePhoneNumber,
62
64
  CustomObservableText,
@@ -132,6 +134,7 @@ __all__ = [
132
134
  "get_config_variable",
133
135
  "CustomObjectCaseIncident",
134
136
  "CustomObjectTask",
137
+ "CustomObjectChannel",
135
138
  "StixCyberObservableTypes",
136
139
  "CustomObservableCredential",
137
140
  "CustomObservableHostname",
@@ -142,6 +145,7 @@ __all__ = [
142
145
  "CustomObservablePhoneNumber",
143
146
  "CustomObservableTrackingNumber",
144
147
  "CustomObservableText",
148
+ "CustomObservableMediaContent",
145
149
  "STIX_EXT_MITRE",
146
150
  "STIX_EXT_OCTI_SCO",
147
151
  "STIX_EXT_OCTI",
@@ -880,6 +880,12 @@ class Report:
880
880
  stix_object["x_opencti_reliability"] = (
881
881
  self.opencti.get_attribute_in_extension("reliability", stix_object)
882
882
  )
883
+ if "x_opencti_content" not in stix_object or "content" not in stix_object:
884
+ stix_object["content"] = self.opencti.get_attribute_in_extension(
885
+ "content", stix_object
886
+ )
887
+ if "x_opencti_content" in stix_object:
888
+ stix_object["content"] = stix_object["x_opencti_content"]
883
889
 
884
890
  return self.create(
885
891
  stix_id=stix_object["id"],
@@ -222,6 +222,25 @@ class CustomObjectTask:
222
222
  pass
223
223
 
224
224
 
225
+ @CustomObject(
226
+ "channel",
227
+ [
228
+ ("name", StringProperty(required=True)),
229
+ ("spec_version", StringProperty(fixed="2.1")),
230
+ ("description", StringProperty()),
231
+ ("aliases", ListProperty(StringProperty)),
232
+ ("channel_types", ListProperty(StringProperty)),
233
+ ("x_opencti_workflow_id", StringProperty()),
234
+ ("x_opencti_assignee_ids", ListProperty(StringProperty)),
235
+ ("external_references", ListProperty(ExternalReference)),
236
+ ],
237
+ )
238
+ class CustomObjectChannel:
239
+ """Channel object."""
240
+
241
+ pass
242
+
243
+
225
244
  # Custom observables
226
245
 
227
246
 
@@ -410,3 +429,28 @@ class CustomObservableUserAgent:
410
429
  """User-Agent observable."""
411
430
 
412
431
  pass
432
+
433
+
434
+ @CustomObservable(
435
+ "media-content",
436
+ [
437
+ ("title", StringProperty()),
438
+ ("description", StringProperty()),
439
+ ("content", StringProperty()),
440
+ ("media_category", StringProperty()),
441
+ ("url", StringProperty(required=True)),
442
+ ("publication_date", TimestampProperty()),
443
+ ("spec_version", StringProperty(fixed="2.1")),
444
+ (
445
+ "object_marking_refs",
446
+ ListProperty(
447
+ ReferenceProperty(valid_types="marking-definition", spec_version="2.1")
448
+ ),
449
+ ),
450
+ ],
451
+ ["url"],
452
+ )
453
+ class CustomObservableMediaContent:
454
+ """Media-Content observable."""
455
+
456
+ pass
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pycti
3
- Version: 6.2.1
3
+ Version: 6.2.2
4
4
  Summary: Python API client for OpenCTI.
5
5
  Home-page: https://github.com/OpenCTI-Platform/client-python
6
6
  Author: Filigran
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