Skip to content

Commit 52cb13f

Browse files
Merge branch 'main' into 5771-defend-data-volume
2 parents ea0fe7a + 7f4f23b commit 52cb13f

File tree

712 files changed

+19462
-17708
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

712 files changed

+19462
-17708
lines changed

.backportrc.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
22
"upstream": "elastic/security-docs",
3-
"branches": ["8.x", "8.15", "8.14", "8.13", "8.12", "8.11", "8.10", "8.9", "8.8", "8.7", "8.6", "8.5", "8.4", "8.3", "8.2", "8.1", "8.0", "7.17", "7.16", "7.15", "7.14", "7.13", "7.12", "7.11", "7.10", "7.9", "7.8"],
3+
"branches": ["8.x", "8.16", "8.15", "8.14", "8.13", "8.12", "8.11", "8.10", "8.9", "8.8", "8.7", "8.6", "8.5", "8.4", "8.3", "8.2", "8.1", "8.0", "7.17", "7.16", "7.15", "7.14", "7.13", "7.12", "7.11", "7.10", "7.9", "7.8"],
44
"labels": ["backport"]
55
}

.mergify.yml

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,33 @@ pull_request_rules:
1313
git merge upstream/{{base}}
1414
git push upstream {{head}}
1515
```
16+
- name: backport patches to main branch
17+
conditions:
18+
- merged
19+
- label=backport-main
20+
actions:
21+
backport:
22+
assignees:
23+
- "{{ author }}"
24+
labels:
25+
- "backport"
26+
branches:
27+
- "main"
28+
title: "[{{ destination_branch }}] {{ title }} (backport #{{ number }})"
29+
- name: backport patches to 8.17 branch
30+
conditions:
31+
- merged
32+
- base=main
33+
- label=v8.17.0
34+
actions:
35+
backport:
36+
assignees:
37+
- "{{ author }}"
38+
branches:
39+
- "8.x"
40+
title: "[{{ destination_branch }}] {{ title }} (backport #{{ number }})"
41+
labels:
42+
- backport
1643
- name: backport patches to 8.16 branch
1744
conditions:
1845
- merged
@@ -23,7 +50,7 @@ pull_request_rules:
2350
assignees:
2451
- "{{ author }}"
2552
branches:
26-
- "8.x"
53+
- "8.16"
2754
title: "[{{ destination_branch }}] {{ title }} (backport #{{ number }})"
2855
labels:
2956
- backport

README.md

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -9,36 +9,32 @@ Documentation Manager: Janeen Roberts (Github: `@jmikell821`)
99

1010
## Contributing to Elastic Security docs
1111

12-
You can open an issue using the appropriate [template](https://github.com/elastic/security-docs/issues/new/choose).
12+
You can open an issue using the appropriate [template](https://github.com/elastic/security-docs/issues/new/choose).
1313

1414
> [!NOTE]
15-
> Please report any **known issues** that need to be documented by creating an issue in our [private repo](https://github.com/elastic/security-docs-internal/issues) using the known issue template.
15+
> Please report any **known issues** that need to be documented by creating an issue in our [private repo](https://github.com/elastic/security-docs-internal/issues) using the known issue template.
1616
1717
To contribute directly to Elastic Security documentation:
1818

19-
1. Please fork and clone the `security-docs` repo.
20-
1. Check out the `main` branch and fetch the latest changes.
21-
1. Check out a new branch and make your changes.
22-
1. Save your changes and open a pull request.
23-
1. Add all appropriate Github users as reviewers.
24-
1. Add the appropriate release version label, backport version label if appropriate, and team label to the PR.
25-
1. If your PR changes any [serverless docs content](https://github.com/elastic/security-docs/tree/main/docs/serverless), add the label `ci:doc-build` to generate a preview of the serverless docs on the PR.
26-
1. Once the docs team approves all changes, you can merge it. If a backport version label was added to a PR for stack versions 7.14.0 and newer, mergify will automatically open a backport PR.
27-
1. Merge the backport PR once it passes all CI checks.
19+
1. Please fork and clone the `security-docs` repo.
20+
1. Check out the `main` branch and fetch the latest changes.
21+
1. Check out a new branch and make your changes.
22+
1. Save your changes and open a pull request.
23+
1. Add all appropriate Github users as reviewers.
24+
1. Add the appropriate release version label, backport version label if appropriate, and team label to the PR.
25+
1. Once the docs team approves all changes, you can merge it. If a backport version label was added to a PR for stack versions 7.14.0 and newer, mergify will automatically open a backport PR.
26+
1. Merge the backport PR once it passes all CI checks.
2827

2928
### Preview documentation changes
3029

3130
When you open a pull request, preview links are automatically added as a comment in the PR. Once the CI check builds successfully, the links will be live and you can click them to preview your changes.
3231

33-
For stateful docs, you also might want to add targeted links to help reviewers find specific pages related to your PR. Preview URLs include the following pattern (replace `<YOUR_PR_NUMBER_HERE>` with the PR number):
32+
You also might want to add targeted links to help reviewers find specific pages related to your PR. Preview URLs include the following pattern (replace `<YOUR_PR_NUMBER_HERE>` with the PR number):
3433

3534
```
3635
https://security-docs_bk_<YOUR_PR_NUMBER_HERE>.docs-preview.app.elstc.co/guide/en/security/master/
3736
```
3837

39-
> [!NOTE]
40-
> Serverless docs previews don't allow targeted links, because the id in the URL changes with each rebuild.
41-
4238
## License
4339

4440
Shield: [![CC BY-NC-ND 4.0][cc-by-nc-nd-shield]][cc-by-nc-nd]

docs/AI-for-security/ai-for-security.asciidoc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[[ai-for-security]]
2-
= AI for security
2+
= AI for Security
33

44
:frontmatter-description: Learn to use AI capabilities in {elastic-sec}.
55
:frontmatter-tags-products: [security]
@@ -9,6 +9,8 @@
99
You can use {elastic-sec}'s built-in AI tools to speed up your work and augment your team's capabilities. The pages in this section describe <<security-assistant, AI Assistant>>, which answers questions and enhances your workflows throughout {elastic-sec}, and <<attack-discovery, Attack discovery>>, which speeds up the triage process by finding patterns and identifying attacks spanning multiple alerts.
1010

1111
include::ai-security-assistant.asciidoc[leveloffset=+1]
12+
include::knowledge-base.asciidoc[leveloffset=+2]
13+
1214
include::attack-discovery.asciidoc[leveloffset=+1]
1315

1416
include::connector-guides-landing-pg.asciidoc[leveloffset=+1]

docs/AI-for-security/ai-security-assistant.asciidoc

Lines changed: 22 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ WARNING: The Elastic AI Assistant is designed to enhance your analysis with smar
2424

2525
* To set up AI Assistant, you need the **Actions and Connectors : All** {kibana-ref}/kibana-privileges.html[privilege].
2626

27-
* You need an account with a third-party generative AI provider, which AI Assistant uses to generate responses. Supported providers are OpenAI, Azure OpenAI Service, and Amazon Bedrock.
27+
* You need a <<llm-connector-guides, generative AI connector>>, which AI Assistant uses to generate responses.
2828
--
2929

3030
[discrete]
@@ -68,27 +68,25 @@ You can also chat with AI Assistant from several particular pages in {elastic-se
6868
* <<data-quality-dash, Data Quality dashboard>>: Select the *Incompatible fields* tab, then click *Chat*. (This is only available for fields marked red, indicating they're incompatible).
6969
* <<timelines-ui, Timeline>>: Select the *Security Assistant* tab.
7070

71-
NOTE: Each user's chat history and custom quick prompts are automatically saved, so you can leave {elastic-sec} and return to pick up a conversation later.
71+
NOTE: Each user's chat history (up to the 99 most recent conversations) and custom Quick Prompts are automatically saved, so you can leave {elastic-sec} and return to a conversation later. Chat history appears to the left of the AI Assistant chat window, and on the **Conversations** tab of the **AI Assistant settings** menu. To access the settings menu, use the global search field to search for "AI Assistant for Security".
7272

7373
[discrete]
7474
[[interact-with-assistant]]
7575
== Interact with AI Assistant
7676

7777
Use these features to adjust and act on your conversations with AI Assistant:
7878

79-
* Select a _system prompt_ at the beginning of a conversation to establish how detailed and technical you want AI Assistant's answers to be.
79+
* (Optional) Select a _System Prompt_ at the beginning of a conversation by using the **Select Prompt** menu. System Prompts provide context to the model, informing its response. To create a System Prompt, open the System Prompts dropdown menu and click *+ Add new System Prompt...*.
80+
* (Optional) Select a _Quick Prompt_ at the bottom of the chat window to get help writing a prompt for a specific purpose, such as summarizing an alert or converting a query from a legacy SIEM to {elastic-sec}.
8081
+
8182
[role="screenshot"]
82-
image::images/system-prompt.gif[The system prompt drop-down menu,90%]
83+
image::images/quick-prompts.png[Quick Prompts highlighted below a conversation,90%]
8384
+
84-
System prompts provide context to the model, informing its response. To create a custom system prompt, open the system prompts dropdown menu and click *+ Add new system prompt...*.
85-
86-
* Select a _quick prompt_ at the bottom of the chat window to get help writing a prompt for a specific purpose, such as summarizing an alert or converting a query from a legacy SIEM to {elastic-sec}.
85+
* System Prompts and Quick Prompts can also be configured from the corresponding tabs on the **Security AI settings** page.
8786
+
88-
[role="screenshot"]
89-
image::images/quick-prompts.png[Quick prompts highlighted below a conversation,90%]
87+
image::images/assistant-settings-system-prompts.png[The Security AI settings menu's System Prompts tab,90%]
9088
+
91-
Quick prompt availability varies based on contextfor example, the **Alert summarization** quick prompt appears when you open AI Assistant while viewing an alert. To customize existing quick prompts and create new ones, click *Add Quick prompt*.
89+
* Quick Prompt availability varies based on contextfor example, the **Alert summarization** Quick Prompt appears when you open AI Assistant while viewing an alert. To customize existing Quick Prompts and create new ones, click *Add Quick Prompt*.
9290

9391
* In an active conversation, you can use the inline actions that appear on messages to incorporate AI Assistant's responses into your workflows:
9492

@@ -104,22 +102,16 @@ TIP: AI Assistant can remember particular information you tell it to remember. F
104102
[discrete]
105103
[[configure-ai-assistant]]
106104
== Configure AI Assistant
107-
The *Settings* menu (image:images/icon-settings.png[Settings icon,17,17]) allows you to configure default conversations, quick prompts, system prompts, and data anonymization.
108-
109-
[role="screenshot"]
110-
image::images/assistant-settings-menu.png[AI Assistant's settings menu, open to the Conversations tab]
111-
112-
The *Settings* menu has the following tabs:
105+
The *Security AI settings* page allows you to configure AI Assistant. To access it, use the global search field to search for "AI Assistant for Security".
113106

114-
* **Conversations:** When you open AI Assistant from certain pages, such as Timeline or Alerts, it defaults to the relevant conversation type. Choose the default system prompt for each conversation type, the connector, and model (if applicable). The **Streaming** setting controls whether AI Assistant's responses appear word-by-word (streamed), or as a complete block of text. Streaming is currently only available for OpenAI models.
115-
* **Quick Prompts:** Modify existing quick prompts or create new ones. To create a new quick prompt, type a unique name in the *Name* field, then press *enter*. Under *Prompt*, enter or update the quick prompt's text.
116-
* **System Prompts:** Edit existing system prompts or create new ones. To create a new system prompt, type a unique name in the *Name* field, then press *enter*. Under *Prompt*, enter or update the system prompt's text. Under *Contexts*, select where the system prompt should appear.
117-
+
118-
NOTE: To delete a custom prompt, open the *Name* drop-down menu, hover over the prompt you want to delete, and click the *X* that appears. You cannot delete the default prompts.
107+
It has the following tabs:
119108

109+
* **Conversations:** When you open AI Assistant from certain pages, such as **Timeline** or **Alerts**, it defaults to the relevant conversation type. For each conversation type, choose the default System Prompt, the default connector, and the default model (if applicable). The **Streaming** setting controls whether AI Assistant's responses appear word-by-word (streamed), or as a complete block of text. Streaming is currently only available for OpenAI models.
110+
* **Connectors:** Manage all LLM connectors.
111+
* **System Prompts:** Edit existing System Prompts or create new ones. To create a new System Prompt, type a unique name in the *Name* field, then press *enter*. Under *Prompt*, enter or update the System Prompt's text. Under *Contexts*, select where the System Prompt should appear.
112+
* **Quick Prompts:** Modify existing Quick Prompts or create new ones. To create a new Quick Prompt, type a unique name in the *Name* field, then press *enter*. Under *Prompt*, enter or update the Quick Prompt's text.
120113
* **Anonymization:** Select fields to include as plaintext, to obfuscate, and to not send when you provide events to AI Assistant as context. <<ai-assistant-anonymization, Learn more>>.
121-
122-
* **Knowledge base:** Provide additional context to AI Assistant so it can answer questions about {esql} and alerts in your environment. <<ai-assistant-knowledge-base, Learn more>>.
114+
* **Knowledge base:** Provide additional context to AI Assistant. <<ai-assistant-knowledge-base, Learn more>>.
123115

124116
[discrete]
125117
[[ai-assistant-anonymization]]
@@ -131,7 +123,9 @@ NOTE: To delete a custom prompt, open the *Name* drop-down menu, hover over the
131123
To modify Anonymization settings, you need the **Elastic AI Assistant: All** privilege, with **Customize sub-feature privileges** enabled.
132124
--
133125

134-
The **Anonymization** tab of the AI Assistant settings menu allows you to define default data anonymization behavior for events you send to AI Assistant. Fields with **Allowed** toggled on are included in events provided to AI Assistant. **Allowed** fields with **Anonymized** set to **Yes** are included, but with their values obfuscated.
126+
The **Anonymization** tab of the Security AI settings menu allows you to define default data anonymization behavior for events you send to AI Assistant. Fields with **Allowed** toggled on are included in events provided to AI Assistant. **Allowed** fields with **Anonymized** set to **Yes** are included, but with their values obfuscated.
127+
128+
NOTE: You can access anonymization settings directly from the **Attack Discovery** page by clicking the settings (image:images/icon-settings.png[Settings icon,17,17]) button next to the model selection dropdown menu.
135129

136130
[role="screenshot"]
137131
image::images/assistant-anonymization-menu.png[AI Assistant's settings menu, open to the Anonymization tab]
@@ -143,49 +137,17 @@ The *Show anonymized* toggle controls whether you see the obfuscated or plaintex
143137
When you include a particular event as context, such as an alert from the Alerts page, you can adjust anonymization behavior for the specific event. Be sure the anonymization behavior meets your specifications before sending a message with the event attached.
144138

145139
[discrete]
146-
[[ai-assistant-knowledge-base]]
140+
[[ai-assistant-page-knowledge-base]]
147141
=== Knowledge base
148-
beta::[]
149-
150-
The **Knowledge base** tab of the AI Assistant settings menu allows you to enable AI Assistant to answer questions about the Elastic Search Query Language ({esql}), and about alerts in your environment. To use knowledge base, you must <<ml-requirements, enable machine learning>>.
151-
152-
[discrete]
153-
[[rag-for-esql]]
154-
==== Knowledge base for {esql}
155142

156-
NOTE: {esql} is enabled by default in {kib}. It can be
157-
disabled using the `enableESQL` setting from the
158-
{kibana-ref}/advanced-options.html[Advanced Settings]. This will hide the {esql} user interface from various applications. However, users will be able to access existing {esql} artifacts like saved searches and visualizations.
159-
160-
IMPORTANT: {esql} queries generated by AI Assistant might require additional validation. To ensure they're correct, refer to the {ref}/esql-language.html[{esql} documentation].
161-
162-
When this feature is enabled, AI Assistant can help you write an {esql} query for a particular use case, or answer general questions about {esql} syntax and usage. To enable AI Assistant to answer questions about {esql}:
163-
164-
. Turn on the knowledge base by clicking **Setup**. If the **Setup** button doesn't appear, knowledge base is already enabled.
165-
. Click *Save*. The knowledge base is now active. A quick prompt for {esql} queries becomes available, which provides a good starting point for your {esql} conversations and questions.
166-
167-
NOTE: AI Assistant's knowledge base gets additional context from {ml-docs}/ml-nlp-elser.html#download-deploy-elser[Elastic Learned Sparse EncodeR (ELSER)].
168-
169-
[discrete]
170-
[[rag-for-alerts]]
171-
==== Knowledge base for alerts
172-
When this feature is enabled, AI Assistant will receive multiple alerts as context for each of your prompts. It will receive alerts from the last 24 hours that have a status of `open` or `acknowledged`, ordered first by risk score, then by recency. Building block alerts are excluded. This enables it to answer questions about multiple alerts in your environment, rather than just the individual alerts you choose to include as context.
173-
174-
To enable RAG for alerts:
175-
176-
. Turn on the knowledge base by clicking **Setup**. If the **Setup** button doesn't appear, knowledge base is already enabled.
177-
. Use the slider to select the number of alerts to send to AI Assistant. Click **Save**.
178-
+
179-
[role="screenshot"]
180-
image::images/knowledge-base-settings.png["AI Assistant's settings menu open to the Knowledge Base tab",75%]
181-
182-
NOTE: Including a large number of alerts may cause your request to exceed the maximum token length of your third-party generative AI provider. If this happens, try selecting a lower number of alerts to send.
143+
The **Knowledge base** tab of the **Security AI settings** page allows you to enable AI Assistant to remember specified information, and use it as context to improve response quality. To learn more, refer to <<ai-assistant-knowledge-base>>.
183144

184145
[discrete]
185146
[[ai-assistant-queries]]
147+
[[rag-for-esql]]
186148
### Get the most from your queries
187149

188-
Elastic AI Assistant helps you take full advantage of the {elastic-sec} platform to improve your security operations. Its ability to assist you depends on the specificity and detail of your questions. The more context and detail you provide, the more tailored and useful its responses will be.
150+
Elastic AI Assistant allows you to take full advantage of the {elastic-sec} platform to improve your security operations. It can help you write an {esql} query for a particular use case, or answer general questions about how to use the platform. Its ability to assist you depends on the specificity and detail of your questions. The more context and detail you provide, the more tailored and useful its responses will be.
189151

190152
To maximize its usefulness, consider using more detailed prompts or asking for additional information. For instance, after asking for an {esql} query example, you could ask a follow-up question like, “Could you give me some other examples?” You can also ask for clarification or further exposition, for example "Please provide comments explaining the query you just gave."
191153

docs/AI-for-security/api/anonymization-fields-api-find.asciidoc

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
[[anonymization-fields-api-find]]
22
=== Find anonymization fields
33

4+
.New API Reference
5+
[sidebar]
6+
--
7+
For the most up-to-date API details, refer to {api-kibana}/group/endpoint-security-ai-assistant-api[AI Assistant APIs].
8+
--
9+
410
Retrieve a list of anonymization fields that can be included in the LLM context.
511

612
[discrete]

docs/AI-for-security/api/assistant-api-overview.asciidoc

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,10 @@
22
[role="xpack"]
33
== Elastic AI Assistant API
44

5+
.New API Reference
6+
[sidebar]
7+
--
8+
For the most up-to-date API details, refer to {api-kibana}/group/endpoint-security-ai-assistant-api[AI Assistant APIs].
9+
--
10+
511
The Elastic AI Assistant API allows you to interact with and manage Elastic AI Assistant.

docs/AI-for-security/api/bulk-actions-anonymization-fields-api.asciidoc

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
[[bulk-actions-anonymization-fields-api]]
22
=== Bulk anonymization field actions
33

4+
.New API Reference
5+
[sidebar]
6+
--
7+
For the most up-to-date API details, refer to {api-kibana}/group/endpoint-security-ai-assistant-api[AI Assistant APIs].
8+
--
9+
410
Apply a bulk action (create, update, or delete) to multiple anonymization fields. The bulk action is applied to all anonymization fields that match the filter or to the list of anonymization fields by their IDs.
511

612
[discrete]

0 commit comments

Comments
 (0)