MISP and Splunk integration

Connect MISP to Splunk with the misp42splunk app so MISP indicators feed Splunk searches and correlation. This page covers the setup sequence, what to retrieve, how lookups stay current and where integrations usually fail.

On this page

MISP and Splunk integration: what the connection does and who needs it

The misp42splunk app is the integration method for pulling MISP indicators into Splunk searches and correlation. This page covers the Splunk side of that connection: what the app retrieves, how the data reaches Splunk, and who on your team needs to own it. The general SIEM and IDS page covers the wider question of feeding indicators into detection tooling, so read that page for detection design across several tools, and read this one when Splunk is the platform your analysts search.

Data moves in one direction in this integration. Indicators are retrieved from MISP and made available to Splunk, where searches and correlation searches can match them against events in your logs. The outcome for an analyst is a Splunk result that references a MISP indicator. Before you design a workflow around the app, confirm in its documentation whether it writes anything back to MISP, which indicator types it imports, and how it handles indicators that have been removed or expired in MISP.

Teams with a SOC that already uses MISP as the store for indicators, and that run searches in Splunk, benefit most from this connection. Three roles usually share the work. A threat intelligence lead decides which events are in scope, a MISP administrator issues the API key and controls sharing groups and distribution levels, and a Splunk administrator installs and configures the app. If your MISP content mostly serves partner sharing and your analysts do not search in Splunk, the connection may add upkeep without a matching use, so confirm the use case first.

The main decisions sit in scope and upkeep. Decide which tags, event types, distribution levels and ages of indicators the app should retrieve, because broad pulls increase lookup size and noise. Choose a refresh schedule that keeps Splunk lookups current without overloading either platform. Use a MISP account whose visibility matches what the SOC is permitted to see. Check the app documentation for supported Splunk and MISP versions, your MISP version (MISP 2.5 is the recommended version for new deployments), and how updates to the app are applied.

Prerequisites for a MISP to Splunk integration

Each prerequisite sits on one side of the connection: the MISP instance that holds the indicators, the Splunk platform that searches and correlates them, or the network and trust path between the two. Confirm each item with its owner before scheduling build work, because the MISP version, the app version and the certificate chain shape how the integration is built.

MISP 2.5 instance

Plan for a MISP instance on the 2.5 line, which the project recommends for new deployments. MISP 2.4 is end of life and receives security fixes only, and the project strongly advises against installing new 2.4 instances. If an existing instance runs 2.4, schedule the upgrade before the Splunk work begins. Record the exact 2.5 release your MISP administrator will run, because the connector depends on the MISP API that release exposes.

Dedicated automation API key

Create a separate MISP user for the Splunk connection and generate its API key under that account. Give the user read access only to the events, tags and sharing groups your searches need, so a leaked key exposes a narrow slice of data. Record who owns the key, where Splunk stores it and who approves each rotation. Ask your MISP administrator to confirm that the user's role and sharing group membership cover every event type you plan to retrieve.

Splunk instance and install rights

Confirm you have a Splunk environment where the installing user holds admin rights to add apps. Ask your Splunk administrator whether app installs on your platform are self-service or handled through a request process, since that changes the lead time for the work. Also confirm which team approves changes to the search head and indexer configuration, because the app writes settings and knowledge objects that those teams will need to review.

Matching misp42splunk app version

Install the misp42splunk build that matches your Splunk release. This page does not state which Splunk versions each build supports, so take that list from the app's own documentation and check it against your environment before scheduling work. Read the license terms in the same documentation and send them to your legal or procurement team for approval. Test the chosen build on a non-production Splunk instance first, and pin the version so later upgrades become planned events.

Search head and indexer roles

Decide which Splunk tier hosts the MISP-derived lookups and the scheduled retrieval jobs. Search heads run the searches, dashboards and correlation rules that use the data, while the storage location for lookup content depends on your architecture. Map which roles can read, write and share these knowledge objects. In a clustered deployment, confirm with your Splunk architect where each app component must run and how its settings replicate.

Network paths and certificates

Open a network path from each Splunk component that calls MISP to the MISP HTTPS endpoint, including any proxy or firewall policy your organization applies to outbound calls. Confirm that the certificate MISP presents chains to a certificate authority the Splunk hosts trust, or add your internal CA to the trust store the app uses. Check DNS resolution from every node that makes calls, and record the full path in your change request so network teams can review it.

How misp42splunk pulls MISP indicators into Splunk searches

misp42splunk works by pulling. The Splunk side initiates requests to the MISP API, MISP returns the indicators and attributes that match the request, and the app makes that data available to Splunk searches and correlation. Nothing is pushed from MISP into Splunk. That design means the Splunk environment controls when fetches happen and how much data each one requests, while MISP controls what the caller is allowed to see. For a Splunk administrator, the app configuration is the place where freshness is set. For a MISP administrator, the important point is that every pull is an authenticated API call made under a specific MISP user account, so the results depend on that account's role and sharing permissions.

MISP's API is described in OpenAPI form, which gives both teams a formal description of the endpoints and parameters. The query interface the MISP features page documents for retrieving data is restSearch. Before deployment, the MISP administrator should ask which restSearch parameters the app sends, including attribute types, tags, distribution levels, publication or time windows, and whether it requests events, attributes or both. Each of these choices changes the volume and content of what reaches Splunk. The Splunk administrator should confirm the MISP version the app was built and tested against, since MISP 2.5 is the version the project recommends for new deployments and the app's compatibility should be checked against the MISP version in use.

The app documentation defines where retrieved data is stored in Splunk: in lookups, in indexed events, or in both. Lookups are suited to matching field values during searches, while indexed events keep each record with its timestamps and context so it can be searched over time. Confirm which of these the installed version uses, what lookup and index names it creates, which roles can read them, and how much storage the retained data will consume. Do not assume the behavior of a previous release. If both mechanisms are used, decide which one the correlation searches and alerts depend on, because that choice determines what happens when one of them is stale or empty.

Schedule options and pull behavior must be checked against the app version in use. Ask whether each run fetches a full set or only changes since the last run, whether new data overwrites or appends to what is already stored, how expired or removed indicators are dropped, and what happens when a run fails partway through. Test with a small, bounded query first, then compare the counts returned by MISP for that query with the counts that land in Splunk. Stale data leads to missed matches, and duplicated data can inflate alert volumes, so these checks should pass before the schedule is extended to production scope.

Before go-live, record the MISP user account and role behind the API key, the restSearch parameters the app sends, the place where data lands in Splunk, the pull schedule, and the owner responsible for rotating the key. Keep this record with the Splunk app configuration so that a change in MISP permissions or a MISP upgrade can be traced to its effect on Splunk results. Each item should be confirmed against the app's own documentation for the version you deploy, not against this page.

Configuration sequence for the misp42splunk app

This sequence connects a MISP instance to Splunk in a controlled order, so that the account, network path, app settings and retrieval scope are each verified before indicators flow into searches. The result is a bounded, tested set of MISP indicators available for Splunk lookups and correlation.

  1. Create a dedicated MISP user and key

    A MISP administrator creates a separate user for Splunk, not a shared or personal account, and assigns it a role with read access only. The user is placed in the organization and distribution scope that the intended indicators require, and an API key is generated for that user. Confirm the scope against your sharing policy before you continue. Check: an API call made with the new key to the MISP search endpoint returns events for the intended scope and no others, and the key is stored in your secrets process rather than in a ticket or script.

  2. Confirm network reachability from Splunk

    The Splunk team tests the path from the host that will run the app to the MISP URL over HTTPS, including DNS resolution, firewall rules and any proxy or certificate chain that the environment requires. If MISP uses an internal certificate authority, the trust store on the Splunk host must include it. Check: an authenticated request from the Splunk host with the new key succeeds with a success status, and the same request from a host outside the approved path fails.

  3. Install the misp42splunk app

    A Splunk administrator installs the misp42splunk app from the source your organization has approved, on the Splunk component the app documentation names for its deployment role (for example, a search head or a single-instance deployment). Confirm the app version against the compatibility notes for your Splunk release before installing, and record the version in your change log. Check: the app appears in the installed apps list with the expected version, and no startup or configuration errors are logged for it.

  4. Enter the MISP URL and API key

    The Splunk administrator enters the MISP base URL and the dedicated API key in the app setup page, using the parameter names given in the app documentation. Review the TLS verification setting before saving and keep it enabled unless a documented internal exception applies. Store the key through the mechanism Splunk provides for secrets rather than plain configuration files where the app supports it. Check: the app's connection test reports a successful connection to MISP, and the test uses the dedicated account rather than an administrator account.

  5. Set the retrieval filter and schedule

    The team defines what the app should pull, using the filters the app exposes, such as tags, event or attribute types, distribution levels and age. Agree these filters with the people who own the detections, because broad filters bring in indicators that are not relevant to your environment. Then set the refresh schedule the app supports, taking the documented options as the only frequencies available to you. Check: a dry review of the filter configuration matches the approved scope document, and the saved schedule appears in the app's configuration view.

  6. Run a bounded first pull

    Before enabling the full schedule, run a first retrieval with a narrow filter, such as one tag or one recent event that the MISP team has confirmed exists. This shows how the app stores results, how long the pull takes in your environment and whether the data volume is as expected. Review the ingest or lookup logs for errors and for any indicators outside the intended scope. Check: the pull completes without errors, and the stored records match the count of the known test set that the MISP team provided.

  7. Verify lookups return expected indicators

    The Splunk team runs a test search or lookup for indicators that are known to exist in the bounded pull, including at least one value of each attribute type that the detections will use. The team also checks an indicator that is out of scope to confirm it does not appear. Once the results match, widen the filter in controlled steps and repeat the test after each change. Check: known in-scope indicators return with their expected MISP attributes, out-of-scope values return nothing, and the results are recorded so that future changes can be compared against them.

Which MISP attributes, tags and fields map to Splunk

This table lists the MISP attribute types, event fields and tagging structures that analysts are most likely to search for in Splunk, and what each needs from the misp42splunk app and from your own data model. Field names come from the app version you install, so treat every name you see in a build as something to confirm in that app's documentation before writing searches or lookup definitions. The last two columns separate what the app must confirm from what your detections and retention rules require.

MISP elementWhat it carriesConfirm in app documentationYour data model requires
IP address attributes (ip-src, ip-dst)Source and destination IP indicators, sometimes stored in CIDR notationWhich IP fields are exported and whether CIDR values stay as rangesAgreed network source and destination fields and matching rules for CIDR overlap
Domain, hostname and URL attributesDomain names, hostnames and full URLs that may need different matchingWhether domains and URLs land in separate lookup columns or one shared fieldMatching behavior for subdomains and URL paths in proxy and DNS data
File hash attributes (md5, sha1, sha256)File hashes from malware samples and incident artifactsField names for each hash type and whether fuzzy hash values are exportedHash field names used by your endpoint and file event sources
Event info and threat levelEvent title and the threat level set by the publishing teamWhether title and threat level are event-level or attribute-level fieldsA severity scale that matches your alert priority and tuning
Analysis statusWhether an event is initial, ongoing or completeWhether analysis status is exported and how the field is namedA rule for when indicators from ongoing events may drive alerts
Distribution levelWho may see the event, from organization-only to community-wide sharingWhether distribution is exported, filtered on import, or bothPolicy on which distribution levels may enter your Splunk environment
Tags and taxonomy valuesLabels such as tlp tags attached to events or attributesWhich tags are carried into fields and how multiple tags are storedTag names that your searches, filters and retention rules depend on
Galaxy cluster valuesThreat actor, malware, tool and MITRE ATT&CK entries linked to eventsWhether galaxy names and cluster identifiers appear in lookups or eventsA mapping from galaxy values to your ATT&CK and threat actor reporting fields
Attribute to lookup columnsThe indicator value plus the metadata kept alongside itColumn names in each generated lookup and how updates overwrite themLookup columns for source, expiry and confidence used by your detections

Scoping what to retrieve so Splunk lookups stay relevant

Retrieval scope is the main design decision in a MISP and Splunk integration, because it determines what Splunk searches can match and how much data each lookup carries. Pulling every event a MISP instance holds is the simplest configuration and usually the wrong one. A broad lookup grows with the instance, slows the searches that reference it, and places low-confidence indicators in the same table as indicators that analysts have already validated. Each filter narrows the lookup in a different way and trades detection coverage against false positives. Decide them together, write them down, and test them against recent alerts before any correlation search depends on them.

Tags and threat level are the filters most teams configure first. Tags let you select events by taxonomy or galaxy labels, such as a label for a campaign or a confidence classification, but only if contributors apply them consistently. Threat level, which MISP records on each event, lets you keep low-severity material out of high-fidelity alerts. A tag filter that is too narrow misses indicators from contributors who use other labels, which lowers coverage without any visible error. A threat level filter that is too strict removes early warnings that were never upgraded. Ask the MISP event owners which tags and levels they actually maintain, and confirm whether the connector you use can filter on both or only on the event level.

Event age and attribute type control volume and noise. Limiting retrieval to events published or modified within a time window keeps the lookup smaller and more current, but some indicators, such as infrastructure that remains malicious for long periods, would drop out early. Set the window for each indicator type according to how long it stays useful. Attribute type matters more than many teams expect: domains, IP addresses and file hashes produce different false positive rates, and broad types can match legitimate traffic. Distribution settings decide which events your instance may receive. Events limited to another organization or a specific sharing group may be unavailable to the Splunk account, and an empty lookup is easy to mistake for a clean environment.

Agree these choices in writing with two groups before building correlation searches. The SOC owns the detections, so it should state which alert types the lookup feeds, how much false positive load it can absorb, and what coverage it expects. The MISP event owners publish and maintain the events, so they should confirm the tags, threat levels, distribution levels and attribute types they will provide and how often those change. Record each filter value, its owner and a review date. Then treat any later change to a filter as a change to detections that goes through the same review.

Verify the scope against known data before relying on it. Compare the number of indicators the lookup returns with what the MISP interface shows for the same filters, and send a sample of recent events through the lookup to confirm they arrive. Over a fixed period, review which alerts fire for each attribute type and look for types that produce mostly benign matches. Keep these results so the next review has a baseline. Scope decisions are far cheaper to change before a SOC depends on a search, so schedule the first review early and repeat it whenever the event owners change their tagging or distribution practices.

Securing the MISP to Splunk connection

The MISP to Splunk connection carries an API credential and indicator data across a trust boundary, so it needs the same controls as any other integration into your SIEM. The cards cover the credential, the network path, transport verification, Splunk access, data sharing rules and logging on both sides. Confirm each setting against the versions of the misp42splunk app and MISP you run.

API key lifecycle

Create a dedicated MISP user for the Splunk app, separate from any analyst account. Where your MISP version allows it, give that user a read-only role limited to the events and sharing groups Splunk needs. Set a rotation schedule and record who owns the key. In Splunk, confirm in the app documentation that the key is stored through Splunk's credential handling and not in plain-text app configuration, and test that rotation does not break scheduled searches.

Network path between Splunk and MISP

Limit the connection to the Splunk host or search head that runs the app, and allow only the MISP port and protocol the app uses. Enforce this with host firewalls, network access rules or a proxy you control. If your MISP version supports restricting API keys to specific source addresses, enable it and record the allowed addresses. Recheck the path after changes to NAT, load balancers or cloud security groups, because the source address MISP sees can change.

TLS verification for MISP calls

Keep certificate verification enabled in the app so Splunk sends the API key only to a MISP endpoint it can validate. If MISP uses an internal certificate authority, add that CA to the trust store on the Splunk host and confirm which CA bundle the app reads. Turning off verification to get a connection working hides a misconfiguration and exposes the key to interception. Test once with a valid certificate and once with an untrusted one to confirm the check runs, and repeat the test after certificate renewals.

Least-privilege roles in Splunk

Decide who can change the app configuration, including the MISP URL, the API key and search schedules. Assign those capabilities to a small Splunk role and keep analysts who only run searches in roles without edit rights. Review who holds admin roles on the search head where the app is installed. Confirm in the app documentation which settings and credentials a non-admin user can see in the configuration interface, since that view may reveal the key or the MISP address.

Sharing rules for lookups

MISP attributes carry distribution levels and sharing groups, and indicators pulled into Splunk can carry those restrictions with them. Before enabling an import, decide which distribution levels may be copied into Splunk lookups or indexes. Then apply matching read limits in Splunk by restricting lookup file and table permissions to the users and roles covered by those MISP sharing decisions. Anyone who can search a lookup can see its indicators, so an analyst outside a sharing group should not gain access through a broad Splunk role.

Audit logging on both sides

Enable audit logging in MISP for API and authentication activity, and confirm that searches and lookup updates from the app can be attributed to its service account. On the Splunk side, review the internal audit data for configuration changes, role changes and searches run under the app account. Forward both sets of logs to storage that MISP and Splunk administrators cannot quietly edit. Confirm the log fields available in your MISP version and the app's documented log sources before writing alerts against them.

Keeping Splunk lookups current as MISP changes

Indicators in a Splunk lookup are only as useful as their last refresh. The point of this section is that expiry, edits and removals in MISP have to reach Splunk on a schedule you chose on purpose, and that a lookup which silently keeps old values will keep producing alerts after the underlying intelligence has changed. Before scheduling anything, decide which of three conditions you are protecting against: an indicator that has expired in MISP still matching in Splunk, an indicator that was revised or removed in MISP still firing, and a new indicator that never arrives because the pull failed.

Each of these failure modes looks different in practice. A stale indicator tends to produce false positives that analysts learn to ignore, which is worse than an obvious error because it erodes trust in the alert. A missed removal can keep a lookup hit alive for a domain or address that has since been cleaned up by its owner. A failed pull is the quietest case, since the lookup still returns results and nothing in the search output shows that its contents stopped moving. Whatever you build should make the age of the data visible to the people who rely on it, for example by recording the time of the last successful refresh alongside the lookup.

Refresh frequency is a trade-off between currency and load on both systems. Pulling more often narrows the window in which Splunk disagrees with MISP, but each run queries the MISP API, transfers attribute data, and rewrites the lookup file or KV store collection that searches depend on. Pulling less often reduces that load but widens the gap for time-sensitive indicators. The right interval depends on how quickly your sources change, how many attributes your scope pulls, and how much headroom your MISP server and Splunk search head have during business hours. Test the job against your real scope before you pick a number, and watch both sides for timeouts and long-running searches.

Set up a review routine for stale indicators that does not depend on the refresh job working. At a fixed interval, sample lookup entries, compare their age and status against the MISP source, and check whether expired or deleted attributes are still present. Record the count of entries removed and retained at each review. Assign an owner for this check, and decide who can override a retained indicator and under what justification.

Confirm how your version of the misp42splunk app handles deleted and expired attributes before you rely on it for alerting. The app's documentation and release notes should state whether removals are propagated, whether expiry is honored, and whether an update replaces or appends to existing lookup content. Do not assume these behaviors. Create a sample event in a test MISP instance with one attribute that you will later expire, one that you will edit, and one that you will delete. Run the refresh, then check each attribute in Splunk. Only after that result matches what you expect should a detection depend on the lookup.

Common failures in MISP to Splunk integrations and how to fix them

This table lists the failures teams most often hit when pulling MISP indicators into Splunk, with the likely cause, a check to run and the fix for each. Use it as a first troubleshooting pass before opening a support request. Where behavior depends on the misp42splunk app release or the MISP version, the fix says what to confirm in that documentation.

SymptomLikely cause and diagnostic checkFix and what to confirm
Empty lookups after setupThe scheduled pull has not run yet, or its filters match no events. Run the pull manually and count the rows returned.Correct the tag, distribution and date filters, then rerun. Confirm the schedule and filter syntax in the app documentation.
Authentication errors from the MISP APIThe API key is expired, revoked, or tied to a user without the needed role. Call the MISP API with the same key outside Splunk and check the HTTP status.Issue a key for a dedicated read-only sync account and store it in Splunk's credential storage. Confirm the required role for your MISP version.
TLS or certificate failuresThe MISP certificate comes from an internal CA the search head does not trust, or the hostname does not match. Test from the search head and compare certificate names.Add the internal CA to the trust store the app reads and keep verification on. Confirm which CA bundle setting the app uses.
Lookups grow too largeThe pull retrieves all attributes from all events with no scope and no expiry. Compare lookup row counts across consecutive runs.Scope by tags, attribute types, distribution and age, and apply expiry. Confirm lookup size limits for your Splunk version.
Duplicate or stale indicatorsEach run appends rows instead of replacing them, or deleted and expired MISP attributes are never removed. Group the lookup by indicator and type and count duplicates.Deduplicate on indicator and type, overwrite on each sync, and honor MISP deletions and expiry. Confirm the update behavior in the app documentation.
Searches match nothing despite a known indicatorAttribute types differ, such as domain against hostname, or values differ by case, defanging or CIDR notation. Test the exact value with a small lookup search.Normalize values and field names in the lookup definition and widen the time range. Confirm which MISP attribute types the app imports.

Questions buyers ask before hiring help with a MISP and Splunk integration

What drives the cost of a MISP and Splunk integration?

The main drivers are the number of MISP sources feeding Splunk, the scoping decisions about which attributes, types, tags and distribution levels to retrieve, the state of your Splunk environment (indexes, lookups, roles, existing correlation searches), and how much testing is needed before detections rely on the data. The cost has a one-time part (design, configuration, testing, documentation and handover) and a recurring part (keeping lookups current, upgrading the app and MISP, and adding sources). Ask any quote to itemize these components and mark which are one-time and which recur. DeployOpen plans most engagements as fixed scope, so the quote follows from the written scope and the decisions behind it.

How long does a MISP and Splunk integration take to deliver?

Duration depends on how many MISP sources are in scope, how many scoping decisions are already made, how mature the Splunk environment is, and how quickly access approvals, change windows and detection owner reviews happen. The work usually moves through discovery of current MISP content and Splunk architecture, scope and data design, a build in a non-production Splunk, testing against realistic searches, then production cutover and handover. Client-side approvals often set the critical path, so ask for a schedule that shows which phases wait on your team. No duration should be committed until the written scope exists.

What does our team need to provide for a MISP and Splunk integration?

You need to provide MISP API access for an account that can read the events and attributes in scope, Splunk administrator rights or delegated permission to install the app and create indexes, lookups, roles and saved searches, and a network path from Splunk to MISP. You also need named detection owners who approve what gets alerted on, change windows for production, a non-production Splunk for testing, and a decision maker who signs off the scope. Confirm the exact account permissions, app compatibility and supported Splunk versions with the app publisher and your own platform owners before work begins.

Can an internal team integrate MISP with Splunk without a partner?

A capable internal team can often do it, because the work is mostly configuration and search engineering rather than new software development. The team needs someone who understands the MISP data model (attributes, tags, distribution and the to_ids flag), someone who owns Splunk search and lookup design, and enough capacity to test detections without flooding analysts with alerts. The common gaps are deciding which indicators to pull, handling expiry and updates so lookups do not go stale, and documenting ownership. A partner is most useful when those gaps or a fixed deadline exist. Either way, check the app's support status with its publisher.

How is the scope of a MISP and Splunk integration agreed in writing?

The scope is written down before any build work starts. It names the MISP instances and sources in scope, the event types, attributes, tags and distribution levels to retrieve, the Splunk components to create or change, the testing criteria, the deliverables, the client dependencies and the exclusions. DeployOpen works mostly on fixed scope, so the written document sets what is delivered and defines when a change would need a new agreement. Review the draft with your detection owners and Splunk administrators, and check that new detection content written later is either in scope or clearly excluded.

Which MISP attributes should a Splunk team retrieve first?

Start from the detection use cases, not from the full MISP database. For each use case, decide which attribute types are needed (for example, IP addresses, domains, file hashes or URLs), whether only attributes flagged for IDS use should be pulled, which tags or taxonomies select relevant events, which distribution levels your sharing rules allow you to use internally, and how old an indicator can be before it is dropped. Retrieving everything usually creates noisy lookups and slow searches. Write these choices into the scope so detection owners can review them, and revisit them as use cases change.

What happens after a MISP and Splunk integration goes live?

Operations continue after go-live. Lookups and indicator sets need scheduled refresh and expiry handling, the misp42splunk app and the MISP instance need upgrades tested in a non-production Splunk first, and new MISP sources or tags should be reviewed before they reach alerting. Someone on your side must own false positives, tuning and sign-off on new indicator types. DeployOpen provides handover documentation for the build and offers ongoing support, upgrades and continuous testing as retainers. Before go-live, confirm in writing who owns each recurring task and how changes are requested.

How DeployOpen scopes, delivers and supports a MISP and Splunk integration

DeployOpen plans, builds, documents and supports MISP and Splunk integrations inside your own infrastructure, so indicator pulls, lookups and correlation searches run where your data already lives. Engagements are fixed-scope, with scope, deliverables and timelines agreed in writing before work starts. Ongoing support and upgrades are available as a retainer.

How we scope

  • The written scope names which MISP instance, events, tags and attribute types the Splunk app may retrieve.
  • Scope also records the Splunk indexes, lookup files and saved searches that will consume the indicators.
  • Access is agreed early: the MISP API key's role, the Splunk role that reads lookups, and who edits them.

How we build

  • Install and configure the misp42splunk app in a non-production Splunk environment first, then promote it.
  • Tune retrieval filters so only the indicator types and tags in scope reach Splunk searches.
  • Set refresh schedules and expiry handling so stale indicators age out of lookups and correlation searches.

How we hand over

  • Written runbook covering app configuration, credentials, refresh jobs, and the filter settings agreed in scope.
  • Test records showing expected indicators appear in a lookup and match a sample correlation search.
  • Walkthrough with the Splunk and threat intelligence teams on adjusting scope and troubleshooting pulls.

How we support

  • Upgrade planning for the misp42splunk app and the MISP version it must work with, confirmed before changes.
  • Checks after MISP or Splunk upgrades to confirm lookups still refresh and searches still return matches.
  • Ongoing support and continuous testing are available as retainers, scoped in writing like the original work.

Sources and further reading

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.