MISP and OpenCTI integration

Running MISP for sharing and OpenCTI for analysis side by side requires deliberate choices about direction, filters and loop prevention. This page explains how to configure the connectors and what to verify.

On this page

How MISP and OpenCTI integration divides the work

The integration uses OpenCTI connectors that import from MISP and consume the MISP Intel stream. The method relies on a supported connector, so the work centers on configuration, testing and operations, and no custom code has to be built or maintained. The typical starting point is a team that already runs MISP for sharing with partners or a sector community and wants OpenCTI to analyze what arrives, relating indicators to threat actors, campaigns, malware and reports. The reverse case is also common: a team that adopted OpenCTI for analysis first and now needs MISP to exchange what it has validated with peers. In both cases the two platforms hold overlapping data, so the first design question is which one is the source of truth for each object type.

MISP is the exchange layer. In this pairing its strengths are event and attribute storage, distribution levels and sharing groups that control who may see each item, automatic synchronization with other instances and trusted communities, and a correlation engine that links new attributes to existing data. OpenCTI is the analysis and relationship layer. It structures data with a knowledge schema based on the STIX2 standards, offers a web application and a GraphQL API, and models how observables, indicators, threat actors and reports connect to one another. The split works only when each team agrees on which platform publishes, which platform enriches, and which platform keeps the relationship graph.

Several decisions follow from that split and should be made before any connector is enabled. Decide which MISP tags, distribution levels and event types are eligible for import, because an import connector without filters brings in everything the account can read. Decide whether OpenCTI objects will be pushed back to MISP at all and, if so, which object types. A write-back path can recreate content that was already imported, which causes duplication and can create loops between the platforms. Decide which MISP user or API key the connector uses, and confirm that its role grants access only to the events it should ingest. Name an owner for each decision, because a tag or distribution change in MISP alters what OpenCTI receives.

Connector names, configuration keys and supported options change between releases, so confirm each one against the OpenCTI connector documentation for the release in use before writing the configuration. OpenCTI uses date-based version numbers and publishes LTS lines, so connector images should match the platform version the team runs. Verify the MISP side in the installed instance as well, including the MISP release, the API key handling and the Intel stream endpoint. The OpenCTI deployment depends on RabbitMQ and Python workers, and the connectors are the components that move the data. Their health and queue depth belong in the monitoring plan from the first day of operation.

What both platforms need before you connect them

Before you connect MISP and OpenCTI, each platform needs a supported version, its backing services and controlled access. The items below set the foundation for the import connector, the stream connector and the filters you add later. Work through them in order, because the MISP version, search backend and credentials decide what the connectors can do.

MISP release line and installer

MISP 2.5 is the recommended line for new deployments, and MISP 2.4 is end of life with security fixes only, so a new instance should not start on 2.4. The project provides an installer for Ubuntu 24.04 and also lists Docker images, Ansible roles, Puppet and RPM packages. Choose one install method before you build, and confirm with your team which MISP version the OpenCTI import connector has been tested against.

Elasticsearch or OpenSearch index

OpenCTI requires Elasticsearch 8.0 or OpenSearch 2.9 or later as its search and indexing backend. Choose one before installation and keep the version at or above the stated minimum in every environment, including test. Confirm that the cluster is sized for the volume of indicators you expect to import, because the index grows as data arrives. Ask who owns snapshots and index lifecycle, since MISP data imported into OpenCTI will sit in this index.

RabbitMQ, Redis and object storage

OpenCTI uses RabbitMQ 3.11 or later for the message queue that Python workers consume for asynchronous writes, and Redis 7.1 or later for caching. Object storage must be S3-compatible, such as MinIO, and holds uploaded files and exported content. Check that each service has a named owner for access control, version upgrades and backups. Confirm that the platform and workers can reach all three services from the networks where they run.

OpenCTI platform sizing

OpenCTI's deployment overview documents 2 cores and at least 8 GB RAM for the platform. The same guidance lists 2 cores, 8 GB RAM and 16 GB SSD for Elasticsearch or OpenSearch, and recommends at least one platform node for every 3 workers. Treat these figures as minimums for planning. Then size workers from the connector load you intend to run, including the MISP import and the stream connector, and confirm the figures against the release you install.

API key, connector token and license key

The MISP side needs an API key tied to a dedicated service user whose role allows the reads the import connector performs, so create that user instead of reusing an administrator account. Confirm the exact role names in your MISP instance before you assign them. Each OpenCTI connector needs its own connector token, stored in a secrets manager. If you choose an LTS release, you also need an LTS license key, and LTS releases receive only critical bug and security fixes after the first month.

Network paths and certificates

Both platforms must reach each other over the paths the connectors use, and that traffic should be encrypted. Confirm which side initiates each connection, which ports your firewall allows, and whether MISP and OpenCTI sit in the same network zone. Plan certificate issuance and trust so the OpenCTI connector host accepts the MISP certificate, including any internal certificate authority root. Record certificate expiry dates so renewal does not interrupt imports.

Which connector moves data in each direction

Two separate components move data between MISP and OpenCTI, and they run in opposite directions. The OpenCTI MISP import connector pulls MISP events into OpenCTI, where analysts can relate them to other intelligence in the knowledge graph. The MISP Intel stream connector works the other way: it consumes intelligence that has been created or curated in OpenCTI and feeds it into MISP for distribution. Decide first which direction your organization needs, because enabling only one connector gives you a one-way flow and a clear place to start. Most teams will run both only after they have agreed which platform is the system of record for each type of indicator.

Both connectors work through the OpenCTI platform rather than writing directly into each other's databases. In OpenCTI, Python workers consume messages from RabbitMQ, and that queue is how writes are applied asynchronously. A burst of imported MISP events therefore lands in a queue and is processed by workers at the pace the platform can absorb, instead of blocking the connector. When you size the deployment, count the workers and RabbitMQ capacity alongside the platform itself, and watch queue depth during the first large import. A growing backlog usually means the workers are undersized, not that the connector has failed.

Treat each connector as its own component. Each has its own configuration file or environment variables, its own API token for the MISP or OpenCTI side, and its own logs. Give each connector a dedicated, least-privilege account in the relevant platform, so that rotating one token or changing one filter does not affect the other connector. Keep the token values in your secrets store, and record which MISP user and which OpenCTI identity each connector acts as. When a sync stops or duplicates appear, the connector logs are where you start, so confirm they are collected centrally before go-live.

Before you install either connector, confirm two things with the connector documentation and your own environment. First, check which connector versions match your OpenCTI release, since the connectors are versioned separately from the platform and a mismatch can cause failed imports or unexpected object types. Second, confirm which MISP API features each connector calls, such as event search, attribute retrieval or the endpoints used to publish events, and check that your MISP version and the API user's permissions allow those calls. Note that MISP 2.5 is the recommended version for new deployments, so confirm the connector supports the MISP version you actually run.

Plan the test sequence around these two directions. Run the import connector against a small, known set of MISP events and verify the resulting objects in OpenCTI before enabling the stream connector. Then enable the stream connector against a test MISP instance or a restricted tag, and confirm that the data it pushes carries the distribution and sharing settings you expect. Keeping the two directions separate during testing makes it much easier to tell whether a problem comes from the connector, the queue or the filter.

How to set up the MISP and OpenCTI integration, step by step

This sequence connects MISP for sharing with OpenCTI for analysis in an order that keeps a bad filter or a feedback loop small and easy to reverse. Each step closes with a check you can record, so the team can stop at any point without losing data.

  1. Confirm both platforms are healthy and supported

    The platform owners confirm that MISP runs 2.5, the recommended line for new deployments, since 2.4 is end of life, and that the OpenCTI version is a supported regular release or an LTS line with a valid license key. They check that OpenCTI's workers, RabbitMQ, Redis and search backend are running and that MISP background jobs are processing. The step is done when both admin interfaces load, neither reports failed jobs, and the exact versions are written into the change record.

  2. Create a dedicated MISP automation user

    A MISP administrator creates a separate user for the connector and assigns it the lowest role that still allows reading the events it needs. Generate its API key, store the key in your secrets manager, and limit the account to the organization and sharing groups in scope. Confirm the role's permissions in your MISP version before saving, because role definitions are configurable. Check that an API call made with the key returns events matching the filter, and that the same call with a deliberately wrong key is refused.

  3. Register the connector in OpenCTI with its token

    An OpenCTI administrator adds the MISP import connector to the platform and gives it a token issued for this connector only, stored in the deployment's secret configuration. The administrator points the connector at the MISP URL and the API key from the previous step, and runs it as a separate service. Check that the connector appears as registered and active in the OpenCTI connector list, and that its logs show a successful connection to MISP with no authentication errors.

  4. Set scope before the first import

    Before the first run, the team defines which MISP events the connector may bring in: the tags to include, the distribution levels to accept, and the sharing groups to respect. The filter is written down and approved by the MISP owner, because an overly broad filter pulls in data the organization may not be entitled to hold. Check that the connector's saved configuration matches the approved document field by field before the import runs.

  5. Run a limited import and compare counts

    The team runs the import with a limit on the number of events or a narrow time window, so any mistake affects a small set of records. They count the MISP events that match the tag and distribution filter, then count the corresponding reports or indicators created in OpenCTI. Confirm with the connector's documentation how skipped or merged items are counted. The step is done when the two counts agree after accounting for those items, and a test event tagged in MISP appears in OpenCTI with its original tags and distribution.

  6. Add loop controls before the reverse stream

    Before the reverse direction is enabled, the team decides how each platform marks data it received from the other so that it is not sent back. They apply a dedicated tag or origin marker to imported records, exclude that marker from the export filter, and confirm that the MISP Intel stream connector honors the same scope. Check by importing a test record, letting a full sync cycle run, and searching MISP for its UUID to confirm that no new copy was created.

  7. Enable the reverse stream and monitor

    The team enables the MISP Intel stream connector for the scoped, marked data only, keeping the limited filter from the first run. They create a new test record in OpenCTI and confirm that it appears in MISP with the expected distribution, then confirm that it is not echoed back on later scheduled cycles. Check that the test record appears once in the other platform, the connector logs show no authentication errors, and no duplicate or looping records appear in either platform after several cycles.

Filtering by tag and distribution before the first import

Before the first import, decide what the connector is allowed to read and what it should bring into OpenCTI. Two controls in MISP set this boundary. Distribution levels on each event and attribute, together with custom sharing groups, determine which instances and users may see that data. The connector authenticates to MISP with an API key tied to a user account and role, so it cannot import anything that account cannot read. An key belonging to a broad administrative account may see far more than the analysis team expects. Check the role, organization and sharing group memberships of the key you plan to use, and record them with the filter decision.

Tag-based filters decide which MISP events enter OpenCTI. In practice, the team applies a tag to events that meet an agreed criteria, such as a particular threat actor, sector or confidence level, and the connector imports only the events carrying that tag. Set the filter before the full import and test it first. Run the connector against a narrow scope, such as one known tag with a small number of events, then check in OpenCTI that the expected indicators, observables and relationships appeared and that nothing unexpected did. Removing imported data later is slower than preventing it, because downstream connectors and analysts may already have used it.

MISP taxonomies and galaxies add tags that the filter can use. Galaxies such as MITRE ATT&CK attach cluster tags to events, and taxonomies provide structured tag namespaces. These data sets carry their own licenses, CC0 1.0 Universal or the 2-clause BSD license, which are separate from the AGPL license of the MISP software. Confirm with the connector documentation and release notes which tag formats, including taxonomy and galaxy cluster tags, and which distribution values each connector version supports. Then test the filter with a sample event that carries each tag type you intend to use, because a tag that matches in MISP may not be read the same way by the connector.

Write the filter down as a controlled decision. Record the tags, distribution levels, sharing groups, API key role and the person who approves changes. Agree how the team will handle an event whose tags change after import, such as a tag removed because an investigation closed. Confirm in the connector documentation whether removals and distribution changes are propagated, ignored or require a manual step. Repeat the test when you upgrade either MISP or the connector, since supported options can change between versions. Treat the filter as part of the sharing policy, not only as a technical setting.

Which MISP data maps to which OpenCTI objects

This table lists the six MISP data areas that need a decision before connectors are configured. Each row names the decision and the question to confirm in the connector documentation, because the mapping to OpenCTI object types must come from that documentation. The main takeaway is that tag, distribution and sharing group filters should be set before the first import, since they determine what reaches the analysis platform.

Data areaDecision to makeQuestion to confirm in connector docs
MISP eventsDecide which events enter OpenCTI, based on origin, age and publication statusWhich event fields and publish states does the import connector read, and can it filter on them?
Attributes and their typesChoose which attribute types become analysis objects and which stay in MISPHow does the connector map each MISP attribute type, and what happens to unmapped types?
Tags and taxonomiesDecide which tags select content for import and which are kept as labels for analystsWhich tag and taxonomy filters does the connector support, and are tags carried across?
GalaxiesDecide whether galaxy clusters are imported, referenced or ignored for each sharing communityDoes the connector import galaxy clusters, and how are they linked to existing objects?
Distribution and sharing groupsDecide which distribution levels and sharing groups may flow into OpenCTIDoes the connector respect distribution and sharing group settings, and does it apply its own markings?
Threat actor and ATT&CK referencesDecide whether actor and technique references come from MISP galaxies, OpenCTI's ATT&CK connector or bothWhich source takes precedence when both provide the same actor or technique, and how are duplicates merged?

How to avoid loops between MISP and OpenCTI

The main risk in a two-way MISP and OpenCTI setup is that each platform re-imports what the other one sent. An indicator created in MISP can arrive in OpenCTI through the import connector, then leave OpenCTI through the MISP Intel stream connector, and come back to MISP as if it were new. Each pass can create a duplicate object, reset timestamps, or trigger another round of synchronization. Plan for this before you enable both directions, because the symptoms often look like normal activity until the object counts drift.

The first control is a distinct source marker. Choose one MISP tag, and one matching label or marking in OpenCTI, that means "this record came from the other platform." Confirm that the import connector applies the marker to every object it creates or updates, and that the marker survives later edits. Document the exact tag name, restrict who can add or remove it, and treat it as a configuration value that changes only through change control. A marker that analysts can drop by hand will eventually be missing from the records that need it.

The second control is a filter on the reverse stream. The stream connector should exclude any object carrying the origin marker, so data does not go back to the platform it came from. Confirm that the exclusion is applied to the stream query itself, not only hidden in the interface, and that it also covers updates and relationships, not just the first creation. Review distribution levels and sharing groups at the same time. A reverse export that widens sharing beyond the original scope is a data handling problem, even when no loop occurs.

The third control is a single system of record for each class of indicator. Decide which platform owns each category, for example indicators received from a sharing community versus analyst-created intelligence entities, and write that decision into a short ownership table. The owner creates and edits the object. The other platform reads it and does not write back changes to the same record. Ask your integration team to confirm which fields each connector overwrites on update, because an overwrite from the non-owner is one of the most common ways duplicates and conflicting values appear.

Test the setup with one known object in both directions before you rely on it. Create a test indicator in MISP with a known value and the origin marker expected on the reverse path, then follow it through OpenCTI and back. Check that the identifier, the marker, the timestamps and the object count all behave as designed after each hop. Repeat the test starting in OpenCTI. Run the same tests again after upgrading either platform, since connector behavior and schema handling can change between releases. Record the results so the next person can see what was verified and when.

Securing API keys, distribution and access in both platforms

The MISP and OpenCTI connectors hold credentials for both platforms and move threat data between them. Account design, key handling, transport security, distribution settings and sign-in methods each need a deliberate decision before the connectors go live.

Dedicated least-privilege MISP users

Create a separate MISP user for each connector instead of sharing an administrator or a person's account. Assign a role that grants only the access the import or stream job needs, and tie the user to the sharing group it is meant to serve. Check the connector documentation for the exact permissions it requires, and review the account whenever the connector configuration changes.

Rotated API keys in a secrets manager

Store the MISP API key and the OpenCTI token in a secrets manager and inject them into the connector at runtime, so they do not sit in plain-text configuration files or container images. Set a rotation schedule in line with your key management policy, and confirm how each connector reads its credentials so a rotation does not require a rebuild. Record who can read each secret.

TLS and certificate validation everywhere

Serve MISP and OpenCTI over TLS and require TLS on every connector hop, including the connection to the message broker and any stream endpoint. Keep certificate validation enabled in each connector and point it at your internal certificate authority where one is used. Disabling verification to get a connection working hides misconfigured trust chains and exposes API keys to interception.

Distribution controls for sensitive events

Decide which distribution levels and sharing groups the import and export jobs may handle before enabling them. Filter on distribution and tags so that events marked for a restricted group are not pushed into the reverse stream or into OpenCTI objects visible to a wider audience. Test with a sample event at each distribution level and confirm the result on both sides.

OpenCTI authentication options

Confirm which authentication methods the OpenCTI version you run supports by reading the OpenCTI authentication documentation for that release. Identify the method used by people signing in to the web application and the method used by connector tokens, since the two often differ. Document the choice, the token lifetime and the owner of each connector identity before go-live.

MISP OidcAuth for people only

If analysts need single sign-on to MISP, the OidcAuth plugin can authenticate them through an OpenID Connect provider and map identity provider roles to MISP roles. Map roles carefully, because the first matching role by priority is assigned. Keep connector accounts on local API keys, since they run unattended and cannot complete an interactive sign-in.

Why imports stall, duplicate or go silent

This table lists six failures that stop, duplicate or silently empty MISP to OpenCTI imports, with the likely cause, the check to run and the fix for the component involved. Work through the checks in order, starting with credentials and filters, because they are the quickest to verify. Most of these failures show up in connector logs and queue state before anyone needs to inspect the data itself.

FailureLikely causeCheck to runFix
Authentication errorsThe MISP API key used by the OpenCTI connector was rotated, deleted, or belongs to a user whose role or sync access has changed.Call the MISP API from the connector host with the same key and confirm an authenticated response.Issue a key for a dedicated automation user, update the connector configuration and restart the connector.
Empty importsDistribution level or tag filters exclude every event, or the tags configured in the connector do not match those on the source events.Compare the connector's tag and distribution filters with a known MISP event from the same feed.Adjust distribution levels to those your sharing agreements permit, correct tag names, then rerun the import on that known event.
Duplicate recordsLoop markers are missing, so indicators imported from MISP are sent back through the MISP Intel stream connector or re-imported on the next run.Trace one duplicated indicator in OpenCTI and check whether its source or creator label shows it came from MISP.Apply a source marker to imported objects, exclude that marker from the reverse stream direction, then remove existing duplicates.
RabbitMQ or worker backlogPython workers that consume RabbitMQ messages are stopped or too few for the connector load, so import messages wait in the queue.Review queue depth and consumer count in RabbitMQ, and check worker logs for stalled consumers.Restart stalled workers, add workers in line with the platform node ratio in the deployment overview, and confirm RabbitMQ is version 3.11 or later.
Dependency version mismatchesOpenCTI needs Elasticsearch 8.0 or OpenSearch 2.9 or later, Redis 7.1 or later and RabbitMQ 3.11 or later. An out-of-range dependency or an out-of-step MISP version breaks writes.Record running versions of OpenCTI, the search backend, Redis, RabbitMQ and MISP, then compare them with the deployment overview and connector release notes.Upgrade the lagging dependency within the supported range. Run MISP 2.5, which the project recommends for new deployments, because 2.4 is end of life.
LTS license key problemsAn LTS release was deployed without a valid license key for its line, or the key was issued for a different LTS version. LTS releases also receive only critical and security fixes after stabilization.Confirm the key matches the LTS version string, such as the x.YYMMDD.z-lts.n line, and check platform and connector startup logs for license errors.Request a key for the exact LTS line from your Enterprise Edition licensing contact, set it in the platform configuration, then restart the platform and connectors.

What buyers ask before they hire help for this integration

How much does a MISP and OpenCTI integration cost?

The cost follows from the written scope, and DeployOpen does not publish prices, so every engagement is quoted from that scope. The main cost drivers are the number of MISP instances to connect, how complex the tag and distribution filters are, how much of the OpenCTI dependency stack must be built, whether you need an OpenCTI Enterprise Edition license for LTS releases, and how much testing and handover you require. Build, design, connector configuration and testing are one-time work. Your infrastructure, licenses and any ongoing support are recurring. Ask the quote to separate one-time and recurring items, and to name who pays for each license and environment.

How long does an integration project like this take?

The schedule comes from the scope, and DeployOpen agrees the timeline in writing before work starts. The same factors that drive cost also drive time: how many MISP instances take part, how many tags and distribution rules data owners must agree, and whether OpenCTI's search, cache, messaging and object storage services already run in your environment. Approval steps add time too, especially when security or legal teams must sign off on what is shared between organizations. Ask for a timeline with milestones, the inputs you must provide by each milestone, and the testing window. Check the result against your own change calendar.

What does the client need to provide for the work?

Expect to provide access, decisions and environment details. You need a named owner for the tagging and distribution policy, administrative access to the MISP and OpenCTI systems or to the cloud accounts or data centers where they run, network routes between them, and an agreed list of sharing communities. The working assumption is infrastructure you control, so you supply compute, storage and backup targets. For OpenCTI, confirm the Elasticsearch or OpenSearch version, Redis, RabbitMQ and S3-compatible storage you will use. If you choose LTS releases, confirm you hold the required LTS license key. Ask the quote to list each input and who supplies it.

Can our internal team do this integration without a partner?

Often yes, if the team already runs both platforms and has the skills in place. The work spans MISP administration, OpenCTI deployment, its supporting services, connector configuration, filter design and ongoing upgrades. Check whether your people can operate MISP synchronization and tagging, run Elasticsearch or OpenSearch, Redis, RabbitMQ and object storage, and maintain connector credentials. Also decide who will carry the upgrade cycle. OpenCTI LTS lines are supported for one year, while non-LTS releases ship from daily to weekly. A short internal skills review usually answers the question faster than a debate. A partner can take on the build, the handover, or a retainer that covers the upkeep.

Why does OpenCTI need so many supporting services?

OpenCTI is a set of services, not a single application. A deployment includes the platform with its web interface and GraphQL API, Python workers that consume RabbitMQ messages for asynchronous writes, and connectors for import, enrichment, export and stream consumption. The platform depends on Elasticsearch 8.0 or OpenSearch 2.9 or later, Redis 7.1 or later, RabbitMQ 3.11 or later, and S3-compatible storage such as MinIO. The OpenCTI deployment overview documents minimum sizing of 2 cores and at least 8 GB RAM for the platform, 2 cores, 8 GB RAM and 16 GB SSD for Elasticsearch or OpenSearch, and at least one platform node for every 3 workers. Treat these as documented minimums and confirm them against your expected data volume and connector count.

How do MISP and OpenCTI avoid sending indicators in loops?

Define one direction for each class of data, and filter by tag and distribution before anything crosses between the two systems. The OpenCTI MISP import connector brings MISP events into OpenCTI, while the MISP Intel stream connector moves data back toward MISP. An indicator that is imported and then exported again can recirculate between the two platforms. Plan tags that mark an item's origin, exclude imported items from export, and confirm the distribution level before sharing. Then test with a known indicator and watch whether it appears twice. Connector options can change between releases, so verify behavior against the exact versions you run.

Does DeployOpen give a fixed quote for this work?

DeployOpen does not publish a price list. Most engagements are fixed scope, and the scope, deliverables and timeline are agreed in writing before work starts, so the quote follows from that document. Ask for a quote that names each MISP instance, each connector, the filter rules to implement, the OpenCTI dependencies to build or reuse, the license items, testing and handover, and any retainer for upgrades or continuous testing. Ask what is excluded and who maintains connector credentials after go-live. Compare quotes only when they cover the same written scope.

What does ongoing support cover after go-live?

DeployOpen offers ongoing support, upgrades and continuous testing as retainers, and the retainer is quoted separately from the build. Define its scope around the OpenCTI release line you run, the MISP version you run, connector maintenance, and the response expectations written into the agreement. Confirm whether it covers upgrades from MISP 2.4, which is end of life with security fixes only, to MISP 2.5, the recommended version for new deployments. For OpenCTI LTS, confirm the license key renewal process and who receives critical fixes. Ask how changes to connector behavior between releases will be tested before they reach production.

How DeployOpen scopes, delivers and supports the MISP and OpenCTI integration

DeployOpen plans and builds the MISP and OpenCTI integration inside your own infrastructure, with MISP handling sharing and OpenCTI handling analysis. Engagements are fixed-scope, so connectors, filter rules and handover items are agreed in writing before build starts. Ongoing support is available as a retainer.

How we scope

  • Confirm the MISP and OpenCTI versions and deployment methods your environment will run
  • Map which events, attributes and tags flow in each direction and which distribution levels apply
  • Record decisions on loop prevention, data owners and access in the written scope

How we build

  • Configure the OpenCTI MISP import connector with tag and distribution filters agreed in scope
  • Set up the MISP Intel stream connector for the reverse direction and test it against sample events
  • Test for duplicate and looping indicators before either connector runs against production data

How we hand over

  • Deliver written connector settings, filter rules and configuration documentation for your team
  • Walk your operators through monitoring, failed sync handling and where logs are kept
  • Provide a runbook for changing tags, distribution rules or connector credentials later

How we support

  • Offer ongoing support, upgrades and testing for both platforms as a retainer
  • Plan upgrades around the OpenCTI release cadence and LTS branches, reviewed before rollout
  • Keep MISP and OpenCTI connector versions aligned after each platform upgrade

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.