Skip to content

Commit e1319f4

Browse files
Attack Discovery scheduling and saved discoveries
1 parent d32f895 commit e1319f4

File tree

4 files changed

+101
-12
lines changed

4 files changed

+101
-12
lines changed

docs/AI-for-security/attack-discovery.asciidoc

Lines changed: 101 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,6 @@ For a demo, refer to the following video.
2525
++++
2626
=======
2727

28-
This page describes:
29-
30-
* <<attack-discovery-generate-discoveries, How to generate discoveries>>
31-
* <<attack-discovery-what-info, What information each discovery includes>>
32-
* <<attack-discovery-workflows, How you can interact with discoveries to enhance {elastic-sec} workflows>>
33-
3428
[discrete]
3529
[[attack-discovery-rbac]]
3630
== Role-based access control (RBAC) for Attack Discovery
@@ -39,10 +33,39 @@ You need the `Attack Discovery: All` privilege to use Attack Discovery.
3933

4034
image::images/attck-disc-rbac.png[Attack Discovery's RBAC settings,60%]
4135

36+
Your role must also have the following privileges:
37+
38+
[discrete]
39+
[width="100%",options="header"]
40+
|===
41+
|Action |Indices |{es} privileges
42+
43+
|Read Attack Discovery alerts
44+
a|
45+
* `.alerts-security.attack.discovery.alerts-<space-id>`
46+
* `.internal.alerts-security.attack.discovery.alerts-<space-id>`
47+
* `.adhoc.alerts-security.attack.discovery.alerts-<space-id>`
48+
* `.internal.adhoc.alerts-security.attack.discovery.alerts-<space-id>`
49+
| `read`, `view_index_metadata`
50+
51+
a|Read and modify Attack Discovery alerts. This includes:
52+
53+
* Generating discovery alerts manually
54+
* Generating discovery alerts using schedules
55+
* Sharing manually created alerts with other users
56+
* Updating a discovery's status
57+
a|
58+
* `.alerts-security.attack.discovery.alerts-<space-id>`
59+
* `.internal.alerts-security.attack.discovery.alerts-<space-id>`
60+
* `.adhoc.alerts-security.attack.discovery.alerts-<space-id>`
61+
* `.internal.adhoc.alerts-security.attack.discovery.alerts-<space-id>`
62+
|`read`, `view_index_metadata`, `write`, `maintenance`
63+
|===
64+
4265
[discrete]
4366
== Set up Attack Discovery
4467

45-
By default, Attack Discovery analyzes up to 100 alerts from the last 24 hours, but you can customize how many and which alerts it analyzes using the settings menu. To open it, click the gear icon next to the **Generate** button.
68+
By default, Attack Discovery analyzes up to 100 alerts from the last 24 hours, but you can customize how many and which alerts it analyzes using the settings menu. To open it, click the settings icon next to the **Run** button.
4669

4770
image::images/security-attack-discovery-settings.png[Attack Discovery's settings menu,60%]
4871

@@ -54,7 +77,7 @@ You can select which alerts Attack Discovery will process by filtering based on
5477
5578
Attack Discovery is designed for use with alerts based on data that complies with ECS, and by default only analyses ECS-compliant fields. However, you can enable Attack Discovery to review additional fields by following these steps:
5679
57-
1. Select an alert with some of the non-ECS fields you want to analyze, and go to its details flyout. From here, use the **Chat** button to open AI Assistant.
80+
1. Select an alert with some of the non-ECS fields you want to analyze, and go to its details flyout. From here, use the **Ask AI Assistant** button to open AI Assistant.
5881
2. At the bottom of the chat window, the alert's information appears. Click **Edit** to open the anonymization window to this alert's fields.
5982
3. Search for and select the non-ECS fields you want Attack Discovery to analyze. Set them to **Allowed**.
6083
@@ -63,12 +86,12 @@ The selected fields can now be analyzed the next time you run Attack Discovery.
6386

6487
[[attack-discovery-generate-discoveries]]
6588
[discrete]
66-
== Generate discoveries
89+
== Generate discoveries manually
6790

6891
You'll need to select an LLM connector before you can analyze alerts. Attack Discovery uses the same LLM connectors as <<security-assistant>>. To get started:
6992

7093
. Click the **Attack Discovery** page from {elastic-sec}'s navigation menu.
71-
. Select an existing connector from the dropdown menu, or add a new one.
94+
. Click the settings icon next to the **Run** button, then in the settings menu, select an existing connector from the dropdown menu, or add a new one.
7295
+
7396
.Recommended models
7497
[sidebar]
@@ -78,9 +101,9 @@ While Attack Discovery is compatible with many different models, refer to the <<
78101
+
79102
image::images/attck-disc-select-model-empty.png[]
80103
+
81-
. Once you've selected a connector, click **Generate** to start the analysis.
104+
. Once you've selected a connector, click **Save and run** to start the analysis.
82105

83-
It may take from a few seconds up to several minutes to generate discoveries, depending on the number of alerts and the model you selected. Once the analysis is complete, any threats it identifies will appear as discoveries. Click each one’s title to expand or collapse it. Click **Generate** at any time to start the Attack Discovery process again with the selected alerts.
106+
It may take from a few seconds up to several minutes to generate discoveries, depending on the number of alerts and the model you selected. Once the analysis is complete, any threats it identifies will appear as discoveries. Click each one’s title to expand or collapse it. Click **Run** at any time to start the Attack Discovery process again with the selected alerts.
84107

85108
IMPORTANT: Attack Discovery uses the same data anonymization settings as <<security-assistant, Elastic AI Assistant>>. To configure which alert fields are sent to the LLM and which of those fields are obfuscated, use the Elastic AI Assistant settings. Consider the privacy policies of third-party LLMs before sending them sensitive data.
86109

@@ -109,3 +132,69 @@ There are several ways you can incorporate discoveries into your {elastic-sec} w
109132
* Click **View in AI Assistant** to attach the discovery to a conversation with AI Assistant. You can then ask follow-up questions about the discovery or associated alerts.
110133

111134
image::images/add-discovery-to-assistant.gif[Attack Discovery view in AI Assistant]
135+
136+
[[schedule-discoveries]]
137+
[discrete]
138+
== Schedule discoveries
139+
140+
You can define recurring schedules (for example, daily or weekly) to automatically generate attack discoveries without needing manual runs. For example, you can generate discoveries every 24 hours and send a Slack notification to your SecOps channel if discoveries are found. Notifications are sent using configured {kibana-ref}/action-types.html[connectors], such as Slack or email, and you can customize the notification content to tailor alert context to your needs.
141+
142+
NOTE: You can still generate discoveries manually at any time, regardless of an active schedule.
143+
144+
To create a new schedule:
145+
146+
. In the top-right corner, select **Schedule**.
147+
. In the **Attack discovery schedule** flyout, select **Create new schedule**.
148+
. Enter a name for the new schedule.
149+
. Select the LLM connector to use for generating discoveries, or add a new one.
150+
. Use the KQL query bar, time filter, and alerts slider to customize the set of alerts that will be analyzed.
151+
. Define the schedule's frequency (for example, every 24 hours).
152+
. Optionally, select the {kibana-ref}/action-types.html[connectors] to use for receiving notifications, and define their actions.
153+
. Click **Create & enable schedule**.
154+
155+
After creating new schedules, you can view their status, modify them or delete them from the **Attack discovery schedule** flyout.
156+
157+
TIP: Scheduled discoveries are shown with a **Scheduled Attack discovery** icon. Click the icon to view the schedule that created it.
158+
159+
[[saved-discoveries]]
160+
[discrete]
161+
== View saved discoveries
162+
163+
Attack discoveries are automatically saved on the **Attack Discovery** page each time you generate them. Once saved, discoveries remain available for later review, reporting, and tracking over time. This allows you to revisit discoveries to monitor trends, maintain audit trails, and support investigations as your environment evolves.
164+
165+
[discrete]
166+
=== Change a discovery's status
167+
168+
You can set a discovery's status to indicate that it's under active investigation or that it's been resolved. To do this, click **Take action**, then select **Mark as acknowledged** or **Mark as closed**.
169+
170+
You can choose to change the status of only the discovery, or of both the discovery and the alerts associated with it.
171+
172+
[discrete]
173+
=== Share attack discoveries
174+
175+
By default, scheduled discoveries are shared with all users in a {kib} space.
176+
177+
Manually generated discoveries are private by default. To share them, change **Not shared** to **Shared** next to the discovery's name.
178+
179+
NOTE: Once a discovery is shared, its visibility cannot be changed.
180+
181+
[discrete]
182+
=== Take bulk actions
183+
184+
You can take bulk actions on multiple discoveries, such as bulk-changing their status or adding them to a case. To do this, select the checkboxes next to each discovery, then click **Selected *x* Attack discoveries** and choose the action you want to take.
185+
186+
[discrete]
187+
=== Search and filter saved discoveries
188+
189+
You can search and filter saved discoveries to help locate relevant findings.
190+
191+
* Use the search box to perform full-text searches across your generated discoveries.
192+
193+
* **Visibility**: Use this filter to, for example, show only shared discoveries.
194+
195+
* **Status**: Filter discoveries by their current status.
196+
197+
* **Connector**: Filter discoveries by connector name. Connectors that are deleted after discoveries have been generated are shown with a **Deleted** tag.
198+
199+
* Time filter: Adjust the time filter to view discoveries generated within a specific timeframe.
200+
-363 KB
Loading
-37.9 KB
Loading
-112 KB
Loading

0 commit comments

Comments
 (0)