Skip to content

Commit 3835904

Browse files
author
Samuel Hassine
committed
[client] Add new roles for new relation drops
1 parent bfdda49 commit 3835904

File tree

1 file changed

+27
-5
lines changed

1 file changed

+27
-5
lines changed

pycti/api/opencti_api_client.py

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -102,10 +102,12 @@ def query(self, query, variables={}):
102102
multipart_files.append((str(file_index), (files.name, io.BytesIO(files.data.encode()))))
103103
file_index += 1
104104
# Send the multipart request
105-
r = requests.post(self.api_url, data=multipart_data, files=multipart_files, headers=self.request_headers, verify=self.ssl_verify)
105+
r = requests.post(self.api_url, data=multipart_data, files=multipart_files, headers=self.request_headers,
106+
verify=self.ssl_verify)
106107
# If no
107108
else:
108-
r = requests.post(self.api_url, json={'query': query, 'variables': variables}, headers=self.request_headers, verify=self.ssl_verify)
109+
r = requests.post(self.api_url, json={'query': query, 'variables': variables}, headers=self.request_headers,
110+
verify=self.ssl_verify)
109111
# Build response
110112
if r.status_code == requests.codes.ok:
111113
result = r.json()
@@ -1023,7 +1025,8 @@ def get_identities(self, limit=10000):
10231025
result = self.query(query, {'first': limit})
10241026
return self.parse_multiple(result['data']['identities'])
10251027

1026-
def create_identity(self, type, name, description, alias=None, id=None, stix_id_key=None, created=None, modified=None):
1028+
def create_identity(self, type, name, description, alias=None, id=None, stix_id_key=None, created=None,
1029+
modified=None):
10271030
logging.info('Creating identity ' + name + '...')
10281031
query = """
10291032
mutation IdentityAdd($input: IdentityAddInput) {
@@ -2281,7 +2284,8 @@ def create_vulnerability(self, name, description, id=None, stix_id_key=None, cre
22812284
})
22822285
return result['data']['vulnerabilityAdd']
22832286

2284-
def create_vulnerability_if_not_exists(self, name, description, id=None, stix_id_key=None, created=None, modified=None,
2287+
def create_vulnerability_if_not_exists(self, name, description, id=None, stix_id_key=None, created=None,
2288+
modified=None,
22852289
update=False):
22862290
object_result = self.check_existing_stix_domain_entity(stix_id_key, name, 'Vulnerability')
22872291
if object_result is not None:
@@ -2920,7 +2924,8 @@ def create_report_if_not_exists(self,
29202924
self.update_stix_domain_entity_field(object_result['id'], 'object_status', object_status)
29212925
object_result['object_status'] = object_status
29222926
if source_confidence_level is not None:
2923-
self.update_stix_domain_entity_field(object_result['id'], 'source_confidence_level', source_confidence_level)
2927+
self.update_stix_domain_entity_field(object_result['id'], 'source_confidence_level',
2928+
source_confidence_level)
29242929
object_result['source_confidence_level'] = source_confidence_level
29252930
return object_result
29262931
else:
@@ -3708,6 +3713,23 @@ def resolve_role(self, relation_type, from_type, to_type):
37083713
'sector': {
37093714
'sector': {'from_role': 'gather', 'to_role': 'part_of'},
37103715
'organization': {'from_role': 'gather', 'to_role': 'part_of'},
3716+
},
3717+
'organization': {
3718+
'sector': {'from_role': 'gather', 'to_role': 'part_of'},
3719+
},
3720+
'observable': {
3721+
'organization': {'from_role': 'gather', 'to_role': 'part_of'},
3722+
'person': {'from_role': 'gather', 'to_role': 'part_of'},
3723+
},
3724+
},
3725+
'drops': {
3726+
'malware': {
3727+
'malware': {'from_role': 'dropping', 'to_role': 'dropped'},
3728+
'tool': {'from_role': 'dropping', 'to_role': 'dropped'},
3729+
},
3730+
'tool': {
3731+
'malware': {'from_role': 'dropping', 'to_role': 'dropped'},
3732+
'tool': {'from_role': 'dropping', 'to_role': 'dropped'},
37113733
}
37123734
}
37133735
}

0 commit comments

Comments
 (0)