def analyze_entry(self, entry: dict, cve_details: dict):
        """Analyzes an entry as specified in cisa kev json."""
        try:
            created = datetime.strptime(entry["dateAdded"], "%Y-%m-%d")
        except ValueError as error:
            logging.error("Error parsing kev %s: %s", entry["dateAdded"], error)
            return

        cve_id = entry["cveID"]
        reference = f"https://nvd.nist.gov/vuln/detail/{cve_id}"
        description = "#### Summary\n\n"
        description = entry.get("shortDescription") + "\n\n"
        description += f"* Added to KEV: {entry['dateAdded']}\n"
        description += f"* Vendor/Project: {entry.get('vendorProject', 'N/A')}\n"
        description += f"* Product: {entry.get('product', 'N/A')}\n"
        known_ransom_campaign = entry.get("knownRansomwareCampaignUse", "Unknown")
        description += (
            f"* Known to be used in ransomware campaigns: {known_ransom_campaign}\n\n"
        )
        if cve_details:
            base_score, severity, cve_description = self._analyze_cve_details(
                cve_details
            )
            description += cve_description
        else:
            base_score = 0.0
            severity = "none"

        name = f"{cve_id}"
        title = entry.get("vulnerabilityName", "")
        vulnerability = entity.Vulnerability(
            name=name,
            title=title,
            description=description,
            created=created,
            reference=reference,
            base_score=base_score,
            severity=severity,
        ).save()
        vulnerability.tag({entry.get("cveID"), "cisa-kev"})
Analyzes an entry as specified in cisa kev json.
plugins/feeds/public/cisa_kev.py