def analyze_entry(self, malware_name: str, entry: dict):
        """Analyzes an entry as specified in the malpedia json."""

        if not entry.get("common_name"):
            return

        m = entity.Malware.find(name=entry["common_name"])
        if not m:
            m = entity.Malware(name=entry["common_name"])

        m.aliases = entry.get("aliases", [])
        refs = entry.get("urls", [])
        context = {
            "source": "Malpedia",
            "description": entry.get("description", ""),
            "external_references": "\n* " + "\n* ".join(refs),
        }
        m.family = entry.get("type", "")
        m = m.save()
        m.add_context(context["source"], context)
        attributions = entry.get("attribution", [])
        for attribution in attributions:
            intrusion_set = entity.IntrusionSet.find(name=attribution)
            if not intrusion_set:
                intrusion_set = entity.IntrusionSet(name=attribution).save()
            intrusion_set.link_to(m, "uses", "Malpedia")

        tags = []
        if m.aliases:
            tags += m.aliases
        tags.append(m.name)
        tags.append(malware_name)
        m.tag(tags)
Analyzes an entry as specified in the malpedia json.
plugins/feeds/public/malpedia.py