pycti 6.7.5__py3-none-any.whl → 6.7.7__py3-none-any.whl

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/__init__.py CHANGED
@@ -1,5 +1,5 @@
1
1
  # -*- coding: utf-8 -*-
2
- __version__ = "6.7.5"
2
+ __version__ = "6.7.7"
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.7
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,4 +1,4 @@
1
- pycti/__init__.py,sha256=xXDj8eCKNLr8pdvWb8IZQEzlWxSMzcWVx7-H7xhyPXg,5676
1
+ pycti/__init__.py,sha256=Iyu57RriA7DHEpzmVOh2z3i-YycnrUngUhlfC9Zs8sU,5676
2
2
  pycti/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
3
  pycti/api/opencti_api_client.py,sha256=lbygp2fOsmTKIrM-8Y7GxFzCZzdFStC0dhxyKYs0Wzo,35368
4
4
  pycti/api/opencti_api_connector.py,sha256=8xwHuLINP3ZCImzE9_K_iCR9QEA3K6aHpK4bJhcZf20,5582
@@ -53,7 +53,7 @@ pycti/entities/opencti_settings.py,sha256=3dArFaPPdcFTV44uGRffjHpnDE-MKIXgd496QZ
53
53
  pycti/entities/opencti_stix.py,sha256=9jVg21hXXaKMl5U8Mh6Df3U8IIjP7k9py5VGzn1qFzk,2410
54
54
  pycti/entities/opencti_stix_core_object.py,sha256=EMu3Vh72ALcHE4O5hk_2viP6VnBL-obsR_zhIxslzjs,63456
55
55
  pycti/entities/opencti_stix_core_relationship.py,sha256=aqguOR9n9jyL7Ez7xRoAO5EQ3wA6XcgTXxrYDGjw3cI,47786
56
- pycti/entities/opencti_stix_cyber_observable.py,sha256=ZbJ4XXXTlCP34hrgC9Jfov_9m1bPUiTj_s2tUjSauEA,92449
56
+ pycti/entities/opencti_stix_cyber_observable.py,sha256=3Lf8GnluYMwvznY_TsdzE2Nzwcd962cuQTwsOIRQmos,93198
57
57
  pycti/entities/opencti_stix_domain_object.py,sha256=bTnohBI9n5q909bmW6HQGHnPpAr_K3NierKlUivNctU,82790
58
58
  pycti/entities/opencti_stix_nested_ref_relationship.py,sha256=7USJlfTanPFY16aFIH2YONdRakrfoBuIbB0d0I52PSM,12479
59
59
  pycti/entities/opencti_stix_object_or_stix_relationship.py,sha256=djQ1-2tghFc_mxxuBo2IVAuUNsR08bQZtq_04hGEBIo,20019
@@ -65,12 +65,12 @@ pycti/entities/opencti_threat_actor_individual.py,sha256=l-E0RShOofXTZgw2HUyrDpr
65
65
  pycti/entities/opencti_tool.py,sha256=GXeTfWkTgNxFnNGPsO03BOK2dsZGCp5IT-leQHiFWtw,15462
66
66
  pycti/entities/opencti_user.py,sha256=zJKhJCvC2N5-3E92uFad2CwiQhCWVAHYrgomzqBwD-s,29735
67
67
  pycti/entities/opencti_vocabulary.py,sha256=xupdHJ6TznCmvI3sVYU261SnfblSNc1nwg19MG9yrao,6499
68
- pycti/entities/opencti_vulnerability.py,sha256=X6alCxdltVx1LlyvK6CLfKXF8outwFcIpYQyCvmJzV0,52494
68
+ pycti/entities/opencti_vulnerability.py,sha256=7SDIOpIxuJp3syouPC2M8zFYcSep5y1wBVfoG79HTMA,53216
69
69
  pycti/entities/indicator/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
70
70
  pycti/entities/indicator/opencti_indicator_properties.py,sha256=iQvSeMHB-vSTzINnRxqIJfC3OgMHyhbXUVF2juU7DoE,5219
71
71
  pycti/entities/stix_cyber_observable/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
72
72
  pycti/entities/stix_cyber_observable/opencti_stix_cyber_observable_deprecated.py,sha256=q-2G6OOqvUC1U2hSKxD8uT5T18M_IDkl72Tn1KoumQI,1847
73
- pycti/entities/stix_cyber_observable/opencti_stix_cyber_observable_properties.py,sha256=MN56CW8RWZwB0Pr8UiHZy_4nSzbgFbwdhSFKpsZ_d1Y,11293
73
+ pycti/entities/stix_cyber_observable/opencti_stix_cyber_observable_properties.py,sha256=lB4ORi5t9R5n8CwZ35FCIdfpVlDBPGJMg2dqtTMDfOo,11345
74
74
  pycti/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
75
75
  pycti/utils/constants.py,sha256=VRYRvDm6hkTR0ZcHHWMzQBwqlPRskYnusBpgoX0S05A,12854
76
76
  pycti/utils/opencti_logger.py,sha256=BHNy9fJuTUTn_JEYSCmyvVwd6y-9ZJKxO40mY4iZ0bc,2226
@@ -79,8 +79,8 @@ pycti/utils/opencti_stix2_identifier.py,sha256=k8L1z4q1xdCBfxqUba4YS_kT-MmbJFxYh
79
79
  pycti/utils/opencti_stix2_splitter.py,sha256=sjD9mN6jEea7Zr1k17rNiYaozLcDU4qg0HgIixXRHt4,11371
80
80
  pycti/utils/opencti_stix2_update.py,sha256=CnMyqkeVA0jgyxEcgqna8sABU4YPMjkEJ228GVurIn4,14658
81
81
  pycti/utils/opencti_stix2_utils.py,sha256=4vu-j3weP9IS3Ky31exOIw4t3fBg00emCTRlVpevrTU,5582
82
- pycti-6.7.5.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
83
- pycti-6.7.5.dist-info/METADATA,sha256=4_-wZcbO0NDWnlHnQIyGL1iEsdB_T0B-OR2QDeiIvas,5530
84
- pycti-6.7.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
85
- pycti-6.7.5.dist-info/top_level.txt,sha256=cqEpxitAhHP4VgSA6xmrak6Yk9MeBkwoMTB6k7d2ZnE,6
86
- pycti-6.7.5.dist-info/RECORD,,
82
+ pycti-6.7.7.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
83
+ pycti-6.7.7.dist-info/METADATA,sha256=EMQxqPoclQEfI72rzC612S404AQENZ2vp-oNCKPRQGU,5530
84
+ pycti-6.7.7.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
85
+ pycti-6.7.7.dist-info/top_level.txt,sha256=cqEpxitAhHP4VgSA6xmrak6Yk9MeBkwoMTB6k7d2ZnE,6
86
+ pycti-6.7.7.dist-info/RECORD,,
File without changes