add: [vulnerability_lookup] Parsing Tailscale descriptions

pull/709/head
Christian Studer 2024-12-16 17:15:40 +01:00
parent 97f6afc604
commit 71e1e11581
No known key found for this signature in database
GPG Key ID: 6BBED1B63A6D639F
1 changed files with 18 additions and 0 deletions

View File

@ -78,6 +78,7 @@ class VulnerabilityLookupMapping(VulnerabilityMapping):
'jvndb': '_parse_jvn_description',
'mal': '_parse_ossf_description',
'pysec': '_parse_standard_description',
'ts': '_parse_tailscale_description',
'var': '_parse_variot_description'
}
__source_mapping.update(
@ -95,6 +96,12 @@ class VulnerabilityLookupMapping(VulnerabilityMapping):
'published': 'published',
'modified': 'modified'
}
__tailscale_mapping = {
'title': 'id',
'link': 'references',
'summary': 'summary',
'published': 'published'
}
@classmethod
def csaf_mapping(cls) -> dict:
@ -136,6 +143,10 @@ class VulnerabilityLookupMapping(VulnerabilityMapping):
def standard_mapping(cls) -> dict:
return cls.__standard_mapping
@classmethod
def tailscale_mapping(cls) -> dict:
return cls.__tailscale_mapping
class VulnerabilityLookupParser(VulnerabilityParser):
def __init__(self, attribute: dict):
@ -382,6 +393,13 @@ class VulnerabilityLookupParser(VulnerabilityParser):
return vulnerability_object.uuid
def _parse_tailscale_description(self, lookup_result: dict) -> str:
misp_object = MISPObject('vulnerability')
for field, relation in self.mapping.tailscale_mapping().items():
misp_object.add_attribute(relation, lookup_result[field])
misp_object.add_reference(self.misp_attribute.uuid, 'related-to')
self.misp_event.add_object(misp_object)
def handler(q=False):
if q is False: