Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Security Solution] [Attack discovery] Overrides default Attack disco…
…very timeouts (elastic#183575) ## [Security Solution] [Attack discovery] Overrides default Attack discovery timeouts ### Summary This PR fixes an issue where Attack discovery requests may be retried when responses from the LLM take longer than two minutes. In LangSmith, the retry looks like the following _before_ screenshot: #### Before ![langsmith_before](https://github.com/elastic/kibana/assets/4459398/b02f016c-c260-43f3-a6cc-1260ca8d99c2) _Above: Before the fix, a retry, shown in LangSmith, for an LLM call > 2 minutes_ After the fix, a single pair for runs > 2 minutes are observed in LangSmith: #### After ![langsmith_after](https://github.com/elastic/kibana/assets/4459398/864ef2d4-f845-4d62-ab30-686211aadf30) _Above: After the fix, a single pair in LangSmith, for an LLM call > 2 minutes_ ### Details This PR overrides the following default timeouts: 1) The attack discovery route's `idleSocket` socket timeout in `x-pack/plugins/elastic_assistant/server/routes/attack_discovery/post_attack_discovery.ts` 2) The connector timeout (also in `x-pack/plugins/elastic_assistant/server/routes/attack_discovery/post_attack_discovery.ts`) 3) The chain timeout in `x-pack/plugins/security_solution/server/assistant/tools/attack_discovery/attack_discovery_tool.ts` with the following defaults: ```typescript const ROUTE_HANDLER_TIMEOUT = 10 * 60 * 1000; // 10 * 60 seconds = 10 minutes const LANG_CHAIN_TIMEOUT = ROUTE_HANDLER_TIMEOUT - 10_000; // 9 minutes 50 seconds const CONNECTOR_TIMEOUT = LANG_CHAIN_TIMEOUT - 10_000; // 9 minutes 40 seconds ``` ### Desk testing 1) Verify there are ~ 100 open alerts in the last 24 hours in your testing environment 2) Navigate to Security > Attack discovery 3) Select an Azure / OpenAI connector 4) Click Generate **Expected results** - LangSmith displays a single pair of `LLMChain` and `AttackDiscovery` runs when the LLM responds (with the final answer) in less than 2 minutes - LangSmith displays a single pair of `LLMChain` and `AttackDiscovery` runs when the LLM takes longer than two minutes to respond (with the final answer), as illustrated by the `before` / `after` screenshots in the description above
- Loading branch information