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

Commit 6691a98

Browse files
author
Samuel Hassine
committed
[client] Take into account files at export (#212)
1 parent 391f9a9 commit 6691a98

25 files changed

+568
-8
lines changed

pycti/__init__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
from .entities.opencti_threat_actor import ThreatActor
3939
from .entities.opencti_tool import Tool
4040
from .entities.opencti_vulnerability import Vulnerability
41-
from .utils.constants import StixCyberObservableTypes
41+
from .utils.constants import StixCyberObservableTypes, StixMetaTypes
4242
from .utils.opencti_stix2 import OpenCTIStix2
4343
from .utils.opencti_stix2_splitter import OpenCTIStix2Splitter
4444
from .utils.opencti_stix2_update import OpenCTIStix2Update
@@ -84,6 +84,7 @@
8484
"OpenCTIStix2Update",
8585
"OpenCTIStix2Utils",
8686
"StixCyberObservableTypes",
87+
"StixMetaTypes",
8788
"SimpleObservable",
8889
"StixIncident",
8990
]

pycti/entities/opencti_attack_pattern.py

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,18 @@ def __init__(self, opencti):
8585
external_id
8686
created
8787
modified
88+
importFiles {
89+
edges {
90+
node {
91+
id
92+
name
93+
size
94+
metaData {
95+
mimetype
96+
}
97+
}
98+
}
99+
}
88100
}
89101
}
90102
}
@@ -112,7 +124,19 @@ def __init__(self, opencti):
112124
modified
113125
}
114126
}
115-
}
127+
}
128+
importFiles {
129+
edges {
130+
node {
131+
id
132+
name
133+
size
134+
metaData {
135+
mimetype
136+
}
137+
}
138+
}
139+
}
116140
"""
117141

118142
"""

pycti/entities/opencti_campaign.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,18 @@ def __init__(self, opencti):
8585
external_id
8686
created
8787
modified
88+
importFiles {
89+
edges {
90+
node {
91+
id
92+
name
93+
size
94+
metaData {
95+
mimetype
96+
}
97+
}
98+
}
99+
}
88100
}
89101
}
90102
}
@@ -98,6 +110,18 @@ def __init__(self, opencti):
98110
first_seen
99111
last_seen
100112
objective
113+
importFiles {
114+
edges {
115+
node {
116+
id
117+
name
118+
size
119+
metaData {
120+
mimetype
121+
}
122+
}
123+
}
124+
}
101125
"""
102126

103127
"""

pycti/entities/opencti_course_of_action.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,18 @@ def __init__(self, opencti):
8585
external_id
8686
created
8787
modified
88+
importFiles {
89+
edges {
90+
node {
91+
id
92+
name
93+
size
94+
metaData {
95+
mimetype
96+
}
97+
}
98+
}
99+
}
88100
}
89101
}
90102
}
@@ -96,6 +108,18 @@ def __init__(self, opencti):
96108
description
97109
x_opencti_aliases
98110
x_mitre_id
111+
importFiles {
112+
edges {
113+
node {
114+
id
115+
name
116+
size
117+
metaData {
118+
mimetype
119+
}
120+
}
121+
}
122+
}
99123
"""
100124

101125
"""

pycti/entities/opencti_external_reference.py

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@ def __init__(self, opencti, file):
2929
id
3030
name
3131
size
32+
metaData {
33+
mimetype
34+
}
3235
}
3336
}
3437
}
@@ -293,3 +296,33 @@ def delete(self, id):
293296
}
294297
"""
295298
self.opencti.query(query, {"id": id})
299+
300+
def list_files(self, **kwargs):
301+
id = kwargs.get("id", None)
302+
self.opencti.log(
303+
"info",
304+
"Listing files of External-Reference { " + id + " }",
305+
)
306+
query = """
307+
query externalReference($id: String!) {
308+
externalReference(id: $id) {
309+
importFiles {
310+
edges {
311+
node {
312+
id
313+
name
314+
size
315+
metaData {
316+
mimetype
317+
}
318+
}
319+
}
320+
}
321+
}
322+
}
323+
"""
324+
result = self.opencti.query(query, {"id": id})
325+
entity = self.opencti.process_multiple_fields(
326+
result["data"]["externalReference"]
327+
)
328+
return entity["importFiles"]

pycti/entities/opencti_identity.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,18 @@ def __init__(self, opencti):
8787
external_id
8888
created
8989
modified
90+
importFiles {
91+
edges {
92+
node {
93+
id
94+
name
95+
size
96+
metaData {
97+
mimetype
98+
}
99+
}
100+
}
101+
}
90102
}
91103
}
92104
}
@@ -107,6 +119,18 @@ def __init__(self, opencti):
107119
x_opencti_organization_type
108120
x_opencti_reliability
109121
}
122+
importFiles {
123+
edges {
124+
node {
125+
id
126+
name
127+
size
128+
metaData {
129+
mimetype
130+
}
131+
}
132+
}
133+
}
110134
"""
111135

112136
"""

pycti/entities/opencti_incident.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,18 @@ def __init__(self, opencti):
8585
external_id
8686
created
8787
modified
88+
importFiles {
89+
edges {
90+
node {
91+
id
92+
name
93+
size
94+
metaData {
95+
mimetype
96+
}
97+
}
98+
}
99+
}
88100
}
89101
}
90102
}
@@ -98,6 +110,18 @@ def __init__(self, opencti):
98110
first_seen
99111
last_seen
100112
objective
113+
importFiles {
114+
edges {
115+
node {
116+
id
117+
name
118+
size
119+
metaData {
120+
mimetype
121+
}
122+
}
123+
}
124+
}
101125
"""
102126

103127
"""

pycti/entities/opencti_indicator.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,18 @@ def __init__(self, opencti):
9090
external_id
9191
created
9292
modified
93+
importFiles {
94+
edges {
95+
node {
96+
id
97+
name
98+
size
99+
metaData {
100+
mimetype
101+
}
102+
}
103+
}
104+
}
93105
}
94106
}
95107
}
@@ -131,6 +143,18 @@ def __init__(self, opencti):
131143
}
132144
}
133145
}
146+
importFiles {
147+
edges {
148+
node {
149+
id
150+
name
151+
size
152+
metaData {
153+
mimetype
154+
}
155+
}
156+
}
157+
}
134158
"""
135159

136160
def list(self, **kwargs):

pycti/entities/opencti_infrastructure.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,18 @@ def __init__(self, opencti):
9090
external_id
9191
created
9292
modified
93+
importFiles {
94+
edges {
95+
node {
96+
id
97+
name
98+
size
99+
metaData {
100+
mimetype
101+
}
102+
}
103+
}
104+
}
93105
}
94106
}
95107
}
@@ -116,6 +128,18 @@ def __init__(self, opencti):
116128
}
117129
}
118130
}
131+
importFiles {
132+
edges {
133+
node {
134+
id
135+
name
136+
size
137+
metaData {
138+
mimetype
139+
}
140+
}
141+
}
142+
}
119143
"""
120144

121145
def list(self, **kwargs):

pycti/entities/opencti_intrusion_set.py

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,18 @@ def __init__(self, opencti):
8585
external_id
8686
created
8787
modified
88+
importFiles {
89+
edges {
90+
node {
91+
id
92+
name
93+
size
94+
metaData {
95+
mimetype
96+
}
97+
}
98+
}
99+
}
88100
}
89101
}
90102
}
@@ -100,7 +112,19 @@ def __init__(self, opencti):
100112
goals
101113
resource_level
102114
primary_motivation
103-
secondary_motivations
115+
secondary_motivations
116+
importFiles {
117+
edges {
118+
node {
119+
id
120+
name
121+
size
122+
metaData {
123+
mimetype
124+
}
125+
}
126+
}
127+
}
104128
"""
105129

106130
"""

0 commit comments

Comments
 (0)