Агент для розслідування інцидентів безпеки: інструменти, кореляція в SIEM і пам'ять
Збираємо агента-помічника для SOC крок за кроком: інструменти для алертів, кореляція логів у SIEM, перевірка репутації IP, внутрішній контекст і пам'ять діалогу, а рішення лишається за аналітиком.
Агент для розслідування інцидентів безпеки добрий рівно настільки, наскільки добрі докази, до яких він може дістатися. Кімната TryHackMe про створення агентів, середньої складності, показує це на прикладі SOC-асистента для вигаданого рітейлера NorthStar Fashion, додаючи по одній можливості за раз. Кімната розташована за адресою tryhackme.com/room/agentbuilding, і все описане нижче призначене для навчання та практики захисту.
Яку задачу розв'язує агент
Аналітикові, який отримав алерт, доводиться збирати факти з багатьох місць. Алерт повідомляє одне, у SIEM лежать пов'язані логи, IP-адреса може мати погану репутацію деінде, а документи компанії пояснюють, як виглядає норма. Зшивати все це вручну довго, і повторювати доводиться для кожного алерту.
Агент із цієї кімнати бере рутину на себе. Він починає з алерту безпеки, збирає доречні докази, шукає пов'язані логи в SIEM і перевіряє зовнішній контекст, наприклад репутацію IP. Потім він читає внутрішню інформацію організації та зводить усе в обґрунтований вердикт, який перевіряє інженер. Саме рішення лишається за людиною.
Чого ви навчитеся
Наприкінці кімнати ви зможете:
- побудувати агента для розслідувань за письмовим описом архітектури
- під'єднати інструменти, які отримують алерти й запитують логи SIEM
- пов'язувати докази за обліковим записом, IP-адресою, пристроєм, типом події та часом
- додавати до кейсу зовнішній і внутрішній контекст
- використовувати пам'ять діалогу, щоб уточнювальні питання не запускали розслідування наново
- видавати підкріплені доказами вердикти, лишаючи останнє слово за аналітиком
Як влаштована лабораторія
Середовище дає доступ до ШІ-моделі через власний ШІ-сервіс TryHackMe. Допоміжний модуль thm_ai.py уже лежить у проєкті. Він відповідає за спілкування із сервісом і використовує тимчасовий токен, виданий лабораторії. Вам не треба самим морочитися з провайдером моделі, обліковими даними чи токенами. Модуль слугує єдиною точкою зв'язку між кодом розслідування та моделлю, тож логіка агента відокремлена від інфраструктури за нею.
Як росте агент
Кожне завдання додає одну можливість, і наприкінці агент уміє поєднувати міркування моделі з дозволеними діями, алертами SIEM, кореляцією логів, репутацією IP, контекстом організації та історією діалогу. Послідовність кімнатою виглядає так:
Task 3 → Define the agent behaviour and connect to the AI
Task 4 → Execute approved alert capabilities
Task 5 → Correlate alerts with SIEM logs
Task 6 → Add external and organisation context
Task 7 → Continue investigations across follow-up questions
Кілька деталей збирання варто запам'ятати.
Під'єднання до моделі. Спершу йдуть інструкції та поведінка агента, потім метод, що надсилає повідомлення в ШІ-сервіс. У відповіді є поле зі згенерованим текстом асистента, який ваш код читає й передає далі.
Дозволені можливості для алертів. Інструменти дають агентові змогу виводити список алертів і отримувати один повний алерт за його ID. Список підтримує посторінковий вивід, і параметр запиту задає, скільки алертів пропустити. На цьому ранньому етапі агент не може отримати із SIEM алерт на кшталт ALT-051, бо пошук логами ще не додано.
Кореляція логів. Ендпоінт пошуку SIEM приймає POST-запит. Умови можна поєднувати логічними операторами, і AND вимагає, щоб обидві умови збіглися в одному й тому самому записі логу. Вправа показує, як працює звуження. Пошук за обліковим записом одного користувача повертає багато логів. Додавання IP-адреси джерела скорочує набір, а додавання пристрою скорочує його ще раз. Кожна додаткова умова перетворює галасливий список на щільну, добре обґрунтовану картину.
Зовнішній та організаційний контекст. Ще дві можливості розширюють огляд агента. check_ip_abuse перевіряє, чи не помічена адреса раніше у шкідливій активності. search_org_details шукає у внутрішніх документах NorthStar Fashion, щоб агент знав, що для цієї компанії вважається нормою.
Пам'ять. Останнє доповнення — історія діалогу, яку зберігає ШІ-сервіс TryHackMe і яку код може отримати окремим методом. Оскільки історію тримає сервіс, агентові не потрібен окремий чекпоінтер LangGraph, щоб пам'ятати розмову. Аналітик може поставити уточнювальне питання, не повторюючи все розслідування.
Готовий агент живе в одному файлі, який поступово збирається впродовж усієї кімнати.
Чому така архітектура працює
Кілька рішень роблять агента надійним, а не просто ефектним:
- Він використовує лише дозволені можливості. Модель не може діяти поза межами під'єднаних вами інструментів.
- Вердикти спираються на докази, які можна простежити до конкретних логів, облікових записів, IP-адрес, пристроїв і часових міток.
- Зовнішні дані про репутацію та внутрішні документи дають контекст, якого немає в самих лише логах.
- Пам'ять зберігає безперервність розслідування, що важливо, коли аналіз потребує більше ніж одного питання.
- За підсумкове рішення з безпеки відповідає людина.
Таке поєднання інструментів, контексту, пам'яті й перевірки людиною — розумний шаблон для будь-якого проєкту автоматизації SOC, чи то тренування в лабораторії, чи система для продакшену.