From 33e82e3190bc64de8d04d154966145aa5f4f654a Mon Sep 17 00:00:00 2001 From: Pewter71 Date: Wed, 27 May 2026 00:14:30 +0300 Subject: [PATCH] fix review --- b2b/elenkin_petr.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/b2b/elenkin_petr.md b/b2b/elenkin_petr.md index 56e839c..57bfbae 100644 --- a/b2b/elenkin_petr.md +++ b/b2b/elenkin_petr.md @@ -10,7 +10,7 @@ |-------|--------------------------------|---------------------------------------------------------------|-----------------------| | 1 | ООО "Группа компаний "Иннотех" | Инструктаж. | 09.02.2026-09.02.2026 | | 2 | ООО "Группа компаний "Иннотех" | Изучение архитектуры ИИ-агентов на базе платформы OpenClaw. Анализ поверхности атаки и векторов непрямой инъекции промпта. | 10.02.2026-06.03.2026 | -| 3 | ООО "Группа компаний "Иннотех" | Разработка мультимодального Telegram-бота: описание изображений, генерация графиков и архитектурных схем, воспроизведение визуальных материалов с фотографий. | 07.03.2026-16.04.2026 | +| 3 | ООО "Группа компаний "Иннотех" | Разработка мультимодального консольного приложения: описание изображений, генерация графиков и архитектурных схем, воспроизведение визуальных материалов с фотографий. | 07.03.2026-16.04.2026 | | 4 | ООО "Группа компаний "Иннотех" | Изучение существующих фреймворков защиты ИИ-агентов. Разработка почтового защитного фильтра. | 17.04.2026-29.04.2026 | | 5 | ООО "Группа компаний "Иннотех" | Разработка внутреннего фильтра инструментов для OpenClaw. | 30.04.2026-25.05.2026 | | 6 | ООО "Группа компаний "Иннотех" | Тестирование разработанных решений. Анализ производительности, точности детектирования и уровня безопасности. | 26.05.2026-06.06.2026 | @@ -22,7 +22,7 @@ В рамках первого направления практикант провёл анализ уязвимостей агентных систем к атакам типа непрямой инъекции промпта на платформе OpenClaw, изучил существующие промышленные фреймворки защиты, а также исследовал архитектурные подходы к подтверждению действий агента. На основе полученных знаний разработал два защитных механизма. Первый - почтовый фильтр, реализующий двухуровневый анализ входящих писем: сопоставление с базой регулярных выражений и детектирование закодированных вредоносных нагрузок. Второй - внутренний фильтр инструментов, интегрирующийся с OpenClaw на уровне Node.js-загрузчика и перехватывающий вывод всех инструментов агента с применением regex-санитизации и дополнительной LLM-верификации. -В рамках второго направления студент разработал мультифункциональный Telegram-бот, реализующий описание изображений через vision-интерфейс, генерацию matplotlib-графиков по текстовому запросу, построение архитектурных схем, а также функцию воспроизведения графиков и схем непосредственно с фотографий с автоматической классификацией типа изображения. +В рамках второго направления студент разработал мультифункциональное консольное приложение, реализующее описание изображений через vision-интерфейс, генерацию matplotlib-графиков по текстовому запросу, построение архитектурных схем, а также функцию воспроизведения графиков и схем непосредственно с фотографий с автоматической классификацией типа изображения. Практикант продемонстрировал уверенные навыки асинхронного программирования на Python, понимание принципов безопасности языковых моделей, умение проектировать модульные системы и интегрировать сторонние API. Оба разработанных продукта полностью соответствуют индивидуальному заданию и прошли успешное тестирование. @@ -32,7 +32,7 @@ Развитие технологий больших языковых моделей привело к широкому распространению автономных ИИ-агентов, способных не только генерировать текст, но и самостоятельно выполнять действия: читать файлы, отправлять письма, запускать команды в оболочке, обращаться к внешним сервисам. Подобные системы, в частности платформа OpenClaw, открывают новые возможности для автоматизации бизнес-процессов, однако вместе с расширением функционала неизбежно расширяется и поверхность атаки. Основной целью ознакомительной практики являлось двустороннее исследование этой проблемы: изучение уязвимостей агентных систем к атакам через данные и разработка как инструментов визуальной обработки информации, так и защитных механизмов против выявленных угроз. -Работа была организована по двум параллельным направлениям. Первое - анализ безопасности и создание защитных решений в составе команды Red Team лаборатории Lambda. Второе - прикладная разработка мультимодального Telegram-бота, демонстрирующего возможности современных vision-моделей в задачах описания изображений и генерации визуальных материалов. +Работа была организована по двум параллельным направлениям. Первое - анализ безопасности и создание защитных решений. Второе - прикладная разработка мультимодального консольного приложения, демонстрирующего возможности современных vision-моделей в задачах описания изображений и генерации визуальных материалов. Первый этап практики был посвящён глубокому изучению архитектуры ИИ-агентов на базе платформы OpenClaw. В отличие от простых чат-ботов, агенты подобного класса обладают расширенным инструментарием: доступом к файловой системе, возможностью исполнять команды операционной системы, обрабатывать электронную почту и выполнять HTTP-запросы. Взаимодействие агента с окружающей средой организовано через систему навыков - именованных функций, которые языковая модель вызывает в ходе выполнения задания. @@ -50,17 +50,17 @@ Microsoft Presidio представляет собой инструментар Анализ перечисленных решений позволил сформулировать принципы, заложенные в собственные разработки: эшелонированная защита на нескольких уровнях, комбинирование быстрой regex-фильтрации с более точной семантической проверкой, изоляция агента от непроверенного контента до начала его обработки. -Второй задачей практики стала разработка прикладного инструмента, демонстрирующего возможности современных мультимодальных языковых моделей в работе с визуальной информацией. Результатом стал асинхронный Telegram-бот на Python, реализующий четыре самостоятельных функции. +Второй задачей практики стала разработка прикладного инструмента, демонстрирующего возможности современных мультимодальных языковых моделей в работе с визуальной информацией. Результатом стало асинхронное консольное приложение на Python с интерактивным циклом ввода команд, реализующее четыре самостоятельных функции. -Первая функция - описание изображений. При получении фотографии бот кодирует её в Base64 и передаёт в модель через OpenAI-совместимый API с запросом на детальное описание содержимого: объектов, их расположения, цветовой гаммы и общего контекста. Модель возвращает развёрнутое текстовое описание, которое бот пересылает пользователю. Данная функция активируется автоматически при получении любого изображения без специальной команды. +Первая функция - описание изображений. Приложение читает файл с диска, кодирует его в Base64 и передаёт в модель через OpenAI-совместимый API с запросом на детальное описание содержимого: объектов, их расположения, цветовой гаммы и общего контекста. Полученное текстовое описание выводится в терминал. -Вторая функция - генерация графиков по текстовому описанию. Пользователь описывает нужный график в произвольной форме, например «затухающая синусоида на отрезке [0, 10]» или «столбчатая диаграмма продаж по месяцам». Языковая модель генерирует Python-код для библиотеки matplotlib в соответствии с заданными ограничениями: доступны только предварительно импортированные "plt" и "np", запрещены "import", "plt.show()" и запись в файлы. Полученный код исполняется функцией "exec" в ограниченном пространстве имён, где доступен лишь безопасный набор встроенных функций без возможности импорта модулей или файлового ввода-вывода. Результат сохраняется в байтовый буфер и отправляется пользователю в виде PNG-изображения. +Вторая функция - генерация графиков по текстовому описанию. Пользователь описывает нужный график в произвольной форме, например «затухающая синусоида на отрезке [0, 10]» или «столбчатая диаграмма продаж по месяцам». Языковая модель генерирует Python-код для библиотеки matplotlib в соответствии с заданными ограничениями: доступны только предварительно импортированные "plt" и "np", запрещены "import", "plt.show()" и запись в файлы. Полученный код исполняется функцией "exec" в ограниченном пространстве имён, где доступен лишь безопасный набор встроенных функций без возможности импорта модулей или файлового ввода-вывода. Результат сохраняется в файл. -Третья функция - генерация архитектурных схем. Пользователь описывает программную систему, бот просит модель сгенерировать её представление в формате Graphviz DOT. Промпт задаёт строгие соглашения по визуальному оформлению. Полученный DOT-код передаётся в локальный бинарь Graphviz, который рендерит его в PNG. Этот подход принципиально безопаснее исполнения кода через "exec": Graphviz парсит DOT-описание как декларативные данные, не выполняя его как программу, поэтому вредоносная нагрузка, встроенная в промпт, в худшем случае приведёт к визуально некорректной схеме, но не к выполнению нежелательного кода. +Третья функция - генерация архитектурных схем. Пользователь описывает программную систему, приложение просит модель сгенерировать её представление в формате Graphviz DOT. Промпт задаёт строгие соглашения по визуальному оформлению. Полученный DOT-код передаётся в локальный бинарь Graphviz, который рендерит его в файл. Этот подход принципиально безопаснее исполнения кода через "exec": Graphviz парсит DOT-описание как декларативные данные, не выполняя его как программу, поэтому вредоносная нагрузка, встроенная в промпт, в худшем случае приведёт к визуально некорректной схеме, но не к выполнению нежелательного кода. -Четвёртая функция - воспроизведение графика или схемы с фотографии. Пользователь присылает фото уже существующего графика или архитектурной схемы, бот анализирует изображение и воссоздаёт его программным кодом. Процесс реализован в три этапа: сначала vision-модель классифицирует изображение как "plot", "architecture" или "other" и возвращает структурированный JSON-объект, содержащий тип, краткое описание и генерируемый код; затем, в зависимости от типа, код передаётся либо в "render_plot", либо в "render_architecture"; наконец, результирующее изображение отправляется пользователю. Разбор ответа модели реализован с резервным механизмом извлечения JSON-объекта регулярным выражением на случай, если модель добавила пояснения за пределами объекта. Функция реконструирует тип визуализации, структуру данных и связи в собственном стиле. +Четвёртая функция - воспроизведение графика или схемы с фотографии. Пользователь указывает путь к фото уже существующего графика или архитектурной схемы, приложение анализирует изображение и воссоздаёт его программным кодом. Процесс реализован в три этапа: сначала vision-модель классифицирует изображение как "plot", "architecture" или "other" и возвращает структурированный JSON-объект, содержащий тип, краткое описание и генерируемый код; затем, в зависимости от типа, код передаётся либо в "render_plot", либо в "render_architecture"; наконец, результирующее изображение сохраняется в файл. Разбор ответа модели реализован с резервным механизмом извлечения JSON-объекта регулярным выражением на случай, если модель добавила пояснения за пределами объекта. Функция реконструирует тип визуализации, структуру данных и связи в собственном стиле. -Весь бот написан с применением принципов асинхронного программирования на базе библиотеки python-telegram-bot: каждый обработчик Telegram-сообщений является корутиной, а ресурсоёмкое рендерение изображений выполняется в отдельном потоке, чтобы не блокировать цикл событий. Конфигурация вынесена в переменные окружения, что позволяет подключать любого OpenAI-совместимого провайдера, поддерживающего мультимодальные модели. +Приложение построено на принципах асинхронного программирования: каждая функция обработки команды является корутиной, а ресурсоёмкое рендерение изображений выполняется в отдельном потоке, чтобы не блокировать цикл событий. Конфигурация вынесена в переменные окружения, что позволяет подключать любого OpenAI-совместимого провайдера, поддерживающего мультимодальные модели. По результатам командного аудита безопасности и изучения существующих фреймворков были разработаны два самостоятельных защитных инструмента, перекрывающих разные уровни взаимодействия агента с внешними данными. @@ -78,6 +78,6 @@ Microsoft Presidio представляет собой инструментар Middle Python-разработчик со специализацией в LLM-интеграциях должен уверенно владеть асинхронным Python, prompt engineering, интеграцией с LLM API, протоколами передачи данных, регулярными выражениями, модульным проектированием приложений и базовыми принципами информационной безопасности, а также читать техническую документацию на английском языке. Среди soft skills для данного уровня ключевыми являются системное аналитическое мышление, самостоятельность в освоении новых технологий, критический подход к выбору архитектурных решений, навык технического документирования и умение работать в команде. В ходе выполнения индивидуального задания из hard skills были применены: асинхронное программирование, интеграция с OpenAI-совместимым API и настройка мультимодального ввода, prompt engineering для генерации matplotlib-кода и Graphviz DOT, работа с протоколом IMAP SSL, разработка regex-паттернов для детектирования инъекций, межязыковая интеграция Python и Node.js, а также анализ промышленных фреймворков. Из soft skills в работе были задействованы системное мышление при построении эшелонированной архитектуры защиты и критический подход при выборе между regex-фильтрацией и декларативным подходом Colang. Самостоятельное изучение существующих решений стало обязательным этапом перед проектированием собственных инструментов, что отражает требование к middle-специалисту работать без постоянного наставничества. Работа в составе команды при проведении совместного аудита и документирование хода соответствуют компетенциям командного взаимодействия и технического документирования, востребованным на данном уровне. -В ходе ознакомительной практики были реализованы два самостоятельных программных продукта. Мультимодальный Telegram-бот продемонстрировал практическое применение vision-моделей для описания фотографий, а также возможности интеграции LLM для генерации и реконструкции визуальных материалов по текстовому или фотографическому запросу. Комплекс защитных механизмов - почтовый фильтр и внутренний фильтр - образует двухуровневую эшелонированную защиту агента: первый уровень отсекает вредоносный контент на этапе доставки писем, второй перехватывает и очищает вывод инструментов уже внутри агентной сессии. +В ходе ознакомительной практики были реализованы два самостоятельных программных продукта. Мультимодальное консольное приложение продемонстрировало практическое применение vision-моделей для описания фотографий, а также возможности интеграции LLM для генерации и реконструкции визуальных материалов по текстовому или фотографическому запросу. Комплекс защитных механизмов - почтовый фильтр и внутренний фильтр - образует двухуровневую эшелонированную защиту агента: первый уровень отсекает вредоносный контент на этапе доставки писем, второй перехватывает и очищает вывод инструментов уже внутри агентной сессии. Практика позволила получить практические компетенции в области асинхронного программирования на Python, работы с мультимодальными API, изучения промышленных фреймворков защиты, разработки регулярных выражений для обнаружения атак, интеграции Python-модулей с Node.js-окружением и патчинг модулей на уровне загрузчика. Кроме того, был сформирован системный взгляд на проблему безопасности ИИ-агентов: эффективная защита требует эшелонированного подхода - одновременного контроля как на уровне входных данных, так и на уровне внутренних инструментов агента. \ No newline at end of file