Esempio n. 1
0
    def test_get_cpe(self):
        """Test `utils.get_cpe` function."""
        with open(SAMPLE_CVE_PATH) as f:
            data, = json.load(f)['CVE_Items']
            doc = Document.from_data(data)

        # default
        cpe_list = get_cpe(doc)

        self.assertEqual(len(cpe_list), 1)

        # operating_system
        cpe_list = get_cpe(doc, cpe_type='op')

        self.assertEqual(len(cpe_list), 0)

        # application
        cpe_list = get_cpe(doc, cpe_type='application')

        self.assertEqual(len(cpe_list), 1)
Esempio n. 2
0
    def _get_vendor_product_pairs(self):
        """Get (vendor, product) pairs from the CVE.

        :return: a set containing (vendor, product) pairs
        """
        result = set()
        for cpe in utils.get_cpe(self.doc, cpe_type='application'):

            vendor = cpe.get_vendor()[0]
            product = cpe.get_product()[0]

            result.add((vendor, product))

        return result
Esempio n. 3
0
 def check(self):
     """Perform the check."""
     if utils.get_cpe(self._doc, cpe_type='application'):
         return True
     return False