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

Commit f00e104

Browse files
[client] Take into account marking on files at import (#787)
1 parent 5261ddd commit f00e104

File tree

4 files changed

+20
-6
lines changed

4 files changed

+20
-6
lines changed

pycti/entities/opencti_external_reference.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -269,14 +269,15 @@ def add_file(self, **kwargs):
269269
file_name = kwargs.get("file_name", None)
270270
data = kwargs.get("data", None)
271271
version = kwargs.get("version", None)
272+
file_markings = kwargs.get("fileMarkings", None)
272273
mime_type = kwargs.get("mime_type", "text/plain")
273274
no_trigger_import = kwargs.get("no_trigger_import", False)
274275
if id is not None and file_name is not None:
275276
final_file_name = os.path.basename(file_name)
276277
query = """
277-
mutation ExternalReferenceEdit($id: ID!, $file: Upload!, $version: DateTime, $noTriggerImport: Boolean) {
278+
mutation ExternalReferenceEdit($id: ID!, $file: Upload!, $fileMarkings: [String], $version: DateTime, $noTriggerImport: Boolean) {
278279
externalReferenceEdit(id: $id) {
279-
importPush(file: $file, version: $version, noTriggerImport: $noTriggerImport) {
280+
importPush(file: $file, fileMarkings: $fileMarkings, version: $version, noTriggerImport: $noTriggerImport) {
280281
id
281282
name
282283
}
@@ -298,6 +299,7 @@ def add_file(self, **kwargs):
298299
{
299300
"id": id,
300301
"file": (self.file(final_file_name, data, mime_type)),
302+
"fileMarkings": file_markings,
301303
"version": version,
302304
"noTriggerImport": (
303305
no_trigger_import

pycti/entities/opencti_stix_cyber_observable.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -184,15 +184,16 @@ def add_file(self, **kwargs):
184184
id = kwargs.get("id", None)
185185
file_name = kwargs.get("file_name", None)
186186
data = kwargs.get("data", None)
187+
file_markings = kwargs.get("fileMarkings", None)
187188
version = kwargs.get("version", None)
188189
mime_type = kwargs.get("mime_type", "text/plain")
189190
no_trigger_import = kwargs.get("no_trigger_import", False)
190191
if id is not None and file_name is not None:
191192
final_file_name = os.path.basename(file_name)
192193
query = """
193-
mutation StixCyberObservableEdit($id: ID!, $file: Upload!, $version: DateTime, $noTriggerImport: Boolean) {
194+
mutation StixCyberObservableEdit($id: ID!, $file: Upload!, $fileMarkings: [String], $version: DateTime, $noTriggerImport: Boolean) {
194195
stixCyberObservableEdit(id: $id) {
195-
importPush(file: $file, version: $version, noTriggerImport: $noTriggerImport) {
196+
importPush(file: $file, version: $version, fileMarkings: $fileMarkings, noTriggerImport: $noTriggerImport) {
196197
id
197198
name
198199
}
@@ -214,6 +215,7 @@ def add_file(self, **kwargs):
214215
{
215216
"id": id,
216217
"file": (self.file(final_file_name, data, mime_type)),
218+
"fileMarkings": file_markings,
217219
"version": version,
218220
"noTriggerImport": (
219221
no_trigger_import

pycti/entities/opencti_stix_domain_object.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1286,15 +1286,16 @@ def add_file(self, **kwargs):
12861286
id = kwargs.get("id", None)
12871287
file_name = kwargs.get("file_name", None)
12881288
data = kwargs.get("data", None)
1289+
file_markings = kwargs.get("fileMarkings", None)
12891290
version = kwargs.get("version", None)
12901291
mime_type = kwargs.get("mime_type", "text/plain")
12911292
no_trigger_import = kwargs.get("no_trigger_import", False)
12921293
if id is not None and file_name is not None:
12931294
final_file_name = os.path.basename(file_name)
12941295
query = """
1295-
mutation StixDomainObjectEdit($id: ID!, $file: Upload!, $version: DateTime, $noTriggerImport: Boolean) {
1296+
mutation StixDomainObjectEdit($id: ID!, $file: Upload!, $fileMarkings: [String], $version: DateTime, $noTriggerImport: Boolean) {
12961297
stixDomainObjectEdit(id: $id) {
1297-
importPush(file: $file, version: $version, noTriggerImport: $noTriggerImport) {
1298+
importPush(file: $file, version: $version, fileMarkings: $fileMarkings, noTriggerImport: $noTriggerImport) {
12981299
id
12991300
name
13001301
}
@@ -1316,6 +1317,7 @@ def add_file(self, **kwargs):
13161317
{
13171318
"id": id,
13181319
"file": (self.file(final_file_name, data, mime_type)),
1320+
"fileMarkings": file_markings,
13191321
"version": version,
13201322
"noTriggerImport": (
13211323
no_trigger_import

pycti/utils/opencti_stix2.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -560,6 +560,7 @@ def extract_embedded_relationships(
560560
file_name=file["name"],
561561
version=file.get("version", None),
562562
data=base64.b64decode(file["data"]),
563+
fileMarkings=file.get("object_marking_refs", None),
563564
mime_type=file["mime_type"],
564565
no_trigger_import=file.get(
565566
"no_trigger_import", False
@@ -580,6 +581,7 @@ def extract_embedded_relationships(
580581
file_name=file["name"],
581582
version=file.get("version", None),
582583
data=base64.b64decode(file["data"]),
584+
fileMarkings=file.get("object_marking_refs", None),
583585
mime_type=file["mime_type"],
584586
no_trigger_import=file.get(
585587
"no_trigger_import", False
@@ -734,6 +736,7 @@ def extract_embedded_relationships(
734736
file_name=file["name"],
735737
version=file.get("version", None),
736738
data=base64.b64decode(file["data"]),
739+
fileMarkings=file.get("object_marking_refs", None),
737740
mime_type=file["mime_type"],
738741
no_trigger_import=file.get("no_trigger_import", False),
739742
)
@@ -750,6 +753,7 @@ def extract_embedded_relationships(
750753
file_name=file["name"],
751754
version=file.get("version", None),
752755
data=base64.b64decode(file["data"]),
756+
fileMarkings=file.get("object_marking_refs", None),
753757
mime_type=file["mime_type"],
754758
no_trigger_import=file.get("no_trigger_import", False),
755759
)
@@ -987,6 +991,7 @@ def import_object(
987991
file_name=file["name"],
988992
version=file.get("version", None),
989993
data=base64.b64decode(file["data"]),
994+
fileMarkings=file.get("object_marking_refs", None),
990995
mime_type=file["mime_type"],
991996
no_trigger_import=file.get("no_trigger_import", False),
992997
)
@@ -1003,6 +1008,7 @@ def import_object(
10031008
file_name=file["name"],
10041009
version=file.get("version", None),
10051010
data=base64.b64decode(file["data"]),
1011+
fileMarkings=file.get("object_marking_refs", None),
10061012
mime_type=file["mime_type"],
10071013
no_trigger_import=file.get("no_trigger_import", False),
10081014
)
@@ -1114,6 +1120,7 @@ def import_observable(
11141120
file_name=file["name"],
11151121
version=file.get("version", None),
11161122
data=base64.b64decode(file["data"]),
1123+
fileMarkings=file.get("object_marking_refs", None),
11171124
mime_type=file["mime_type"],
11181125
no_trigger_import=file.get("no_trigger_import", False),
11191126
)
@@ -1130,6 +1137,7 @@ def import_observable(
11301137
file_name=file["name"],
11311138
version=file.get("version", None),
11321139
data=base64.b64decode(file["data"]),
1140+
fileMarkings=file.get("object_marking_refs", None),
11331141
mime_type=file["mime_type"],
11341142
no_trigger_import=file.get("no_trigger_import", False),
11351143
)

0 commit comments

Comments
 (0)