Учимся создавать агентов для пентеста с использованием React агента от LangGraph. Моя цель — создать AI-агентов, которые помогут автоматизировать часть задач, выполняемых в рамках пентеста.Для стартового проекта я решил создать агента, который умеет анализировать JavaScript файлы, находить скрытые API эндпоинты и проверять их на потенциальные уязвимости.Выбор фреймворкаВ качестве фреймворка я выбрал LangGraph, потому что я уже завершил LangGraph Academy и хорошо понял его. Он популярен, хорошо документирован и есть множество примеров его использования, поэтому начать лучше всего именно с него.До этого мой опыт ограничивался простыми LLM-воркфлоу и связыванием нескольких вызовов. Я все еще не понимал как спроектировать AI-агента, который мог бы «думать» самостоятельно и использовать правильные инструменты. Все изменилось, когда я наткнулся на статью Аншумана Бхартии, которая познакомила меня с ReAct агентом в LangGraph. ReAct расшифровывается как Reasoning + Acting ( оригинальная статья ). Этот подход позволяет агенту использовать инструменты, анализировать результаты и циклически проходить шаги до достижения цели. Метод показался мне достаточно простым для реализации, и я решил построить на его основе свой проект. Многое в моей работе основано на его наработках, за что я выражаю благодарность. В дальнейшем я планирую развивать эту концепцию самостоятельно.Настройка уязвимого приложения Чтобы протестировать своего агента, я создал уязвимое веб-приложение с помощью Python Flask. Внешне приложение выглядит простым, но его исходный код содержит JavaScript файл с несколькими скрытыми API эндпоинтами. Читать далее