Skip to content

feat: first version of the HarfangLab integration - #21574

Open
Robert-HarfangLab wants to merge 4 commits into
elastic:mainfrom
HarfangLab:feat/integration-harfanglab-1.0.0
Open

Robert-HarfangLab wants to merge 4 commits into
elastic:mainfrom
HarfangLab:feat/integration-harfanglab-1.0.0

Conversation

@Robert-HarfangLab

@Robert-HarfangLab Robert-HarfangLab commented Sep 22, 2026

Copy link
Copy Markdown

Proposed commit message

Add a new HarfangLab EDR integration.

WHAT: The integration collects ECS-formatted security telemetry from the HarfangLab EDR agent through two input modes: http_endpoint (the agent pushes events) and cel (the integration polls the HarfangLab API). Events land in the harfanglab.generic data stream, where a routing rule reroutes anything with event.kind: alert to harfanglab.detection. Ships two data streams, three dashboards, a detection rule and two data views.

WHY: HarfangLab agents already emit ECS-formatted events, but there was no supported path to get them into Elasticsearch. Customers had to build custom ingest configurations per deployment. Supporting both push and pull covers the two network topologies the agent is deployed in.

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

  • Both input modes (http_endpoint and cel) tested against a live HarfangLab agent.
  • Routing rule sends event.kind: alert to harfanglab.detection and nothing else.

How to test this PR locally

elastic-package stack up -d --version 9.0.0

Then cd packages/harfanglab && elastic-package check && elastic-package test. Install the package from Kibana's Integrations UI, configure an agent policy with the HTTP endpoint input, and send a sample event from data_stream/generic/sample_event.json to the listen address.

Related issues

  • None

Screenshots

image image image

@cla-checker-service

cla-checker-service Bot commented Sep 22, 2026

Copy link
Copy Markdown

💚 CLA has been signed

@elastic-vault-github-plugin-prod

Copy link
Copy Markdown
Contributor

Reviewers

Buildkite won't run for external contributors automatically; you need to add a comment:

  • /test : will kick off a build in Buildkite.

NOTE: https://github.com/elastic/integrations/blob/main/.buildkite/pull-requests.json contains all those details.

@Robert-HarfangLab
Robert-HarfangLab marked this pull request as ready for review September 22, 2026 16:42
@Robert-HarfangLab
Robert-HarfangLab requested a review from a team as a code owner September 22, 2026 16:42

@efd6 efd6 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Please add a system test.

@qcorporation qcorporation added New Integration Issue or pull request for creating a new integration package. documentation Improvements or additions to documentation. Applied to PRs that modify *.md files. labels Sep 23, 2026
@Robert-HarfangLab

Copy link
Copy Markdown
Author

Hi @efd6, I added system test as requested.

Best regards

This branch has not been deployed

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

Labels

documentation Improvements or additions to documentation. Applied to PRs that modify *.md files. New Integration Issue or pull request for creating a new integration package.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants