Skip to content

[crowdstrike, microsoft_defender_endpoint, sentinel_one] Update host.* ECS mappings - #13373

Merged
efd6 merged 7 commits into
elastic:mainfrom
brijesh-elastic:host_mapping-crowdstrike-microsoft_defender_endpoint-sentinel_one
Apr 10, 2025
Merged

[crowdstrike, microsoft_defender_endpoint, sentinel_one] Update host.* ECS mappings#13373
efd6 merged 7 commits into
elastic:mainfrom
brijesh-elastic:host_mapping-crowdstrike-microsoft_defender_endpoint-sentinel_one

Conversation

@brijesh-elastic

Copy link
Copy Markdown
Contributor

Proposed commit message

To improve bidirectional response actions, maintain consistent host.* mappings for CrowdStrike, SentinelOne, and Microsoft Defender for Endpoint packages.

All three integrations will provide host.id (which will be used for sending action requests to the EDR platform) and host.os.type values.

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

  • [ ]

Related issues

@brijesh-elastic brijesh-elastic added enhancement New feature or request Integration:crowdstrike CrowdStrike Integration:microsoft_defender_endpoint Microsoft Defender for Endpoint Integration:sentinel_one SentinelOne 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 1, 2025
@brijesh-elastic brijesh-elastic self-assigned this Apr 1, 2025
@brijesh-elastic
brijesh-elastic requested a review from a team as a code owner April 1, 2025 12:57
@elasticmachine

Copy link
Copy Markdown

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

@elastic-vault-github-plugin-prod

elastic-vault-github-plugin-prod Bot commented Apr 1, 2025

Copy link
Copy Markdown
Contributor

🚀 Benchmarks report

Package crowdstrike 👍(4) 💚(0) 💔(1)

Expand to view
Data stream Previous EPS New EPS Diff (%) Result
falcon 7518.8 5714.29 -1804.51 (-24%) 💔

Package sentinel_one 👍(2) 💚(0) 💔(3)

Expand to view
Data stream Previous EPS New EPS Diff (%) Result
agent 3378.38 2057.61 -1320.77 (-39.09%) 💔
alert 3236.25 2457 -779.25 (-24.08%) 💔
group 35714.29 29411.76 -6302.53 (-17.65%) 💔

To see the full report comment with /test benchmark fullreport

- android
source: |
for (String os: params.os_type) {
if (ctx.crowdstrike.vulnerability.host_info.platform.toLowerCase().contains(os)) {

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.

Map look-up or case-folded equality? If not, hoist the string construction outside the loop.

@efd6 efd6 Apr 10, 2025

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 hoist the string construction out of the loop.

        String platform = ctx.crowdstrike.vulnerability.host_info.platform.toLowerCase();
        for (String os: params.os_type) {
Comment on lines +443 to +445
if (ctx.host.os.family.toLowerCase().contains(os)) {
ctx.host.os.put('type', os);
}

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.

Same here.

Comment on lines +635 to +640
if (ctx.host == null) {
ctx.put('host', new HashMap());
}
if (ctx.host.os == null) {
ctx.host.put('os', new HashMap());
}

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.

Suggested change
if (ctx.host == null) {
ctx.put('host', new HashMap());
}
if (ctx.host.os == null) {
ctx.host.put('os', new HashMap());
}
ctx.host = ctx.host ?: [:];
ctx.host.os = ctx.host.os ?: [:];
Comment on lines +642 to +644
if (ctx.json.osType.toLowerCase().contains(os)) {
ctx.host.os.put('type', os);
}

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.

Map look-up or case-folded equality? Otherwise hoist string construction.

Comment on lines +149 to +159
if (ctx.host == null) {
ctx.put('host', new HashMap());
}
if (ctx.host.os == null) {
ctx.host.put('os', new HashMap());
}
for (String os: params.os_type) {
if (ctx.sentinel_one.alert.agent.os.type.toLowerCase().contains(os)) {
ctx.host.os.put('type', os);
}
}

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.

Same here.

Comment on lines +371 to +381
if (ctx.host == null) {
ctx.put('host', new HashMap());
}
if (ctx.host.os == null) {
ctx.host.put('os', new HashMap());
}
for (String os: params.os_type) {
if (ctx.json.agentRealtimeInfo.agentOsType.toLowerCase().contains(os)) {
ctx.host.os.put('type', os);
}
}

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.

And here.

@brijesh-elastic
brijesh-elastic requested a review from efd6 April 9, 2025 11:56
@elasticmachine

Copy link
Copy Markdown

💚 Build Succeeded

History

cc @brijesh-elastic

@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.

Thanks

@efd6
efd6 merged commit 71a9c1b into elastic:main Apr 10, 2025
@elastic-vault-github-plugin-prod

Copy link
Copy Markdown
Contributor

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

@elastic-vault-github-plugin-prod

Copy link
Copy Markdown
Contributor

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

@elastic-vault-github-plugin-prod

Copy link
Copy Markdown
Contributor

Package sentinel_one - 1.33.0 containing this change is available at https://epr.elastic.co/package/sentinel_one/1.33.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:crowdstrike CrowdStrike Integration:microsoft_defender_endpoint Microsoft Defender for Endpoint Integration:sentinel_one SentinelOne 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]

3 participants