fix(dga): infer dns.question.registered_domain from dns.question.name…#18341
Merged
yuriShafet merged 1 commit intomainfrom Apr 10, 2026
Merged
fix(dga): infer dns.question.registered_domain from dns.question.name…#18341yuriShafet merged 1 commit intomainfrom
yuriShafet merged 1 commit intomainfrom
Conversation
… when missing When dns.question.registered_domain field is null the DGA inference pipeline falls back to using the full domain name as the SLD feature, causing false positive malicious predictions for benign domains. Add a registered_domain processor as the first step in the ingest pipeline to infer registered_domain, top_level_domain, and subdomain from dns.question.name using the Mozilla Public Suffix List bundled in Elasticsearch. The processor only runs when registered_domain is null, leaving events from Packetbeat and other enriched sources unaffected.
ae3a2db to
3dfc826
Compare
💚 Build Succeeded
|
sodhikirti07
approved these changes
Apr 10, 2026
|
Pinging @elastic/sec-applied-ml (Team:Security-Applied ML) |
|
Package dga - 2.3.7 containing this change is available at https://epr.elastic.co/package/dga/2.3.7/ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
… when missing
When dns.question.registered_domain field is null the DGA inference
pipeline falls back to using the full domain name as the SLD feature,
causing false positive malicious predictions for benign domains.
Add a registered_domain processor as the first step in the ingest pipeline
to infer registered_domain, top_level_domain, and subdomain from
dns.question.name using the Mozilla Public Suffix List bundled in
Elasticsearch. The processor only runs when registered_domain is null,
leaving events from Packetbeat and other enriched sources unaffected.
Checklist
changelog.ymlfile.How to test this PR locally
The PR was tested in local kibana stack.
New pipeline was installed from local integrations repo and pipeline was tested as follows.
Before the pipeline update:

Features are extracted on subdomain as well. Resulting in sample classified as malicious.
After the pipeline change:

Subdomain no longer considered for feature extraction.
Related issues
elastic/detection-rules#5787