Skip to content

Commit 68ce3e7

Browse files
committed
add AI Assistant in Asset Inventory prompts
1 parent 03627dc commit 68ce3e7

File tree

76 files changed

+129
-102
lines changed

Some content is hidden

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

76 files changed

+129
-102
lines changed

packages/security_ai_prompts/changelog.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
11
# newer versions go on top
2+
- version: "1.0.3"
3+
changes:
4+
- description: "Add prompts for AI Assistant in Asset Inventory "
5+
type: enhancement
6+
link: tba
27
- version: "1.0.2"
38
changes:
49
- description: "Fix missing knowledgeHistory"
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@
66
"default": "The suggested remediation message to take for the policy response failure"
77
}
88
},
9-
"id": "security_ai_prompts-12c1ba38-fad8-452d-b3a4-77a2ff800a50",
9+
"id": "security_ai_prompts-023a215b-cbe4-4b84-8785-8a66acf78707",
1010
"type": "security-ai-prompt"
1111
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@
66
"default": "\nAs a world-class cyber security analyst, your task is to analyze a set of security events and accurately identify distinct, comprehensive attack chains. Your analysis should reflect the sophistication of modern cyber attacks, which often span multiple hosts and use diverse techniques.\nKey Principles:\n1. Contextual & Host Analysis: Analyze how attacks may span systems while maintaining focus on specific, traceable relationships across events and timeframes.\n2. Independent Evaluation: Do not assume all events belong to a single attack chain. Separate events into distinct chains when evidence indicates they are unrelated.\nBe mindful that data exfiltration might indicate the culmination of an attack chain, and should typically be linked with the preceding events unless strong evidence points otherwise.\n3. Lateral Movement & Command Structure: For multi-system events, identify potential lateral movement, command-and-control activities, and coordination patterns.\n4. Impact Assessment: Consider high-impact events (e.g., data exfiltration, ransomware, system disruption) as potential stages within the attack chain, but avoid splitting attack chains unless there is clear justification. High-impact events may not mark the end of the attack sequence, so remain open to the possibility of ongoing activities after such events.\nAnalysis Process:\n1. Detail Review: Examine all timestamps, hostnames, usernames, IPs, filenames, and processes across events.\n2. Timeline Construction: Create a chronological map of events across all systems to identify timing patterns and system interactions. When correlating alerts, use kibana.alert.original_time when it's available, as this represents the actual time the event was detected. If kibana.alert.original_time is not available, use @timestamp as the fallback. Ensure events that appear to be part of the same attack chain are properly aligned chronologically.\n3. Indicator Correlation: Identify relationships between events using concrete indicators (file hashes, IPs, C2 signals).\n4. Chain Construction & Validation: Begin by assuming potential connections, then critically evaluate whether events should be separated based on evidence.\n5. TTP Analysis: Identify relevant MITRE ATT&CK tactics for each event, using consistency of TTPs as supporting (not determining) evidence.\n6. Alert Prioritization: Weight your analysis based on alert severity:\n - HIGH severity: Primary indicators of attack chains\n - MEDIUM severity: Supporting evidence\n - LOW severity: Supplementary information unless providing critical links\nOutput Requirements:\n- Provide a narrative summary for each identified attack chain\n- Explain connections between events with concrete evidence\n- Use the special {{ field.name fieldValue }} syntax to reference source data fields. IMPORTANT - LIMIT the details markdown to 2750 characters and summary to 200 characters! This is to prevent hitting output context limits."
77
}
88
},
9-
"id": "security_ai_prompts-39b8bbbd-f9a3-4a78-bea4-a20f4e6e831f",
9+
"id": "security_ai_prompts-031305f9-27a2-4bf9-96ad-0f6eb7d2d98c",
1010
"type": "security-ai-prompt"
1111
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@
66
"default": "Please provide a comprehensive analysis of each selected Elastic Security detection rule, and consider using applicable tools for each part of the below request. Make sure you consider using appropriate tools available to you to fulfill this request. For each rule, include:\n- The rule name and a brief summary of its purpose.\n- The full detection query as published in Elastic’s official detection rules repository.\n- An in-depth explanation of how the query works, including key fields, logic, and detection techniques.\n- The relevance of the rule to modern threats or attack techniques (e.g., MITRE ATT&CK mapping).\n- Typical implications and recommended response actions for an organization if this rule triggers.\n- Any notable false positive considerations or tuning recommendations.\nFormat your response using markdown with clear headers for each rule, code blocks for queries, and concise bullet points for explanations."
77
}
88
},
9-
"id": "security_ai_prompts-d50690a5-5a55-452d-8bc3-5388571146be",
9+
"id": "security_ai_prompts-059c5b04-2acf-41ac-a947-bc3f8dd5ea56",
1010
"type": "security-ai-prompt"
1111
}

packages/security_ai_prompts/kibana/security_ai_prompt/security_ai_prompts-0831e58b-3c51-421f-b9d0-6dc5ad849441.json

Lines changed: 0 additions & 11 deletions
This file was deleted.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@
66
"default": "You are a helpful assistant for Elastic Security. Assume the following user message is the start of a conversation between you and a user; give this conversation a title based on the content below. DO NOT UNDER ANY CIRCUMSTANCES wrap this title in single or double quotes. This title is shown in a list of conversations to the user, so title it for the user, not for you. As an example, for the given MESSAGE, this is the TITLE:\n\nMESSAGE: I am having trouble with the Elastic Security app.\nTITLE: Troubleshooting Elastic Security app issues\n"
77
}
88
},
9-
"id": "security_ai_prompts-bac96837-7815-4202-b2d8-8f8163d3bd1b",
9+
"id": "security_ai_prompts-08611327-6b99-4a89-8c7d-39eb4c70178a",
1010
"type": "security-ai-prompt"
1111
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@
66
"default": "Can you provide examples of questions I can ask about Elastic Security, such as investigating alerts, running ES|QL queries, incident response, or threat intelligence?"
77
}
88
},
9-
"id": "security_ai_prompts-8c12af7f-f0da-4691-8223-7e4f57c755ef",
9+
"id": "security_ai_prompts-0c983589-1a7e-4b89-a8bb-f080283f14e6",
1010
"type": "security-ai-prompt"
1111
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@
66
"default": "Return **only a single-line stringified JSON object** without any code fences, explanations, or variable assignments. Do **not** wrap the output in triple backticks or any Markdown code block. \n\nThe result must be a valid stringified JSON object that can be directly parsed with `JSON.parse()` in JavaScript.\n\n**Strict rules**:\n- The output must **not** include any code blocks (no triple backticks).\n- The output must be **a string**, ready to be passed directly into `JSON.parse()`.\n- All backslashes (`\\`) must be escaped **twice** (`\\\\\\\\`) so that the string parses correctly in JavaScript.\n- The JSON must follow this structure:\n {{\n \"summary\": \"Markdown-formatted summary with inline code where relevant.\",\n \"recommendedActions\": \"Markdown-formatted action list starting with a `###` header.\"\n }}\n- The summary text should just be text. It does not need any titles or leading items in bold.\n- Markdown formatting should be used inside string values:\n - Use `inline code` (backticks) for technical values like file paths, process names, arguments, etc.\n - Use `**bold**` for emphasis.\n - Use `-` for bullet points.\n - The `recommendedActions` value must start with a `###` header describing the main action dynamically (but **not** include \"Recommended Actions\" as the title).\n- **Do not** include any extra explanation or text. Only return the stringified JSON object.\n\nThe response should look like this:\n{{\"summary\":\"Markdown-formatted summary text.\",\"recommendedActions\":\"Markdown-formatted action list starting with a ### header.\"}}"
77
}
88
},
9-
"id": "security_ai_prompts-ddd55ed8-9429-41b8-98bf-74848af36c60",
9+
"id": "security_ai_prompts-0d6d741e-d5a0-4b84-8daa-739297d0443e",
1010
"type": "security-ai-prompt"
1111
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@
66
"default": "The suggested remediation action to take for the policy response failure"
77
}
88
},
9-
"id": "security_ai_prompts-ac9fb974-d8a7-4f85-9396-41b5c38eeac7",
9+
"id": "security_ai_prompts-0de54b5b-cee0-4112-944b-1b663f286c4c",
1010
"type": "security-ai-prompt"
1111
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@
66
"default": "sparkles"
77
}
88
},
9-
"id": "security_ai_prompts-dcba0634-e295-4417-9ed2-ff9c5ac70efc",
9+
"id": "security_ai_prompts-12e71d64-903f-4e65-b12a-731a6ef34b77",
1010
"type": "security-ai-prompt"
1111
}

0 commit comments

Comments
 (0)