Skip to content

feat(ti_misp): add MISP API rate-limit response headers#18524

Merged
navnit-elastic merged 3 commits intoelastic:mainfrom
navnit-elastic:18268-ti_misp
Apr 28, 2026
Merged

feat(ti_misp): add MISP API rate-limit response headers#18524
navnit-elastic merged 3 commits intoelastic:mainfrom
navnit-elastic:18268-ti_misp

Conversation

@navnit-elastic
Copy link
Copy Markdown
Contributor

@navnit-elastic navnit-elastic commented Apr 20, 2026

Proposed commit message

feat(ti_misp): add MISP API rate-limit headers to httpjson

- Add MISP API rate-limit response headers (X-Rate-Limit-*) to httpjson.
- Remove the unused http_request_rate_limit option. It did not enable
  httpjson rate limiting without request.rate_limit.remaining; behavior
  is superseded by MISP response headers.

Checklist

  • I have reviewed tips for building integrations and this pull request is aligned with them.
  • I have verified that all data streams collect metrics or logs.
  • I have added an entry to my package's changelog.yml file.
  • I have verified that Kibana version constraints are current according to guidelines.
  • I have verified that any added dashboard complies with Kibana's Dashboard good practices

Author's Checklist

  • [ ]

How to test this PR locally

Reference taken from: #9073

The following is a guide for how to run MISP locally, observe API rate limit behaviour and run the Elastic MISP integration against that local instance.

MISP: Configure, run and generate an API token

  • Clone https://github.com/misp/misp-docker.
  • Follow the misp-docker README's Getting Started instructions.
  • In MISP, Administration > List Auth Keys, add a new key and copy its value.

MISP: Enforce Rate Limit

  • In MISP, Administration > List Roles, locate admin role and click on edit icon.
  • Enable Enforce search rate limit option and configure rate limit.

MISP: Load data and query

  • In MISP, Sync Actions > Feeds, click "Load default feed metadata", enable some feeds and click "Fetch all events" on them.
  • In MISP, API > Rest client, you can construct and run queries. It can generate cURL commands (to which you may need to add the --insecure option).

MISP integration in Elastic

When adding a MISP integration policy use the following settings:

  • MISP URL: https://172.17.0.1 (special IP for the docker host)
  • MISP API Token: <your-api-token> (from earlier setup)
  • Initial Interval: 0s (or more)
  • Interval: 10s
  • Preserve original event: yes
  • SSL: "verification_mode: none"
  • Enable request tracing: yes

Related issues

Screenshots

@navnit-elastic navnit-elastic self-assigned this Apr 20, 2026
@navnit-elastic navnit-elastic added enhancement New feature or request Integration:ti_misp MISP Team:Security-Service Integrations Security Service Integrations team [elastic/security-service-integrations] Team:SDE-Crest Crest developers on the Security Integrations team [elastic/sit-crest-contractors] labels Apr 20, 2026
@elastic-vault-github-plugin-prod
Copy link
Copy Markdown

🚀 Benchmarks report

To see the full report comment with /test benchmark fullreport

@navnit-elastic navnit-elastic marked this pull request as ready for review April 21, 2026 09:46
@navnit-elastic navnit-elastic requested a review from a team as a code owner April 21, 2026 09:46
@elasticmachine
Copy link
Copy Markdown

Pinging @elastic/security-service-integrations (Team:Security-Service Integrations)

@kcreddy kcreddy changed the title feat(ti_misp): add MISP API reate-limit response headers to httpjson feat(ti_misp): add MISP API rate-limit response headers to httpjson Apr 27, 2026
@kcreddy kcreddy changed the title feat(ti_misp): add MISP API rate-limit response headers to httpjson feat(ti_misp): add MISP API rate-limit response headers Apr 27, 2026
Copy link
Copy Markdown
Contributor

@kcreddy kcreddy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Instead of hardcoding the API token, it would be slightly cleaner to replace it with a placeholder like <your-api-token> since the instructions already say "copy its value" from the earlier step.

Comment thread packages/ti_misp/changelog.yml Outdated
Comment thread packages/ti_misp/changelog.yml Outdated
@elasticmachine
Copy link
Copy Markdown

💚 Build Succeeded

History

cc @navnit-elastic

@navnit-elastic navnit-elastic requested a review from kcreddy April 28, 2026 08:05
Copy link
Copy Markdown
Contributor

@kcreddy kcreddy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@navnit-elastic navnit-elastic merged commit 1bf0590 into elastic:main Apr 28, 2026
9 checks passed
@elastic-vault-github-plugin-prod
Copy link
Copy Markdown

Package ti_misp - 1.42.0 containing this change is available at https://epr.elastic.co/package/ti_misp/1.42.0/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request Integration:ti_misp MISP Team:SDE-Crest Crest developers on the Security Integrations team [elastic/sit-crest-contractors] Team:Security-Service Integrations Security Service Integrations team [elastic/security-service-integrations]

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Integration Name]: Respect Rate Limit for openMISP integration

3 participants