Skip to content
This repository was archived by the owner on Dec 5, 2025. It is now read-only.

Commit 68065ec

Browse files
[client] Modify client to handle stix embedded files #1589
1 parent d6c8933 commit 68065ec

23 files changed

+141
-64
lines changed

pycti/entities/opencti_attack_pattern.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ def __init__(self, opencti):
9393
size
9494
metaData {
9595
mimetype
96+
version
9697
}
9798
}
9899
}
@@ -133,6 +134,7 @@ def __init__(self, opencti):
133134
size
134135
metaData {
135136
mimetype
137+
version
136138
}
137139
}
138140
}

pycti/entities/opencti_campaign.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ def __init__(self, opencti):
9393
size
9494
metaData {
9595
mimetype
96+
version
9697
}
9798
}
9899
}
@@ -118,6 +119,7 @@ def __init__(self, opencti):
118119
size
119120
metaData {
120121
mimetype
122+
version
121123
}
122124
}
123125
}

pycti/entities/opencti_course_of_action.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ def __init__(self, opencti):
9393
size
9494
metaData {
9595
mimetype
96+
version
9697
}
9798
}
9899
}
@@ -116,6 +117,7 @@ def __init__(self, opencti):
116117
size
117118
metaData {
118119
mimetype
120+
version
119121
}
120122
}
121123
}

pycti/entities/opencti_external_reference.py

Lines changed: 23 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ def __init__(self, opencti, file):
3131
size
3232
metaData {
3333
mimetype
34+
version
3435
}
3536
}
3637
}
@@ -211,41 +212,30 @@ def add_file(self, **kwargs):
211212
data = kwargs.get("data", None)
212213
mime_type = kwargs.get("mime_type", "text/plain")
213214
if id is not None and file_name is not None:
214-
external_reference = self.read(id=id)
215-
if external_reference is None:
216-
self.opencti.log("error", "Cannot add File, entity not found")
217-
return False
218215
final_file_name = os.path.basename(file_name)
219-
current_files = {}
220-
for file in external_reference["importFiles"]:
221-
current_files[file["name"]] = file
222-
if final_file_name in current_files:
223-
return current_files[final_file_name]
224-
else:
225-
self.opencti.log(
226-
"info", "Uploading a file in Stix-Domain-Object {" + id + "}."
227-
)
228-
query = """
229-
mutation ExternalReferenceEdit($id: ID!, $file: Upload!) {
230-
externalReferenceEdit(id: $id) {
231-
importPush(file: $file) {
232-
id
233-
name
234-
}
216+
query = """
217+
mutation ExternalReferenceEdit($id: ID!, $file: Upload!) {
218+
externalReferenceEdit(id: $id) {
219+
importPush(file: $file) {
220+
id
221+
name
235222
}
236223
}
237-
"""
238-
if data is None:
239-
data = open(file_name, "rb")
240-
if file_name.endswith(".json"):
241-
mime_type = "application/json"
242-
else:
243-
mime_type = magic.from_file(file_name, mime=True)
244-
245-
return self.opencti.query(
246-
query,
247-
{"id": id, "file": (self.file(final_file_name, data, mime_type))},
248-
)
224+
}
225+
"""
226+
if data is None:
227+
data = open(file_name, "rb")
228+
if file_name.endswith(".json"):
229+
mime_type = "application/json"
230+
else:
231+
mime_type = magic.from_file(file_name, mime=True)
232+
self.opencti.log(
233+
"info", "Uploading a file {" + final_file_name + "} in Stix-Domain-Object {" + id + "}."
234+
)
235+
return self.opencti.query(
236+
query,
237+
{"id": id, "file": (self.file(final_file_name, data, mime_type))},
238+
)
249239
else:
250240
self.opencti.log(
251241
"error",
@@ -314,6 +304,7 @@ def list_files(self, **kwargs):
314304
size
315305
metaData {
316306
mimetype
307+
version
317308
}
318309
}
319310
}

pycti/entities/opencti_identity.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@ def __init__(self, opencti):
9595
size
9696
metaData {
9797
mimetype
98+
version
9899
}
99100
}
100101
}
@@ -127,6 +128,7 @@ def __init__(self, opencti):
127128
size
128129
metaData {
129130
mimetype
131+
version
130132
}
131133
}
132134
}

pycti/entities/opencti_incident.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ def __init__(self, opencti):
9393
size
9494
metaData {
9595
mimetype
96+
version
9697
}
9798
}
9899
}
@@ -118,6 +119,7 @@ def __init__(self, opencti):
118119
size
119120
metaData {
120121
mimetype
122+
version
121123
}
122124
}
123125
}

pycti/entities/opencti_indicator.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ def __init__(self, opencti):
9898
size
9999
metaData {
100100
mimetype
101+
version
101102
}
102103
}
103104
}
@@ -151,6 +152,7 @@ def __init__(self, opencti):
151152
size
152153
metaData {
153154
mimetype
155+
version
154156
}
155157
}
156158
}

pycti/entities/opencti_infrastructure.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ def __init__(self, opencti):
9898
size
9999
metaData {
100100
mimetype
101+
version
101102
}
102103
}
103104
}
@@ -136,6 +137,7 @@ def __init__(self, opencti):
136137
size
137138
metaData {
138139
mimetype
140+
version
139141
}
140142
}
141143
}

pycti/entities/opencti_intrusion_set.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ def __init__(self, opencti):
9393
size
9494
metaData {
9595
mimetype
96+
version
9697
}
9798
}
9899
}
@@ -121,6 +122,7 @@ def __init__(self, opencti):
121122
size
122123
metaData {
123124
mimetype
125+
version
124126
}
125127
}
126128
}

pycti/entities/opencti_location.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ def __init__(self, opencti):
9393
size
9494
metaData {
9595
mimetype
96+
version
9697
}
9798
}
9899
}
@@ -118,6 +119,7 @@ def __init__(self, opencti):
118119
size
119120
metaData {
120121
mimetype
122+
version
121123
}
122124
}
123125
}

0 commit comments

Comments
 (0)