mirror of https://github.com/MISP/misp-modules
fix: Parsing detected & undetected urls
parent
d9b03a7aa5
commit
a61d09db8b
|
@ -27,10 +27,11 @@ class VirusTotalParser():
|
|||
results = {key: event[key] for key in ('Attribute', 'Object') if (key in event and event[key])}
|
||||
return {'results': results}
|
||||
|
||||
def parse_detected_urls(self, detected_urls):
|
||||
for url in detected_urls:
|
||||
value = url['url'] if isinstance(url, dict) else url
|
||||
self.misp_event.add_attribute('url', value)
|
||||
def parse_urls(self, query_result):
|
||||
for feature in ('detected_urls', 'undetected_urls'):
|
||||
for url in query_result[feature]:
|
||||
value = url['url'] if isinstance(url, dict) else url
|
||||
self.misp_event.add_attribute('url', value)
|
||||
|
||||
def parse_resolutions(self, resolutions, subdomains=None):
|
||||
domain_ip_object = MISPObject('domain-ip')
|
||||
|
@ -79,7 +80,7 @@ class DomainQuery(VirusTotalParser):
|
|||
whois_object.add_attribute('text', type='text', value=query_result[whois])
|
||||
self.misp_event.add_object(**whois_object)
|
||||
self.parse_resolutions(query_result['resolutions'], query_result['subdomains'])
|
||||
self.parse_detected_urls(query_result['detected_urls'])
|
||||
self.parse_urls(query_result)
|
||||
for domain in query_result['domain_siblings']:
|
||||
self.misp_event.add_attribute('domain', domain)
|
||||
|
||||
|
@ -121,7 +122,7 @@ class IpQuery(VirusTotalParser):
|
|||
attribute_type, relation = value
|
||||
asn_object.add_attribute(relation, type=attribute_type, value=query_result[key])
|
||||
self.misp_event.add_object(**asn_object)
|
||||
self.parse_detected_urls(query_result['detected_urls'])
|
||||
self.parse_urls(query_result)
|
||||
if query_result.get('resolutions'):
|
||||
self.parse_resolutions(query_result['resolutions'])
|
||||
|
||||
|
|
Loading…
Reference in New Issue