Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Creates AI Assistant use cases section #5303

Merged
merged 13 commits into from
Jun 7, 2024
Merged
Show file tree
Hide file tree
Changes from 10 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/assistant/ai-alert-triage.asciidoc
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[[assistant-triage]]
= Triage alerts with Elastic AI Assistant
= Triage alerts
Elastic AI Assistant can help you enhance and streamline your alert triage workflows by assessing multiple recent alerts in your environment, and helping you interpret an alert and its context.

When you view an alert in {elastic-sec}, details such as related documents, hosts, and users appear alongside a synopsis of the events that triggered the alert. This data provides a starting point for understanding a potential threat. AI Assistant can answer questions about this data and offer insights and actionable recommendations to remediate the issue.
Expand Down
23 changes: 23 additions & 0 deletions docs/assistant/ai-esql-queries.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
[[esql-queries-assistant]]
= Generate, customize, and learn about {esql} queries

:frontmatter-description: Elastic AI Assistant can help you write ES|QL queries.
benironside marked this conversation as resolved.
Show resolved Hide resolved
:frontmatter-tags-products: [security]
:frontmatter-tags-content-type: [guide]
:frontmatter-tags-user-goals: [get-started]

Elastic AI Assistant can help you learn about and leverage the Elasticsearch Query Language ({esql}).

With AI Assistant's <<ai-assistant-knowledge-base, {esql} knowledge base>> enabled, AI Assistant benefits from specialized training data that enables it to answer questions related to {esql} at an expert level.

AI Assistant can help with {esql} in many ways, including:

* **Education and training**: AI Assistant can serve as a powerful {esql} learning tool. Ask it for examples, explanations of complex queries, and best practices.
benironside marked this conversation as resolved.
Show resolved Hide resolved
* **Writing new queries**: Prompt AI Assistant to provide a query that accomplishes a particular task, and it will generate a query matching your description. For example: "Write a query to identify documents with `curl.exe` usage and calculate the sum of `destination.bytes`" or "What query would return all user logins to [a host] in the last six hours?"
benironside marked this conversation as resolved.
Show resolved Hide resolved
* **Providing feedback to optimize existing queries**: Send AI Assistant a query you want to work on and ask it for improvements, refactoring, a general assessment, or to optimize the query's performance with large data sets.
benironside marked this conversation as resolved.
Show resolved Hide resolved
* **Customizing queries for your environment**: Since each environment is unique, you may need to customize queries that you used in other contexts. AI Assistant can suggest necessary modifications based on contextual information you provide.
* **Troubleshooting**: Having trouble with a query or getting unexpected results? Ask AI Assistant to help you troubleshoot.

In these ways and others, AI Assistant can enable you to make use of {esql}'s advanced search capabilities to accomplish goals across {elastic-sec}.
benironside marked this conversation as resolved.
Show resolved Hide resolved


10 changes: 10 additions & 0 deletions docs/assistant/assistant-use-cases.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
[[assistant-use-cases]]
= AI Assistant use cases

Elastic AI Assistant's flexibility means you can use it for many different purposes. These topics describe some of the possible uses for AI Assistant within {elastic-sec}:

* <<attack-discovery-ai-assistant-incident-reporting>>
* <<assistant-triage>>
* <<esql-queries-assistant>>
benironside marked this conversation as resolved.
Show resolved Hide resolved

For general information about AI Assistant, refer to <<security-assistant, AI Assistant>>.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
11 changes: 11 additions & 0 deletions docs/assistant/llm-connector-guides.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
[[llm-connector-guides]]
= Set up connectors for large language models (LLM)

This section contains instructions for setting up connectors for LLMs so you can use <<security-assistant, Elastic AI Assistant>> and <<attack-discovery, Attack discovery>>.

Setup guides are available for the following LLM providers:

* <<assistant-connect-to-azure-openai, Azure OpenAI>>
* <<assistant-connect-to-bedrock, Amazon Bedrock>>
* <<assistant-connect-to-openai, OpenAI>>

30 changes: 16 additions & 14 deletions docs/assistant/security-assistant.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,11 @@

The Elastic AI Assistant utilizes generative AI to bolster your cybersecurity operations team. It allows users to interact with {elastic-sec} for tasks such as alert investigation, incident response, and query generation or conversion using natural language and much more.

AI Assistant can connect to multiple LLM providers so you can select the best model for your needs.

[role="screenshot"]
image::images/assistant-basic-view.png[Image of AI Assistant chat window,90%]

WARNING: The Elastic AI Assistant is designed to enhance your analysis with smart dialogues. Its capabilities are still developing. Users should exercise caution as the quality of its responses might vary. Your insights and feedback will help us improve this feature. Always cross-verify AI-generated advice for accuracy.

.Recommended models
[sidebar]
--
While AI Assistant is compatible with many different models, our testing found increased quality with Azure 32k, and faster and more cost-effective responses with Claude 3 Haiku and OpenAI GPT4 Turbo.
--

.Requirements
[sidebar]
--
Expand Down Expand Up @@ -50,9 +42,13 @@ NOTE: Elastic can automatically anonymize event data that you provide to AI Assi
[[set-up-ai-assistant]]
== Set up AI Assistant

You must create a generative AI connector before you can use AI Assistant.
You must create a generative AI connector before you can use AI Assistant. AI Assistant can connect to multiple large language model (LLM) providers so you can select the best model for your needs. To set up a connector, refer to <<llm-connector-guides,LLM connector setup guides>>.

For more information about setting up generative AI connectors, refer to <<assistant-connect-to-bedrock>>, <<assistant-connect-to-openai>>, or <<assistant-connect-to-azure-openai>>.
.Recommended models
[sidebar]
--
While AI Assistant is compatible with many different models, our testing found increased quality with Azure 32k, and faster, more cost-effective responses with Claude 3 Haiku and OpenAI GPT4 Turbo. For more information, refer to the <<llm-performance-matrix>>.
--

[discrete]
[[start-chatting]]
Expand Down Expand Up @@ -193,8 +189,14 @@ In addition to practical advice, AI Assistant can offer conceptual advice, tips,
* “I need to monitor for unusual file creation patterns that could indicate ransomware activity. How would I construct this query using EQL?”


include::ai-alert-triage.asciidoc[leveloffset=+1]
include::assistant-use-cases.asciidoc[leveloffset=+1]
include::ai-alert-triage.asciidoc[leveloffset=+2]
include::use-attack-discovery-ai-assistant-incident-reporting.asciidoc[leveloffset=+2]
include::ai-esql-queries.asciidoc[leveloffset=+2]

include::llm-connector-guides.asciidoc[leveloffset=+1]
include::azure-openai-setup.asciidoc[leveloffset=+2]
include::connect-to-openai.asciidoc[leveloffset=+2]
include::connect-to-bedrock.asciidoc[leveloffset=+2]

include::llm-performance-matrix.asciidoc[leveloffset=+1]
include::azure-openai-setup.asciidoc[leveloffset=+1]
include::connect-to-openai.asciidoc[leveloffset=+1]
include::connect-to-bedrock.asciidoc[leveloffset=+1]
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
[[attack-discovery-ai-assistant-incident-reporting]]
= Identify, investigate, and document threats

:frontmatter-description: Elastic AI Assistant can help you write ES|QL queries.
:frontmatter-tags-products: [security]
:frontmatter-tags-content-type: [guide]
:frontmatter-tags-user-goals: [get-started]

Together, <<security-assistant, Elastic AI Assistant>> and <<attack-discovery,Attack discovery>> can help you identify and mitigate threats, investigate incidents, and generate incident reports in various languages so you can monitor and protect your environment.

In this guide, you'll learn how to:

* <<use-case-incident-reporting-use-attack-discovery-to-identify-threats, Use Attack discovery to identify threats>>
* <<use-case-incident-reporting-use-ai-assistant-to-analyze-a-threat, Use AI Assistant to analyze a threat>>
* <<use-case-incident-reporting-create-a-case-using-ai-assistant,Create a case using AI Assistant>>
* <<use-case-incident-reporting-translate,Translate incident information to a different human language using AI Assistant>>


[discrete]
[[use-case-incident-reporting-use-attack-discovery-to-identify-threats]]
== Use Attack discovery to identify threats
Attack discovery can detect a wide range of threats by finding relationships among alerts that may indicate a coordinated attack. This enables you to comprehend how threats move through and affect your systems. Attack discovery generates a detailed summary of each potential threat, which can serve as the basis for further analysis. Learn how to <<attack-discovery,get started with Attack discovery>>.

image::images/attck-disc-11-alerts-disc.png[An Attack discovery card showing an attack with 11 related alerts,90%]
benironside marked this conversation as resolved.
Show resolved Hide resolved

In the example above, Attack discovery found connections between eleven alerts, and used them to identify and describe an attack chain.

After Attack discovery outlines your threat landscape, use Elastic AI Assistant to quickly analyze a threat in detail.

[discrete]
[[use-case-incident-reporting-use-ai-assistant-to-analyze-a-threat]]
== Use AI Assistant to analyze a threat

From a discovery on the Attack discovery page, click **View in AI Assistant** to start a chat that includes the discovery as context.
benironside marked this conversation as resolved.
Show resolved Hide resolved

AI Assistant can quickly compile essential data and provide suggestions to help you generate an incident report and plan an effective response. You can ask it to provide relevant data or answer questions, such as “How can I remediate this threat?” or “What {esql} query would isolate actions taken by this user?”

image::images/attck-disc-esql-query-gen-example.png[An AI Assistant dialogue in which the user asks for a purpose-built {esql} query,90%]

The image above shows an {esql} query generated by AI Assistant in response to a user prompt. Learn more about <<esql-queries-assistant,using AI Assistant for {esql}>>.

At any point in a conversation with AI Assistant, you can add data, narrative summaries, and other information from its responses to {elastic-sec}'s case management system to generate incident reports.

[discrete]
[[use-case-incident-reporting-create-a-case-using-ai-assistant]]
== Create a case using AI Assistant

From the AI Assistant dialog window, click **Add to case** (image:images/icon-add-to-case.png[Add to case icon,19,16]) next to a message to add the information in that message to a <<cases-overview,case>>. Cases help centralize relevant details in one place for easy sharing with stakeholders.

If you add a message that contains an Attack discovery to a case, AI Assistant automatically adds the attack summary and all associated alerts to the case. You can also add AI Assistant messages that contain remediation steps and relevant data to the case.
benironside marked this conversation as resolved.
Show resolved Hide resolved

[discrete]
[[use-case-incident-reporting-translate]]
== Translate incident information to a different human language using AI Assistant
AI Assistant can translate its findings into other human languages, helping to enable collaboration among global security teams, and making it easier to operate within multilingual organizations.

After AI Assistant provides information in one language, you can ask it to translate its responses. For example, if it provides remediation steps for an incident, you can instruct it to “Translate these remediation steps into Japanese.” You can then add the translated output to a case. This can help team members receive the same information and insights regardless of their primary language.

NOTE: In our internal testing, AI Assistant translations preserved the accuracy of the original content. However, all LLMs can make mistakes, so caution is warranted.
benironside marked this conversation as resolved.
Show resolved Hide resolved