Best Practices
The following page hosts some best practices for the usage of the MISP platform. For generic threat intelligence practices, please refer to MISP project - best practices in threat intelligence.
Tagging
Tagging at event level versus tagging at attribute level
You can add tags to an entire event. For a more fine-grained specification tags can also be placed at attribute level. This allows the user to put a more detailed and selective view on each attribute. If a tag applies to all or most attributes in the event, the best practice is to only include a specific tag for the attributes when they are an exception from the tag set at event level. In the below screenshot you see an example of the best practice, the tlp:white tag is only set at the event level.

In the next screenshot you see a bad practice example. The tlp:white tag is added to both the event and all the attributes. 
Setting distribution
Similar to tagging, inheritance should be used wherever possible. This is especially important when using sharing groups due to limit the impact of sharing group usage on performance. Note that for distribution, the event or object distribution of the attribute should be the same or less restrictive than the attribute distribution. Below are two good practice examples, the first using community distribution and the second using sharing groups. Note that a combination of the two can be used as well.


In the next to screenshots, you can see the equivalent bad practice examples.


Use objects instead of combined attributes
Some attributes like filename|sha512 and ip-dst|port now have equivalent objects such as file and ip-port. Using the object equivalent of attributes is recommended. It gives flexibility to add more context later and groups all the relevant attributes related to one concept, for example a file, together.
Make use of the 2.5 collaboration and lifecycle features
MISP 2.5 adds several capabilities that materially improve the quality and longevity of shared intelligence. Build them into your day-to-day workflow.
- Report sightings. When you observe an indicator (or confirm it is a false positive), record a sighting. Sightings keep indicators current, feed reputation back to the author, and are the raw signal that decaying models consume. This is far more valuable than silently consuming a feed.
- Prefer decaying models over manual
to_idstoggling. Rather than flipping the IDS flag by hand as indicators age, let decaying models score them over time and filter your exports on the decay score. This keeps detection content fresh automatically and consistently. - Add context with Analyst Data instead of altering others’ events. Use Notes, Opinions and Relationships to attach your assessment, a second opinion, or a link to related material without needing to own or copy the event. Reserve proposals for correcting factual errors; use an Opinion to express (dis)agreement, and a Note to add analysis.
- Record temporal context with
first_seen/last_seen. Where an indicator’s activity window is known, set the first_seen/last_seen fields so downstream consumers can reason about timelines rather than just presence. - Keep correlations meaningful. Disable correlation on intrinsically noisy attributes, and maintain correlation exclusions for known-benign values (your own infrastructure, popular CDNs, sinkholes). Over-correlating values dilute the value of the correlation graph for everyone.