Commit graph

1445 commits

Author SHA1 Message Date
Mykola Harmash
6a71d9fb9a
[Onboarding][OTel Host] EDOT configuration send OTLP exporter -> Managed OTLP endpoint on Serverless (#213097)
Closes https://github.com/elastic/kibana/issues/208035

> [!IMPORTANT]
> [One of the
changes](https://github.com/elastic/elastic-agent/pull/7063) needed for
the flow to function is not in the Elastic Agent v18.7.3 that is
currently used by Serverless. We need to wait for the next EA release
before merging this PR.
> As a workaround for testing, after running the first code snipped from
the flow, you can modify the generated `./otel.yml` file to add `ApiKey`
in front of the API key and then start the collector.

This change switches OTel Host quickstart flow on Serverless to the
managed OTel collector as the ingest endpoint. Specifically it:

* Uses a modified APM managed service URL as the endpoint. Later the
OTel endpoint will be exposed separately through the Cloud plugin (ref:
https://github.com/elastic/cloud/issues/137354).
* Uses API key generated by APM to access the managed service. This
later will also should be decoupled from APM (ref:
https://github.com/elastic/kibana/issues/208035#issuecomment-2654482081)
* Modifies the code snipped with the new variables

![CleanShot 2025-03-04 at 14 59
44@2x](https://github.com/user-attachments/assets/3c1afaf6-3a01-4a38-8e8d-1cc0e3e65d44)


## How to test

* Use the Serverless instance deployed from this PR, make sure OTel Host
flow code snippet uses the managed service endpoint, ingest logs from
your computer
* Run the classic Kibana locally, and make sure the OTel Host flow uses
the usual code snippet with ES ingest endpoint, ingest logs from your
computer
2025-03-26 15:36:40 +01:00
Sergi Romeu
35f8739b9a
[A11y][APM] Use nameTooltip api for dependencies tables (#215940)
## Summary

Closes https://github.com/elastic/kibana/issues/195041

This PR addresses the issue where the table name's tooltip cannot be
focused with keyboard.

## Video


https://github.com/user-attachments/assets/bec887fd-5a3b-4fa9-b84b-17a1a4187fbc
2025-03-26 13:58:34 +01:00
Jacek Kolezynski
cb7b672d79
[Security Solution] Fix example of creating 200 rules (#215145)
**Resolves: #208329**

## Summary

This is an improvement of an example. The example was reworked in
#213244, as part of removing bulk_crud endpoints and replacing it with
bulk_action endpoint. However, a
[comment](https://github.com/elastic/kibana/pull/213244#discussion_r1995862889)
was raised to improve it, and in order not to block that PR, we decided
to improve the example later, in a separate PR. And this is it.
2025-03-26 13:31:54 +01:00
Bailey Cash
8aa9b82079
Add SLO Definition Page (#215423) 2025-03-26 08:23:55 -04:00
Milosz Marcinkowski
a92a91b134
[Serverless] Enable Observability Overview page in serverless (#214740)
### Summary
This PR enables Observability Overview page for serverless version.

#### Serverless before adding data:

![2](https://github.com/user-attachments/assets/7b1e160a-99ba-4f9b-af0d-37635a9140d5)
<img width="2560" alt="Screenshot 2025-03-20 at 17 10 40"
src="https://github.com/user-attachments/assets/38f66337-e4f8-469d-82de-376590533b19"
/>
___
#### Serverless after adding data:
![localhost_5601_app_observability_overview_rangeFrom=now-15m
rangeTo=now](https://github.com/user-attachments/assets/5a3f7570-5867-4aa2-9961-a7be6a00bd89)
<img width="2560" alt="Screenshot 2025-03-20 at 12 34 22"
src="https://github.com/user-attachments/assets/8fc590ba-9755-4ce0-be19-b15f60f1d76b"
/>
___
#### Stateful:

![image](https://github.com/user-attachments/assets/ba3c28c5-c659-418c-b099-b6258850a6cf)
___
### How to test:

1. `yarn es --serverless=oblt`
2. `yarn serverless-oblt`
3. ingest data with synthtrace

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-03-26 11:24:46 +01:00
Pablo Machado
e201b947be
[SecuritySolution] Update API key permissions on refreshing data view API (#215738)
Update the API key when entity store `apply_dataview_indices` is called.

## Summary
This change allows the user to update the privileges the entity store
data view refresh task uses. This will enable them to fix problems when
the user that enabled the entity store doesn't have all data view
indices privileges.

This PR also improves some error messages that were hard to read.

### Context
* `apply_dataview_indices`is an API that updates the entity store
transform with the indices defined in the security solution data view.
* There is a background task that calls `apply_dataview_indices` from
time to time
* The background task uses the API key to access the security solution
data view indices.


### How to test it
* Create a kibana instance with security data
* Create a user that only has access the necessary access to the entity
store indices
* Enable the entity store with a the created user
* Login with a superuser 
* Add a new index to the security solution data view, which the created
user cannot access.
* The task will fail because it uses the API key from the unprivileged
user.
* Call `apply_dataview_indices` with the superuser (`POST
kbn:api/entity_store/engines/apply_dataview_indices`)
* The request should succeed because it is using the superuser
credentials
* Add a new index to the security solution data view, which the created
user cannot access.
* The task should succeed because it is using the superuser API key

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] [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)
2025-03-26 11:03:45 +01:00
Umberto Pepato
7aac590af4
[ResponseOps][Rules] Create Rules APIs package (#214187)
## Summary

- Creates a `@kbn/response-ops-rules-apis` package, following the
proposed structure for ResponseOps Management Experiences package.
- Moves relevant rules API fetchers and react-query hooks to the new
package.
- Adds an internal variant of the `/api/alerting/rule_types` endpoint
(`/internal/alerting/_rule_types`), that returns the same value as the
public one + the newly added internal [`solution`
field](https://github.com/elastic/kibana/issues/212017), that we don't
want to expose publicly.

## Verification steps

1. Create rules that fire alerts
2. Verify the usages of the moved/changed hooks, with limited privileges
as well (i.e. only `Rules Settings` but not `Stack Rules`):
2.1. Stack management and Observability rules, rule details and alerts
pages
2.2. Rules tab in the Connector editor flyout
2.3. Alerts table row actions (••• icon)
2.4. Tags filter in the rules list page
3. Using the DevTools, compare the response of the public and internal
`rule_types` endpoins:
    ```
    GET kbn:/api/alerting/rule_types
    GET kbn:/internal/alerting/_rule_types
    ```
Checking that the `solution` field is present only in the internal one

## References 

Closes #213059 

### 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

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-03-26 10:01:51 +01:00
Andrew Macri
9605674a3e
[Security Solution] [Attack discovery] Use kibana.alert.building_block_type instead of kibana.alert.rule.building_block_type in alerts preview (#215972)
### [Security Solution] [Attack discovery] Use kibana.alert.building_block_type instead of kibana.alert.rule.building_block_type in alerts preview

This PR updates the query used in the Attack discovery alerts preview to fix an issue where EQL sequence rules are counted differently in the preview.

It updates the query to use `kibana.alert.building_block_type` instead of `kibana.alert.rule.building_block_type`.

**Details**

For most rule types generated via the detection engine, the `kibana.alert.building_block_type` and `kibana.alert.rule.building_block_type` fields will both have the same value, for example:

```
{
  "kibana.alert.building_block_type": "default",
  "kibana.alert.rule.building_block_type": "default",
}
```

However, EQL sequence rules can have building block alerts, even through _the rule itself_ is not a building block rule.

To ensure the preview is accurate for EQL sequence rules, (which will have a null `kibana.alert.rule.building_block_type`) the filter must use the non-rule flavor of the field: `kibana.alert.building_block_type`.
2025-03-25 20:27:30 -06:00
Davis McPhee
7e40b8c4cb
[Discover] Refactor Discover initialization flow (#213501)
## Summary

This PR splits Discover into two layers with separate initialization
flows:
- `DiscoverMainRoute` - Responsible for app level initialization, only
initialized once on app load.
- `DiscoverSessionView` - Responsible for initializing a single Discover
session (soon to be a single tab), can be swapped out without
reinitializing the whole app.

The Discover session initialization logic has been consolidated into a
single thunk, making it possible to initialize individual tabs in
isolation. While `DiscoverStateContainer` hasn't been fully removed, it
no longer manages state globally and is instead initialized separately
per Discover session. This allows existing Discover code to run without
changes, but the state it uses can be scoped to a single tab.

The current implementation is far from perfect and the
`initializeSession` thunk has a lot of side effects, but it should put
us in a spot where we can start actually bringing tabs into Discover.

Resolves #213305.

### Checklist

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [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
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [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)

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Jatin Kathuria <jatin.kathuria@elastic.co>
2025-03-25 21:47:11 -03:00
seanrathier
5dcd3d8b74
[Cloud Security] Changed agentless limitation callout to have is not supported (#215964) 2025-03-26 02:24:44 +02:00
Andrew Macri
1d457e4b1b
[Security Solution] [Attack discovery] Fixes intermittent refinement step error (#215816)
## [Security Solution] [Attack discovery] Fixes intermittent refinement step error

This PR updates the refine prompt to fix the following intermittent error, which sometimes occurs during the refine step in the Attack discovery Langchain graph:

```
refine node is unable to parse (gemini) response from attempt 1; (this may be an incomplete response from the model): [
  {
    "code": "invalid_type",
    "expected": "object",
    "received": "array",
    "path": [],
    "message": "Expected object, received array"
  }
]
```

The fix wraps the input to the refine prompt with an opening / closing `json` codeblock, in an object with an `insights` key:

````
"""
```json
{
  "insights": [
    // ...
  ]
}
```
"""
````

### Desk testing

1. Navigate to Security > Attack discovery

2. Click the `Generate` button to generate Attack discoveries

3. When generation completes, open the entry for the completed run in LangGraph

4. In the LangGraph waterfall, click on the `ActionsClientLlm` entry for the `refine` step

**Expected result**

The input to the refine prompt is wrapped with an opening / closing `json` codeblock, in an object with an `insights` key, as illustrated by the following screenshot and example:

![langgraph](https://github.com/user-attachments/assets/d1ec75f9-4201-4ade-a876-170fab41f89b)

````
// ...
- Conform exactly to the JSON schema defined earlier
- Do not include explanatory text outside the JSON


"""
```json
{
  "insights": [
  {
    "alertIds": [
      "086469904a1ba57f4114466af23bbe2d0c62dde193a2fd4afd4ba3c4b4fc079f",
      "21ca4e4f082fd68ae2ad9a953fb5cfc9395a1769602011684750e95b36a79a99",
      "7a816e5db9464fcea1ba44ad28f4256e1fce079336bd9c32c9933c12fcdeb901",
      "986503ca78da6496646564a467e5aee9bf7fbb347bf0b017f3a57475f3546fa3"
    ],
    "detailsMarkdown": "- A malicious OneNote file was opened on {{ host.name 23466d50-b193-46cc-86f0-f6dd65902a73 }}\n- This triggered the execution of a suspicious Go application: {{ process.name My Go Application.app }}\n- The Go application then launched a malicious binary {{ file.name unix1 }} located at {{ file.path /Users/james/unix1 }}\n- The malicious binary attempted to access the user's keychain at {{ process.command_line /Users/james/unix1 /Users/james/library/Keychains/login.keychain-db TempTemp1234!! }}\n- Multiple alerts were generated for this malware execution chain",
    "mitreAttackTactics": [
      "Initial Access",
      "Execution",
      "Credential Access"
    ],
    "summaryMarkdown": "A malicious OneNote attachment was opened, leading to the execution of malware on {{ host.name 23466d50-b193-46cc-86f0-f6dd65902a73 }}. The malware was detected as it attempted to access sensitive system files.",
    "title": "Malware Execution from OneNote Attachment",
    "timestamp": "2025-03-25T03:16:20.526Z"
  },
  // ...
]
}
```
"""
````
2025-03-25 16:10:58 -06:00
seanrathier
a1133430ff
[Cloud Security] Warning callout for agentless deployment with traffic filters (#215948) 2025-03-25 23:16:14 +02:00
Ievgen Sorokopud
760b0cfca3
[Security Solution] Move rule actions field and its validation into the common folder (#215494)
## Summary

With this PR we make `RuleActionsField` component and relevant
validations reusable outside of and not bound to the rules management.

As part of the Attack Discovery Scheduling
[feature](https://github.com/elastic/security-team/issues/10142) we
would like to be able to setup schedules (similar to detection rules,
just named differently within the feature space) and be able to add
actions (email, slack, webhook etc.).

Currently `RuleActionsField` lives inside the
`x-pack/solutions/security/plugins/security_solution/public/detection_engine/rule_creation/components/`
folder. We could just reference it from within the Attack Discovery
folder, but for better code structure it will be good to put it into a
common place.

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [x] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
-
https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/8075

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-03-25 20:50:08 +01:00
Tim Sullivan
1b3e27cdb3
[Security Solution navigation] Adapt Dashboard panel for Solution Nav redesign (#213169)
## Summary

Implements "Dashboard" nav link changes from
https://github.com/elastic/kibana/issues/212903. The "Dashboard" nav
item panel has been removed. There is now a standalone link.

**Before**


![dashboard-nav-before](https://github.com/user-attachments/assets/41b1f75b-ba7e-4799-a94f-f7554c4e6888)

**After**


![dashboard-nav-after](https://github.com/user-attachments/assets/6dcd3571-5fa3-4de7-8084-95aa8af1fa40)
2025-03-25 21:12:56 +02:00
Alex Prozorov
c7e829e9e5
[Cloud Security] 198669 add support for multiple CVEs and improve vulnerability data grid, flyout and contextual flyout UI (#213039)
## Summary

Purpose of this PR is to update UI components which display
vulnerabilities in order to support 3rd party integrations and in
particularly Qualys, changes include:

- New column in Default view in table- "Vulnerability Title"
- Renaming "Vulnerability" column to "CVE ID"
- Introducing "Title" (Vulnerability Title) and "Subtitle" (CVE ID) in
vulnerability flyout while also supporting multiple CVEs.
- Update severity handling to be case insensitive across relevant
components - data grid, flyout, contextual flyout and insights tab data
grid.


### Checklist

**Vulnerabilities data grid and Flyout**

- [x] Add new column with header 'Vulnerability Title' and the
underlying field should be 'vulnerability.title' field.
- [x] change existing column with header 'Vulnerability' to 'CVE ID' and
underlying field should be 'vulnerability.id'.
- [x] aggregation query when grouping by CVE should fetch severities to
be case-insensitive - since 3rd party integrations can introduce
severities not in UPPER CASE.
- [x] Components related to vulnerability severity handle supported
severity levels disregarding the case - vulnerabilities flyout and
contextual flyout, data grid and insights tab data table.
- [x] Multiple CVEs under `vulnerability.id` is a supported case in
Vulnerability Findings in Kibana.
- [x] missing `vulnerability.id` is handled gracefully in the UI - data
grid
- [x] missing `vulnerability.id` is handled gracefully in the UI -
flyout

**Insights tab data grid and contextual Flyout**

- [x] Add new column with header 'Vulnerability Title' and the
underlying field should be 'vulnerability.title' field.
- [x] change existing column with header 'Vulnerability' to 'CVE ID' and
underlying field should be 'vulnerability.id'.
- [x] fix redirect link when clicking on a vulnerabilty row that
redirect to the vulnerabilities tab - make sure search params and
filters are working with vulnerability.id array of strings.
- [x] contextual flyout should support severities maps to be case
insensitive.
- [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] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [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)

**The following topics will be merged as part of another PR**
### Vulnerabilities data grid and Flyout
- arrays in package-related vulnerability fields are rendered correctly
in the flyout
- arrays in package-related vulnerability fields are rendered correctly
in the data grid.

### Insights tab data grid and contextual Flyout
- arrays in package-related vulnerability fields are rendered correctly
in the contextual flyout
- arrays in package-related vulnerability fields are rendered correctly
in the insights tab data grid.
**Vulnerabilities data grid grouping**

### Grouping by multi-value fields
- grouping by CVE should be handled properly in the UI.
- each field which might have multiple values - package.name,
package.fixed_version and package.version should be flattened by each
value separately so user have the max value and can group by each value.

### Identify risks
The UI changes in this PR address new integrations which has different
structure to vulnerability fields which might cause UI bugs. Tests were
modified and added to mitigate the risk of encountering issues.

### Screenshots


![Screenshot 2025-03-10 at 16 04
25](https://github.com/user-attachments/assets/8da0974e-dfb3-4aa7-a40f-daaeae53d8f5)

![Screenshot 2025-03-10 at 16 07
04](https://github.com/user-attachments/assets/5d079075-3774-46a1-9098-6e437fbd8e1e)

![Screenshot 2025-03-10 at 16 07
32](https://github.com/user-attachments/assets/5f68bebc-f532-4647-9671-40f41c4b039b)

![Screenshot 2025-03-10 at 16 04
40](https://github.com/user-attachments/assets/8bcba728-f513-434c-b764-5995737216d7)


Grouping before fix by multiple values

![image](https://github.com/user-attachments/assets/21756172-819c-4836-ba3a-79ae9ed6cbad)

Flatten by each value

![image](https://github.com/user-attachments/assets/d329d3f7-b499-4abb-8e40-6c8580be9202)
2025-03-25 17:23:16 +02:00
Charlotte Alexandra Wilson
a296d08990
Add manage_ingest_pipeline privilege check to Risk Engine enablement (#215544)
## Summary

This PR adds the "manage_ingest_pipeline" cluster privilege to
RISK_ENGINE_REQUIRED_ES_CLUSTER_PRIVILEGES.

The Entity Analytics Enablement modal now displays a warning when the
user lacks this privilege and prevents Risk Engine installation, as
required.

### Screenshots 

#### Enablement Modal (installing/enabling)

![Screenshot 2025-03-21 at 17 15
15](https://github.com/user-attachments/assets/c5aba4b7-0850-4714-9df6-aee53e7b10df)

#### Risk Management Page 


![image](https://github.com/user-attachments/assets/5d9e7039-a316-4b72-91f3-31eef5dc8a3d)
2025-03-25 14:20:31 +00:00
Katerina
d975d1960b
[APM] Audit log level apm (#215543)
closes https://github.com/elastic/observability-dev/issues/4411

## Summary

According to
https://docs.elastic.dev/kibana-dev-docs/services/logging#log-level

- audit log level and update it wherever possible 
- merge error logs into one for better analysis 
- log only server errors for HTTP requests 

### Checklist
2025-03-25 16:05:28 +02:00
Philippe Oberti
4b28464520
[Security Solution] Move files from detections folder to detection_engine folder (#215085)
## Summary

This PR is - at its core - only moving a handful of files around. A lot
of of these files lived under the `detections` folder, but were almost
exclusively used in files under the `detection_engine` folder. This is
why the PR seems so huge. Almost everything modified here is only files
imports...

Here are the few files that were actually moved around:

1. The files `detection_engine.tsx`, `detection_engine_no_index.tsx`,
`detection_engine_user_unauthenticated.tsx` (and their respective test
files) have been moved from
`security_solution/public/detections/pages/detection_engine` to
`security_solution/public/detections/pages/alerts`. I thought about
renaming them as well, but felt like there was already enough changes.
Renaming will be done in a follow up PR.

2. The content of the
`security_solution/public/detections/pages/detection_engine/rules`
folder was moved to `security_solution/public/detection_engine/common`
as almost the entire folder content is only used within the
`security_solution/public/detection_engine` folder.

#### Notes

_If there is a better folder for the files moved to the
`detection_engine/common` folder, feel free to suggest. I'll be happy to
make the change!_

The CODEOWNERS file has been updated and simplified accordingly.

Only imports should have been modified. No code, logic or UI changes!

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-03-25 08:51:50 -05:00
Sebastián Zaffarano
82f6a89e62
[Security Solution][Telemetry] Collect additional index stats (#213822)
## Summary

- Collect information about index_failed stats: Adds two new fields,
`index_failed_due_to_version_conflict` and `index_failed` to the
existent
[TELEMETRY_INDEX_STATS_EVENT](933564d713/x-pack/solutions/security/plugins/security_solution/server/lib/telemetry/event_based/events.ts (L325))
EBT event.
- Since the `docs_count`, `docs_deleted` and `docs_total_size_in_bytes`
represent the totals (i.e., primaries and replicas), add the counterpart
`_primaries` fields to collect values from primaries to the existent
[TELEMETRY_INDEX_STATS_EVENT](933564d713/x-pack/solutions/security/plugins/security_solution/server/lib/telemetry/event_based/events.ts (L325))
EBT event
- Add a new `IndexSettings` ebt event with the following information
```js
export interface IndicesSettings {
  items: IndexSettings[];
}

export interface IndexSettings {
  index_name: string;
  default_pipeline?: string;
  final_pipeline?: string;
}
```

### 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] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-03-25 14:18:31 +01:00
Francesco Fagnani
7429c29522
[Synthetics] Fix issue when selecting monitor frequency (#215823)
This PR closes issue #209188.

If the frequency is set to seconds, when setting it back to minutes the
time unit is correctly changed.



https://github.com/user-attachments/assets/1a65b130-9740-41f1-94dc-f97cf887ff1a

---------

Co-authored-by: Shahzad <shahzad31comp@gmail.com>
2025-03-25 14:16:37 +01:00
Pablo Machado
ef7fe99f42
[SecuritySolution] Fix Entity Store init API doesn't check for indices privileges (#215329)
## Summary

* Add privileges check to the entity store init API
* Refactor privileges check code to be reusable
* Move privilege check code to the entity store API client

### How to test it?
* Create a new instance with security solution data
* Create a new user with all cluster and kibana credentials but no index
privileges.
* Login with the unprivileged and call the init API
* It should return a long error msg with all required index patterns.

### 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
2025-03-25 12:48:20 +02:00
Edgar Santos
36adc803b9
[Security Solution] add gap summary information to rule healthcheck internal endpoint (#214364)
## Summary

The healthcheck endpoint is used internally to gather debugging
information for a rule. We would like to enrich this information with a
summary of rule gaps.

More information on issue
[#11949](https://github.com/elastic/security-team/issues/11949)

Co-authored with: @nkhristinin
2025-03-25 09:55:45 +01:00
Alex Szabo
e40b17aa22
Disable allowAbsoluteUrls for axios (#215138)
## Summary
After https://github.com/elastic/kibana/pull/214843, `axios` client
usages need to set a flag to prevent the vulnerable behavior.

To reviewers: if you think it's a mistake, and you created a client to
request for absolute URLs, consider unsetting the `baseURL` to
communicate intent.
2025-03-25 09:52:36 +01:00
Efe Gürkan YALAMAN
01a4ff72e7
[Synonyms] Update Synonyms Text and Enable (#215618)
## Summary

Text in various places updated.
Added some telemetry that was decided.
Small visual changes on empty prompt page.
Added a new example in a collapsible accordion.
Also enables the synonyms plugin by default.

<img width="1637" alt="Screenshot 2025-03-24 at 10 36 26"
src="https://github.com/user-attachments/assets/b02ef4a7-a18f-44b5-a845-d2566102e8ea"
/>
<img width="1627" alt="Screenshot 2025-03-24 at 10 36 40"
src="https://github.com/user-attachments/assets/f7ea1c5e-d82e-497a-b215-5eab7190f041"
/>
<img width="1634" alt="Screenshot 2025-03-24 at 10 36 52"
src="https://github.com/user-attachments/assets/d410bcc1-c075-4b5a-bcb7-11f97c64ffb9"
/>
<img width="825" alt="Screenshot 2025-03-24 at 10 37 00"
src="https://github.com/user-attachments/assets/8a9e7567-5dbd-4238-8f8b-297b78a4dcac"
/>




### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ] [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
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [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)

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-03-25 00:30:55 +01:00
Marshall Main
58190211b8
[Security Solution][Detection Engine] Remove experimentalFeatures, bulkCreateFactory, enrichEvents factory (#214856)
## Summary

Another follow up to https://github.com/elastic/kibana/pull/212694

- Removes `alertWithSuppression` from `sharedParams` since it's already
available on `services`
- Updates the type of `services` throughout DE executor logic to
properly represent that it has `alertWithSuppression`
- Removes `experimentalFeatures` as a param from functions that no
longer need it
- Converts `bulkCreate` from a factory to a const function
- Converts `enrichAlerts` from a factory to a const function - but
enrichment logic is still passed to the persistence functions as a
function. Now it's just one layer of factories instead of two.
- Renames types related to `enrichAlerts` to match the function
names/responsibilities better

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-03-24 16:08:45 -04:00
Pablo Machado
6cdbeb9537
[SecuritySolution] Fix host details flyout left panel tabs (#215672)
## Summary

Fix Unable to switch between Risk Contributions and Insights on host
details flyout.


**Pre Conditions**
1. Alerts should be available on Kibana.
2. Entity Risk Score must be enabled.

**Steps**
1. Navigate to a page where the flyout is available.
3. For any Entity, open details flyout
4. Expand Details flyout (left panel).
5. Observe that the user cannot switch between `Risk Contributions` and
`Insights` tabs.

**Expected Result**
The user should be able to switch between `Risk Contributions` and
`Insights` tabs.

**Screen Recording**


https://github.com/user-attachments/assets/3aae6291-5b5b-49a4-83c2-ac657e4e9524


### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [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
2025-03-24 14:47:15 -05:00
Georgii Gorbachev
a9106c6990
[Security Solution] Rework test plan for importing prebuilt rules (#213434)
**Epic:** https://github.com/elastic/kibana/issues/174168
**Partially addresses:**
https://github.com/elastic/kibana/issues/202079,
https://github.com/elastic/kibana/issues/210358

## Summary

We started to rework and introduce functional changes to our existing
test plans for prebuilt rule customization, upgrade, and export/import
workflows.

Specifically, this PR:

- Restructures the test plan, introduces a more fine-grained list of
sections.
- Rewrites almost all the existing scenarios. In most cases it boils
down to splitting a scenario into 2+ more specific scenarios, where each
describes _exactly_ what happens in the GIVEN and THEN sections. This is
very important, as it:
- makes these scenarios ready to be implemented right away: 1 scenario =
1 test to write
  - helps with ensuring that we covered edge cases
- Adds new scenarios for handling missing base versions according to
[#210358](https://github.com/elastic/kibana/issues/210358).
- Adds a placeholder section for licensing scenarios according to
[#11502](https://github.com/elastic/security-team/issues/11502).
- Removes scenarios for the `overwrite` request parameter - this is
common importing logic which is not related to prebuilt rules.
- Addresses my own comments from [this
review](https://github.com/elastic/kibana/pull/206893#pullrequestreview-2633863218).

The new test plan should be in line with the changes discussed in
https://github.com/elastic/kibana/issues/210358.
2025-03-24 19:00:36 +00:00
Brad White
31aa294124
Storybook 8 Upgrade Follow Up (#214684)
## Summary

These Stories were missed in [Upgrade to Storybook 8
(#195148)](https://github.com/elastic/kibana/pull/195148) and should be
migrated to the same format as other stories for consistency and to make
future migrations easier. They technically work in SB8, I forgot to run
the migration script again later on while working on the original PR.

The changes have already been backported to #214680 and #214681
2025-03-24 20:28:19 +02:00
Kevin Delemme
80c782d863
chore(slo): colocate state to avoid react re-rendering (#215558) 2025-03-24 14:25:02 -04:00
Agustina Nahir Ruidiaz
f723aa25d9
[Security Solution] Adding video links to the onboarding cards selector (#215215)
## Summary

This PR adds the provided onboarding videos to the corresponding
thumbnail cards in the onboarding experience.
https://github.com/elastic/kibana/issues/215212
The videos have been placed as follows:


https://github.com/user-attachments/assets/38254883-6a7d-46ac-bac7-df1334d66e3f


`Rules Card`

[Video 1](https://videos.elastic.co/watch/2q7LSLrsC8qEFQUNHFu9zf)
[Video 2](https://videos.elastic.co/watch/jpy1CcpBuowsA4a8t7gNDE)

`Alerts Card`

[Video 1](https://videos.elastic.co/watch/Qgt9SCJqLmMN7P289ffSo4)
[Video 2](https://videos.elastic.co/watch/nXC8MSkzDBWajoXWJ3QeQp)
[Video 3](https://videos.elastic.co/watch/VSvxJeSQzrFN9K6hdeLz58)
[Video 4](https://videos.elastic.co/watch/evxFZ8dqfjH6SGPtRriyE6)

`Dashboards Card`

[Video 1](https://videos.elastic.co/watch/5UvJBpzFVoEfpDLnjzTbfn)
[Video 2](https://videos.elastic.co/watch/SpKecbJxeYWzXVpGvgxMah)

### Checklist

Check the PR satisfies following conditions. 

- [x] UI Layout: Verify that the added videos do not break the existing
layout or cause issues.

Co-authored-by: Michael Olorunnisola <michael.olorunnisola@elastic.co>
2025-03-24 20:23:49 +02:00
Sergi Romeu
7512aa30fa
[A11y][APM] Add aria-label to "Try our new inventory" button (#215633)
## Summary

Fixes #210253

This PR adds an `aria-label` with the same content as the tooltip to
solve the "Button must have a discernible text" A11y critical issue.

## How to test
1. Download the [axe
devtools](https://chromewebstore.google.com/detail/axe-devtools-web-accessib/lhdoppojpmngadmnindnejefpokejbdd)
2. Enable ECO feature flag
3. Go into service inventory and run the scanner from axe devtools
4. You should see a critical error
5. Checkout this branch
6. Error should be solved

---------

Co-authored-by: Carlos Crespo <crespocarlos@users.noreply.github.com>
2025-03-24 18:12:15 +02:00
Viduni Wickramarachchi
1c738f6e13
[Obs AI Assistant] Update EIS Elastic LLM naming (#215659)
Closes https://github.com/elastic/obs-ai-assistant-team/issues/236

## Summary

1. Renames name of model in model settings in search playground from
`Elastic LLM (AI Connector)` to `Elastic LLM`.

<img width="1616" alt="image"
src="https://github.com/user-attachments/assets/0be2ac02-1fcf-4167-b06e-de2e5af2f529"
/>

2. Renames the description of the Elastic LLM in the stack connector
flyout to `Use the Elastic LLM for your chat and RAG usecases.`

<img width="1620" alt="image"
src="https://github.com/user-attachments/assets/15ad52de-c916-4653-bf06-ccf4adeff170"
/>

### Checklist

- [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)
2025-03-24 21:41:19 +05:30
Julia Bardi
33db17768f
[Fleet] Use fleet error in cspm plugin (#215625)
## Summary

Closes https://github.com/elastic/ingest-dev/issues/5266

Changed Error to FleetError in CSPM so that the error response code is
400 instead of 500.
500 is not appropriate, it triggers alerts in our serverless SLOs.

<img width="1777" alt="image"
src="https://github.com/user-attachments/assets/b9b0e8cf-db54-427a-bc45-db0b806a150f"
/>
2025-03-24 17:05:38 +01:00
Florian Lehner
7c4af051b2
[Profiling] Add FrameType and color for Go (#215697)
## Summary

OTel Semantic Conventions
[defines](https://github.com/open-telemetry/semantic-conventions/pull/2003)
a type for Go and OTel eBPF profiler is about to start with pushing Go
frames (either with
https://github.com/open-telemetry/opentelemetry-ebpf-profiler/pull/409
or
https://github.com/open-telemetry/opentelemetry-ebpf-profiler/pull/408)

FYI: @elastic/ingest-otel-data 

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] ~~Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)~~
not relevant
- [ ]
~~[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials~~ not
relevant
- [ ] ~~[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~~ not relevant
- [ ] ~~If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)~~
not relevant
- [ ] ~~This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.~~
not relevant
- [ ] ~~[Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed~~ not relevant
- [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)
- `release_note:skip`

Signed-off-by: Florian Lehner <florian.lehner@elastic.co>
2025-03-24 16:05:07 +01:00
Edgar Santos
a66dbcb8c9
[Security Solution] Update rules dashboard to include rule gaps histogram (#214694)
## Summary
This PR adds a rule gaps histogram that shows users how many rules had
gaps at any given time. They will also be able to see how many gaps have
been filled and how many are being filled.
See the images below which show what the dashboard looks like today, and
what it looks like after these changes.

## How was this tested?
I ran a script to create 100 rules with gaps, then I made the changes in
the dashboard JSON file and called the `POST
/internal/detection_engine/health/_setup` endpoint to apply them in my
local version of Kibana.

### Before

![before_dashboard](https://github.com/user-attachments/assets/12c61404-20fd-4a6c-a888-7efd7cf535ff)

### After

![after_dashboard](https://github.com/user-attachments/assets/7d3829f9-cbd4-423f-98db-0ee792f25699)
2025-03-24 15:58:55 +01:00
Charlotte Alexandra Wilson
19d2776b18
Entity Analytics Dashboard refresh button breaks risk score tables: refetchEnginestatus Fix (#215472)
## Summary

This PR fixes the issue where clicking the refresh button, the risk
score panel throws errors, and the table displays no data.
The root cause was that the `refetchAll` callback did not include
`refetchEngineStatus`, which is responsible for refreshing the risk
engine status. As a result, the risk engine status
`hasEngineBeenInstalled` could become stale, leading to incorrect
behavior.

### Reproduce bug
(as per [#12017](https://github.com/elastic/security-team/issues/12017))

**Preconditions** 

Kibana started with user and host data
Alerts created
Enable risk engine
To Reproduce

**Steps to reproduce the behavior:**

Open the page and press refresh
Expected behavior
All panels should refresh

### Screenshots: Fixed Version
The bug appeared only on the static time options - "Today" and "This
Week". Fixed for both, confirmed working for the other options.



https://github.com/user-attachments/assets/bf2866cf-4e16-466f-8686-0c1b0bf5e7cb
2025-03-24 14:51:37 +00:00
Nikita Indik
2929f2857d
[Security Solution] Update prebuilt rule customization test plans to reflect licensing changes (#215008)
**Partially addresses: https://github.com/elastic/kibana/issues/202068**
**Related PR with licensing checks implementation:
https://github.com/elastic/kibana/pull/206079**

## Summary
This PR updates the Prebuilt Rule Customization test plan to reflect
[recent changes](https://github.com/elastic/kibana/pull/206079) related
to licensing.

Changes to rule upgrade scenarios will be handled in a separate PR.
2025-03-24 14:50:34 +00:00
Justin Kambic
74f87d99bc
[Synthetics] Only return 404 if screenshot_ref is truly not present (#215241)
## Summary

Right now we return a 404 anytime that the data we're looking for on the
`screenshot_ref` route is not satisfactory. We do an io-ts check on the
data before returning. It's possible that that data will fail the check,
and we'd return a 404 anyway. This isn't a very accurate reflection of
what's happening on the server, and could indicate a problem with the
user's data.

Instead, we first check if the data returned from Elasticsearch is
`null`, and if it is we return a 404. Otherwise, we compute the type
check like normal and return the result. In the case where the data
fails the type check, we instead return a 500 and include the malformed
data in the server response.

Co-authored-by: Faisal Kanout <faisal.kanout@elastic.co>
2025-03-24 10:50:18 -04:00
Miriam
a55e3253e7
[ObsUX][A11y] Add area label to comparison drop down (#215664)
Closes https://github.com/elastic/kibana/issues/210254

Before

<img width="1494" alt="Screenshot 2025-03-24 at 10 51 01"
src="https://github.com/user-attachments/assets/872ca24d-8087-4261-bdf0-19107b13d01a"
/>

After

<img width="1494" alt="Screenshot 2025-03-24 at 10 49 51"
src="https://github.com/user-attachments/assets/6d840f70-41b3-4891-ab91-cf99f3c6a93e"
/>
2025-03-24 13:59:22 +00:00
Sergi Romeu
2654b8c702
[A11y][APM] Add aria-label to popover service in service overview (#215640)
## Summary

Fixes #210258

This PR adds an `aria-label` with the same content as the title to solve
the "Button must have a discernible text" A11y critical issue.

## How to test
1. Download the [axe
devtools](https://chromewebstore.google.com/detail/axe-devtools-web-accessib/lhdoppojpmngadmnindnejefpokejbdd)
2. Go into a service overview and run the scanner from axe devtools
3. You should see a critical error
4. Checkout this branch
5. Error should be solved
2025-03-24 13:54:30 +01:00
Sergi Romeu
6665dd377a
[A11y][APM] Add aria-label to latency selector in service overview (#215644)
## Summary

Fixes #210270

This PR adds an `aria-label` to solve the "Element missing an accessible
name" A11y critical issue.

## How to test
1. Download the [axe
devtools](https://chromewebstore.google.com/detail/axe-devtools-web-accessib/lhdoppojpmngadmnindnejefpokejbdd)
2. Go into a service overview and run the scanner from axe devtools
3. You should see a critical error
4. Checkout this branch
5. Error should be solved
2025-03-24 13:54:17 +01:00
Mykola Harmash
007caa1b55
[Oblt Onboarding][K8S OTel] Use helm upgrade --install (#215160)
Closes #215134

Using `helm upgrade --install` lets the user run the helm command
multiple times to, for example, upgrade to the new version after a stack
release.

![CleanShot 2025-03-19 at 13 48
39@2x](https://github.com/user-attachments/assets/196c8d6d-1046-44d3-8d44-c300fa0418af)

## How to test

1. Run Kibana and navigate to the K8S OTel onboarding flow
2. Execute snippets provided by the flow
3. Copy only the `helm upgrade --install ...` part of the second snippet
and execute it again
4. Make sure the command succeeds

Co-authored-by: Joe Reuter <johannes.reuter@elastic.co>
2025-03-24 14:20:45 +02:00
Viduni Wickramarachchi
505405df5c
[Obs AI Assistant] Fix page height of the AI Assistant app in solution views (#215646)
Closes https://github.com/elastic/kibana/issues/215637

## Summary

In solution views the AI Assistant page doesn't take up the full
viewport height because a hardcoded value is used.
This PR fixes this issue by using `kbn/eui` variables instead.

Before:

<img width="1619" alt="image"
src="https://github.com/user-attachments/assets/5c94c325-1a15-49da-b162-beb15431a732"
/>

After:

<img width="1621" alt="image"
src="https://github.com/user-attachments/assets/88e0610e-cbfb-4266-a0fa-c19f031bbb93"
/>


### Checklist

- [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)
2025-03-24 17:46:46 +05:30
Tim Rühsen
25067aeb4b
[profiling] Add color for Executable flamegraph nodes (#215552)
Adds a type and color for `Executable` flamegraph nodes.

The new type will be used by [this
change](https://github.com/elastic/elasticsearch/pull/119115) in the ES
profiling plugin (the required code change from grouping by process name
to grouping by executable name needs tbd).
2025-03-24 08:56:46 -03:00
Kevin Delemme
f5424e0c51
feat(slo): add saved query (#215566)
Resolves https://github.com/elastic/kibana/issues/214478

## Summary

Add options to save query and load saved query to the various
QueryBuilder used in the SLO form.



https://github.com/user-attachments/assets/dbc614a9-add1-4781-b577-e5abc2b8ea24
2025-03-21 19:45:53 -04:00
Andrew Macri
d52c5ed85c
[Security Solution] [Attack discovery] Prompt updates (#215578)
## [Security Solution] [Attack discovery] Prompt updates

This PR contains updates to the following Attack discovery prompts:

- `attackDiscoveryPrompt`
- `continuePrompt`
- `refinePrompt`

Thank you @mgarzon for these improvements!
2025-03-21 17:06:37 -06:00
Philippe Oberti
d46bd47d7b
[AI4DSOC] Alert summary dataview (#215265)
## Summary

This PR continues and finalizes the pre-work done in
https://github.com/elastic/kibana/pull/214889. Once this PR is merged,
the actual alert summary page content implementation will begin. We need
a dataView to be created before being able to fetch any data. The
`wrapper.tsx` component creates a dataView.
- While the dataView is being created, a loading skeleton mimicking the
future layout of the alert summary page is rendered.
- If the dataView fails to be correctly created (meaning if it comes
back undefined or without an id) we show an error message.
- If the dataView is correctly created, we continue to the alert summary
page (currently just a div)


https://github.com/user-attachments/assets/f1c8f63e-30a0-4186-94b6-f18a18a89218

![Screenshot 2025-03-20 at 12 09
02 AM](https://github.com/user-attachments/assets/8ad6055b-1788-4372-afc1-af33e75cb29a)

## How to test

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`

### Notes

You'll need to either have some AI for SOC integrations installed, or
more easily you can change the `alert_summary.tsx` line 38 from `if
(installedPackages.length === 0) {` to `if (installedPackages.length >
0) {` to force the wrapper component to render.

### Checklist

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [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
2025-03-21 14:25:00 -05:00
jennypavlova
42a66131c5
[APM] Fix: Add missing user_agent version field and show it on the trace summary (#215403)
Closes #215229 

## Summary

This PR adds the `USER_AGENT_VERSION` missing field to the
`optionalFields` query fields

## Testing

- Find a trace with user agent version (on the edge oblt we have it for
`elastic-co-frontend` for example)
- Go to the transaction tab (in case of `elastic-co-frontend` click on
`/blog/:id`)
If the user agent version is available it should be visible in the trace
summary:

<img width="1155" alt="image"
src="https://github.com/user-attachments/assets/75b7e331-44d0-4d1c-8060-815c269e23c9"
/>
2025-03-21 18:33:01 +01:00
Philippe Oberti
11a512e735
[AI4DSOC] Alert summary landing page (#215246)
## Summary

This PR continues the work done in
https://github.com/elastic/kibana/pull/214889 and implements the landing
page for the new alert summary page. This landing page should only be
visible by users if none of the AI for SOC integrations have been
installed (more info in [the previous
PR](https://github.com/elastic/kibana/pull/214889)).

The landing page consist of 2 main sections:
- the top section with a title and an image
- the bottom section where we list the top 2 AI for SOC integrations -
Splunk and GoogleSecOps - which are clickable and will redirect the
users to the respective integration detail pages, as well as a `View all
integrations` button which will redirect the users to the integrations
page.

![Screenshot 2025-03-19 at 3 37
46 PM](https://github.com/user-attachments/assets/311bb9b9-1bd3-4c7a-bcb9-f929d459aa70)


https://github.com/user-attachments/assets/0d15a65d-7f2e-4e2d-9919-896f5532f08c

Link to mocks:
https://www.figma.com/design/DYs7j4GQdAhg7aWTLI4R69/AI4DSOC?node-id=4408-128249&t=GaxMP8OEZ9Qsjl0R-0

### Notes

- The current image is only temporary and acts as a placeholder while
the UIUX team is creating a gif or video (no ETA on when it will be
available).
- The integration links are subject to change in the future, but that
work is handled by a different team and as not being completed yet

## How to test

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`

### Checklist

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [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

Contributes to https://github.com/elastic/security-team/issues/11979
2025-03-21 11:42:08 -05:00
Gergő Ábrahám
a3f6c179b2
[EDR Workflows] Enable skipped defend workflows management cypress tests - response console processes (#215467)
## Summary

this PR unskips and fixes defend workflows cypress tests

flaky runner:
https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/8073
- 50/50 ESS cypress 
- serverless  - lot of serverless tests failed because of metering
cypress test, but not because of processes test

> [!note]
> flaky runner was performed together with metering cypress test (see
https://github.com/elastic/kibana/issues/187083), which is indeed flaky,
so it's removed from this PR


- closes: https://github.com/elastic/kibana/issues/170371
- closes: https://github.com/elastic/kibana/issues/170370
- needs to be backported to 8.18, 8.x, 9.0

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [x] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
2025-03-21 17:06:09 +02:00