--- title: MISP playbook --- %%{init: {"flowchart": {"htmlLabels": false}} }%% flowchart LR events[MISP events] incomplete["`curation_incomplete **workflow:state=incomplete**`"] events -- Search --> incomplete remaining_tasks{workflow:todo=*} incomplete --> remaining_tasks incomplete -- Force curtion --> force_curation force_curation -- Do all tasks --> process_tasks remaining_tasks --No remaining tasks --> publish remaining_tasks --Remaining tasks --> process_tasks publish["`curation_complete **workflow:state=complete** and **publish** event`"] force_curation["`Do all curation tasks`"] subgraph remaining_tasks_subgraph [Process all remaining tasks] ids_warninglist["`Disable to_ids for attributes matching a **warninglist**`"] ids_hashlookup["`Disable to_ids for attributes matching known software via **hashlookup**`"] url_hostname["`Except for URLs and hostnames. Requires **manual** review.`"] process_tasks --> ids_warninglist --> ids_hashlookup ids_warninglist --> url_hostname ids_hashlookup --> galaxy_ip --> ttp --> feed_overlap galaxy_ip["`Add a GalaxyCluster with the **location of an IP**, via mmdb_lookup`"] ttp["`Add **TTP**s, based on string matches in the event title`"] feed_overlap["`Tag attributes that are also in **MISP feeds**`"] end feed_overlap --> publish summary["`Display summary in playbook`"] mattermost["`Sent notification to **Mattermost**`"] publish --> summary --> mattermost