Back to CTI guidesAdvanced guide

MISP: Advanced Features

Comfortable with events and attributes? This guide covers the features that turn MISP into a real intelligence platform: reports, objects, galaxies, sightings, the decaying model, workflows and automation.

Event Reports

Event Reports let you write a Markdown report directly inside an event. The report can reference the event’s attributes and objects, keeping analysis and data in one place. MISP can also automatically extract entities (IPs, domains, hashes) from pasted report text and turn them into attributes.

Tips

  • Paste a vendor report, then use automatic extraction to pull out the IOCs.
  • Reference attributes in the text instead of copying them, so the report stays current.
  • Keep a stable structure: summary, TTPs, IOCs, recommendations.

MISP objects and relationships

An object groups several related attributes according to a template (file, domain-ip, email, url, person…). A “file” object, for example, holds the name, size and hashes of the same sample. Relationships between objects (“communicates-with”, “drops”, “resolves-to”) describe how the pieces connect and power the graph view.

Tips

  • Prefer a “file” object over loose hashes: correlation is more reliable.
  • Add explicit relationships so the graph tells the story of the attack chain.
  • Create your own object templates when a business format keeps coming back.

Galaxies, taxonomies and warninglists

Galaxies link an event to shared knowledge: MITRE ATT&CK techniques, threat actors, malware families, tools. Taxonomies (TLP, PAP, admiralty-scale, kill-chain…) normalize tags. Warninglists flag values with a high false-positive risk: very popular domains, private IP ranges, well-known cloud services.

Tips

  • Enable warninglists: they keep you from blocking google.com or an RFC 1918 IP.
  • Use the event’s ATT&CK matrix view to see TTP coverage at a glance.
  • Require tags (TLP at minimum) before publishing.

Sightings

A sighting records that an indicator was observed (or that it is a false positive, or has expired). Sent automatically from your SIEM or EDR, sightings show which IOCs are actually active in your environment and feed the decaying model.

Tips

  • Automate sightings from your detection tools.
  • Use the “false positive” type to surface indicators that should be removed.

Decaying model

Indicators lose value over time: a malicious IP is often reassigned within weeks. The decaying model computes a score that drops with the indicator’s age, tags and sightings. You can then exclude “decayed” indicators from the exports that feed your blocking tools.

Tips

  • Use faster decay rates for IPs than for hashes.
  • Combine excludeDecayed with to_ids to feed your firewalls cleanly.
restSearch with decay score
{
  "returnFormat": "json",
  "type": ["ip-dst", "domain"],
  "includeDecayScore": true,
  "excludeDecayed": true
}

Workflows

Workflows trigger automatic actions on internal MISP events: an event being published, an attribute being saved, a user being created… Each workflow chains modules (conditions, filters, actions such as adding a tag or calling a webhook) in a visual editor, with no code required.

Tips

  • Block publishing of any event without a TLP tag.
  • Notify a team channel when an event related to your sector is published.
  • Test every workflow on a staging instance before enabling it.

Distribution, sharing groups and sync

Every event has a distribution level: your organization, this community, connected communities, all communities, or a specific sharing group. Synchronization between instances honors these levels. External feeds (MISP format, CSV, free text) can be cached so you can correlate against them without importing them.

Tips

  • Create sharing groups per circle of trust (ISAC, partners, subsidiaries).
  • Enable feed caching to get correlation without duplicating data.

Automation: restSearch API and PyMISP

The restSearch API is the entry point for getting data out of MISP: filter by type, tag, date or IDS flag, and export in many formats (JSON, STIX 2, CSV, Suricata or Snort rules…). PyMISP, the official Python library, covers the same API to script event creation, sightings and searches.

Tips

  • Create a dedicated API key per integration, with minimum privileges.
  • Export directly in the format the target tool expects (suricata, csv…).
Suricata export of TLP:GREEN IOCs from the last 7 days
curl -s -X POST https://misp.example.org/attributes/restSearch \
  -H "Authorization: YOUR_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
    "returnFormat": "suricata",
    "tags": ["tlp:green"],
    "to_ids": true,
    "last": "7d"
  }'
PyMISP: sighting and search by actor
from pymisp import PyMISP

misp = PyMISP("https://misp.example.org", "YOUR_API_KEY", ssl=True)

# Record that the SOC saw this indicator today
misp.add_sighting({"value": "185.220.101.4", "source": "SOC-EU"})

# Pull every attribute tagged APT28 from the last 30 days
attributes = misp.search(
    controller="attributes",
    tags=["misp-galaxy:threat-actor=\"APT28\""],
    last="30d",
    pythonify=True,
)
for attribute in attributes:
    print(attribute.type, attribute.value)

Production checklist

  • ✓Warninglists enabled and up to date
  • ✓TLP tag required before publishing
  • ✓Sightings sent from the SIEM/EDR
  • ✓Decaying model applied to blocking exports
  • ✓Dedicated API keys per integration
  • ✓Sharing groups defined per circle of trust

Exact option names and available modules vary between MISP versions. Always check your instance’s documentation before automating.

Go further

CyberXTEL
100% Free

Ready to put it into practice?

CyberXTEL is our free platform to train hands-on: certifications, CTFs and a dedicated cyber awareness space.

Discover CyberXTEL