def __init__(self, id, name, description, status, weakness): tk.assertType(str, id=id, name=name, description=description, status=status, weakness=weakness) self.id = id self.name = name self.description = description self.status = status self.weakness = weakness self.capec = None # Populated with pointers at runtime
def __init__(self, complexity, authentication, vector): tk.assertType(str, complexity=complexity, authentication=authentication, vector=vector) if not (complexity.upper() in ["HIGH", "MEDIUM", "LOW"] and authentication.upper() in ["NONE", "SINGLE_INSTANCE", "MULTIPLE_INSTANCES"] and vector.upper() in ["NETWORK", "LOCAL", "ADJACENT_NETWORK"]): raise ValueError("incorrect values given") self.complexity = complexity.upper() self.authentication = authentication.upper() self.vector = vector.upper()
def __init__(self, id, name, summary, prerequisites, solutions, weaknesses): tk.assertType(str, id=id, name=name, summary=summary, prerequisites=prerequisites, solutions=solutions) tk.assertType((list, tuple), weaknesses=weaknesses) tk.assertTypeForAllIn(str, weaknesses) self.id = id self.name = name self.summary = summary self.prerequisites = prerequisites self.solutions = solutions self.weaknesses = list(weaknesses)
def __init__(self, confidentiality, integrity, availability): tk.assertType(str, confidentiality=confidentiality, integrity=integrity, availability=availability) confidentiality = confidentiality.upper() integrity = integrity.upper() availability = availability.upper() ACCEPTED = ["COMPLETE", "PARTIAL", "NONE"] if (set(ACCEPTED + [confidentiality, integrity, availability]) != set(ACCEPTED)): raise ValueError("incorrect values given") self.confidentiality = confidentiality self.integrity = integrity self.availability = availability
def __init__(self, id, title=None, references=None): if not references: references = [] tk.assertType(str, id=id) tk.assertType((str, None), title=title) tk.assertType((list, tuple, None), references=references) if references: tk.assertTypeForAllIn(str, references) self.id = tk.toStringFormattedCPE(id) self.id_2_2 = tk.toOldCPE(id) self.title = title if title else tk.cpeTitle(self.id) self.references = references and list(references) or []
def __init__(self, id, summary, vulnerable_configuration, published, modified=None, impact=None, access=None, cvss=None, cwe=None, references=None, cvss_time=None): if not references: references = [] tk.assertType(str, id=id, summary=summary) tk.assertType((float, str, None), cvss=cvss) tk.assertType(datetime, published=published) tk.assertType((datetime, None), modified=modified, cvss_time=cvss_time) tk.assertType(list, vulnerable_configuration=vulnerable_configuration, references=references) tk.assertType((Impact, None), impact=impact) tk.assertType((Access, None), access=access) tk.assertType((CWE, None), cwe=cwe) tk.assertTypeForAllIn(CPE, vulnerable_configuration) tk.assertTypeForAllIn(str, references) self.id = id.upper() self.cvss = cvss and float(cvss) or None self.summary = summary self.vulnerable_configuration = vulnerable_configuration self.published = published self.modified = modified self.impact = impact self.access = access self.cwe = cwe self.references = references self.cvss_time = cvss_time