@@ -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