self.CWE_ID_tag = False if name == 'capec:Attack_Pattern': self.capec.append({'name': self.name, 'id': self.id, 'summary': '\n'.join(self.Summary), 'prerequisites': '\n'.join(self.Attack_Prerequisite), 'solutions': '\n'.join(self.Solution_or_Mitigation), 'related_weakness': self.Related_Weakness}) self.Summary = [] self.Attack_Prerequisite = [] self.Solution_or_Mitigation = [] self.Related_Weakness = [] self.Attack_Pattern_tag = False if name == 'capec:Attack_Patterns': self.Attack_Patterns_tag = False if name == 'capec:Attack_Pattern_Catalog': self.Attack_Pattern_Catalog_tag = False # dictionary capecurl = Configuration.getCAPECDict() # connect to db db = Configuration.getMongoConnection() capec = db.capec info = db.info # make parser parser = make_parser() ch = CapecHandler() parser.setContentHandler(ch) # check modification date try: f = Configuration.getFile(capecurl) except: sys.exit("Cannot open url %s. Bad URL or not connected to the internet?"%(capecurl)) i = info.find_one({'db': 'capec'})
self.Related_Weakness }) self.Summary = [] self.Attack_Prerequisite = [] self.Solution_or_Mitigation = [] self.Related_Weakness = [] self.Attack_Pattern_tag = False if name == 'capec:Attack_Patterns': self.Attack_Patterns_tag = False if name == 'capec:Attack_Pattern_Catalog': self.Attack_Pattern_Catalog_tag = False # dictionary capecurl = Configuration.getCAPECDict() # make parser parser = make_parser() ch = CapecHandler() parser.setContentHandler(ch) # check modification date try: f = Configuration.getFile(capecurl) except: sys.exit("Cannot open url %s. Bad URL or not connected to the internet?" % (capecurl)) i = db.getLastModified('capec') if i is not None: if f.headers['last-modified'] == i: print("Not modified")