Source code for api_searcher.third_services.cve_circl.wrappers.cve_wrapper

from common.converter import Converter
from .cve_parser import CVEParser

[docs]class CveWrapper: """Klasa pomocnicza - parsuje uzyskane z seriwsu https://cve.circl.lu/ dane."""
[docs] def __init__(self, data): self.__cve = CVEParser.cve(data) #kod podatności self.__cvss_vector = CVEParser.cvss_vector(data) self.__complexity = CVEParser.complexity(data) self.__authentication = CVEParser.authentication(data) self.__vector = CVEParser.vector(data) self.__cvss = CVEParser.cvss(data) #poziom zagrożenia self.__cwe = CVEParser.cwe(data) self.__title = CVEParser.title(data) self.__products = CVEParser.products(data) #impact - triada CIA self.__availability = CVEParser.availability(data) self.__confidentiality = CVEParser.confidentiality(data) self.__integrity = CVEParser.integrity(data) self.__summary = CVEParser.summary(data)
@property def cve(self): return self.__cve @property def cvss_vector(self): return self.__cvss_vector @property def complexity(self): return self.__complexity @property def authentication(self): return self.__authentication @property def vector(self): return self.__vector @property def cvss(self): return self.__cvss @property def cwe(self): return self.__cwe @property def title(self): return self.__title @property def products(self): return self.__products @property def availability(self): return self.__availability @property def confidentiality(self): return self.__confidentiality @property def summary(self): return self.__summary def __str__(self): return f'CVE: {self.cve}'
[docs] def to_dict(self): return { "cve" : self.cve, "cvss_vector" : self.cvss_vector, "complexity" : self.complexity, "authentication": self.authentication, "vector": self.vector, "cvss": self.cvss, "cwe": self.cwe, "title": self.title, "availability": self.availability, "confidentiality": self.confidentiality, "products": [p.to_dict() for p in self.products], "summary": self.summary }