[EASE] change cases alerts tab to use kibana.alert.rule.rule_id to kibana.rule.parameters.related_integration.package#233158
Merged
PhilippeOberti merged 1 commit intoelastic:mainfrom Aug 28, 2025
Conversation
…bana.rule.parameters.related_integration.package
8c351e9 to
085b081
Compare
Contributor
💚 Build Succeeded
Metrics [docs]Async chunks
History
|
Contributor
|
Pinging @elastic/security-threat-hunting-investigations (Team:Threat Hunting:Investigations) |
janmonschke
approved these changes
Aug 28, 2025
Contributor
janmonschke
left a comment
There was a problem hiding this comment.
kibana-cases changes lgtm
NicholasPeretti
approved these changes
Aug 28, 2025
Contributor
NicholasPeretti
left a comment
There was a problem hiding this comment.
Approving on behalf of threat-hunting team
Contributor
|
Starting backport for target branches: 8.19, 9.1 https://github.com/elastic/kibana/actions/runs/17292051469 |
Contributor
💔 All backports failed
Manual backportTo create the backport manually run: Questions ?Please refer to the Backport tool documentation |
qn895
pushed a commit
to qn895/kibana
that referenced
this pull request
Sep 2, 2025
…bana.rule.parameters.related_integration.package (elastic#233158) ## Summary This PR fixes an issue introduced by this [previous one](elastic#231436). The integration logo is no longer rendered on the cases alerts table. ### Reminder of the previous changes The previous logic that was used throughout the entire alert summary page consisted of retrieving the rule_id value on the alert (via the `kibana.alert.rule.rule_id` field), to then retrieve the rule with the matching `rule_id` field. That rule has the `related_integrations` information used to find the matching integration (package). We are now using the `kibana.rule.parameters` field on the alert, which contains the `related_integrations` information, accessible directly from the alert document. The `kibana.rule.parameters` value isn't a basic string or number value though, but a complex json object. Using a runTime field that parses that json and returns directly the package (integration) name did the trick! ### This PR The changes done in the [previous PR](elastic#231436) actually broke the `Integration` column in the attack discovery page. This PR makes the required changes to the dataView and removes the now unnecessary rules information. | First Header | Second Header | | ------------- | ------------- | | <img width="1219" height="397" alt="Screenshot 2025-08-27 at 11 28 26 PM" src="https://github.com/user-attachments/assets/d7d83762-8f41-4a58-80ae-d7a956abcd0f" /> | <img width="1070" height="399" alt="Screenshot 2025-08-27 at 11 54 12 PM" src="https://github.com/user-attachments/assets/8f58f902-23c0-4043-9a68-6829b8992f67" /> | ## How to test **_You might need to clear localStorage as the table columns are saved in there and this PR changes the Integration column to the new runTime field._** This needs to be ran in Serverless: - `yarn es serverless --projectType security` - `yarn serverless-security --no-base-path` You also need to enable the AI for SOC tier, by adding the following to your `serverless.security.dev.yaml` file: ``` xpack.securitySolutionServerless.productTypes: [ { product_line: 'ai_soc', product_tier: 'search_ai_lake' }, ] ``` Use one of these Serverless users: - `platform_engineer` - `endpoint_operations_analyst` - `endpoint_policy_manager` - `admin` - `system_indices_superuser` Then: - generate data: `yarn test:generate:serverless-dev` - create multiple catch all rules, each with a name of a AI for SOC integration (`google_secops`, `microsoft_sentinel`,, `sentinel_one` and `crowdstrike`) and make sure to add the related integration (with the same names) => to do that you'll need to temporary comment the `serverless.security.dev.yaml` config changes as the rules page is not accessible in AI for SOC. - change [this line](https://github.com/elastic/kibana/blob/main/x-pack/solutions/security/plugins/security_solution/public/detections/hooks/alert_summary/use_fetch_integrations.ts#L73) to `installedPackages: availablePackages` to force having some packages installed ### Checklist - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios - [x] The PR description includes the appropriate Release Notes section, and the correct `release_note:*` label is applied per the [guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process) - [x] Review the [backport guidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing) and apply applicable `backport:*` labels.
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.
Summary
This PR fixes an issue introduced by this previous one. The integration logo is no longer rendered on the cases alerts table.
Reminder of the previous changes
The previous logic that was used throughout the entire alert summary page consisted of retrieving the rule_id value on the alert (via the
kibana.alert.rule.rule_idfield), to then retrieve the rule with the matchingrule_idfield. That rule has therelated_integrationsinformation used to find the matching integration (package).We are now using the
kibana.rule.parametersfield on the alert, which contains therelated_integrationsinformation, accessible directly from the alert document. Thekibana.rule.parametersvalue isn't a basic string or number value though, but a complex json object. Using a runTime field that parses that json and returns directly the package (integration) name did the trick!This PR
The changes done in the previous PR actually broke the
Integrationcolumn in the attack discovery page. This PR makes the required changes to the dataView and removes the now unnecessary rules information.How to test
You might need to clear localStorage as the table columns are saved in there and this PR changes the Integration column to the new runTime field.
This needs to be ran in Serverless:
yarn es serverless --projectType securityyarn serverless-security --no-base-pathYou also need to enable the AI for SOC tier, by adding the following to your
serverless.security.dev.yamlfile:Use one of these Serverless users:
platform_engineerendpoint_operations_analystendpoint_policy_manageradminsystem_indices_superuserThen:
yarn test:generate:serverless-devgoogle_secops,microsoft_sentinel,,sentinel_oneandcrowdstrike) and make sure to add the related integration (with the same names) => to do that you'll need to temporary comment theserverless.security.dev.yamlconfig changes as the rules page is not accessible in AI for SOC.installedPackages: availablePackagesto force having some packages installedChecklist
release_note:*label is applied per the guidelinesbackport:*labels.#233302