Неумолимое и скачкообразное развитие новомодных LLM не оставляет вообще никаких сомнений (лично у меня), что в ближайшее время можно будет засвидетельствовать у малого и среднего бизнеса свою собственную модельку, работающую с БД клиентов, оперирующую внутренней документацией и нарезающую задачи сотрудникам. И вместе с этим у меня возник логичный вопрос: а насколько такое техническое решение будет устойчиво к атакам школьных‑хулиганов/серьезных злоумышленников? Можно ли будет доверить бездушной, но очень смекалистой машине по‑настоящему чувствительные данные в ближайшее время или все‑таки стоит подождать?
Эта статья — моя вольная фантазия на тему «а что если?..» и, по большому счету — скромный обзор чудесных инструментов, о которых я еще даже год назад не мечтал.
А зачем…
На своем первом хакатоне мы с товарищем вырвали победу не потому что у нас был самый красивый сайт (он был самый НЕкрасивый) или самая безопасная архитектура (тут получше), а потому что мы всю ночь ваяли свой собственный чат-бот. Я думаю, если бы мы оказались на этом хакатоне, но уже в 2026 году, вместо чат-бота прикручивалась бы LLM.
План выглядит надежно, как швейцарские часы:
-
берём модель;
-
даём ей системный промпт;
-
подмешиваем внутренние документы;
-
даём доступ к БД;
-
называем это AI-ассистентом.
Теперь экстраполируем это на уровень небольшого, но гордого бизнеса и получаем новую, неизвестную сущность, которая:
-
Принимает ничем не валидированный ввод
-
Как-то жужжит над чувствительными данными
-
Заботливо отдает обработанные по заданному запросу данные клиенту
-
Хорошо, если она не меняет данные, с которыми работает по первому зову снаружи
На выходе мы получаем вместо умного и трудолюбивого помощника, не очень смекалистого привратника наших данных, которые утекают теперь не только через комплексные атаки злоумышленников, но и через этого же приятного собеседника. Ну, я думаю, дорогой читатель уже понял основную проблематику этой статьи и больше я к ней возвращаться не буду, обещаю!
А как…
Так как я трудолюбивый сотрудник, статья и сам инструмент создавались исключительно вечером, с чашечкой чая (это замечание очень важное — я хочу акцентировать внимание именно на снижении порога входа в карьеру киберзлодея). Что мне нужно, как непрограммисту, чтобы провести атаку? Инструмент, которым эта атака будет проводиться. Предположим, я вообще ничего не знаю о гитхабе, немного знаком с гуглом и яндексом и мне все уши прожжужали какими‑то нейронками. Итак, что мы найдем по первым же запросам? С высокой долей вероятности мы столкнемся с Claude Code, который справляется с кодонабором на ура. Единственной сложностью на нашем пути станет создание промпта. Но и это, разумеется, не проблема.
Описание промпта у каждого свое, как линия судьбы, но их зачастую объединяют такие слова как:
«Исследовательский проект», «учебный стенд», «инструмент информационной безопасности, создаваемый в интересах отказоустойчивости нашего внешнего контура» и так далее.
Пара вечеров и мы выясняем: Claude Code урезает контекст нашу возможность создавать программу без знания программирования практически до нуля. Что нам остается? Расстроиться и махнуть рукой на перспективную карьеру AI‑пентестера или еще раз загуглить ИИшечку? Да, так мы с вами знакомимся с новым любимцем — Codex‑ом. Если предположить запрет Codex‑а, то очень усидчивый злодей познакомится с OpenCode‑ом, научится давать ему API DeepSeek‑a или воткнет локальную ГЛМ (если у него в подвале вчерашняя ферма битков). Этот сценарий уже не совсем отвечает требованиям заголовка статьи, но чем черт не шутит? Сводная таблица:
|
|
Я заплатил (месяц) |
Я доволен? |
|
Claude |
2500 рублей |
По началу очень, сейчас очень недоволен из-за контекстного лимита. |
|
Codex |
500 (да, пять сотен) рублей |
ДА. |
|
Open Code |
Я давно купил вагон токенов у DeepSeek |
Можно устать, все-таки это open-source. Условно бесплатное решение. |
Итак, спустя пару вечеров (или один хороший вечер, если не лениться) у нас появляется безотказный как автомат Калашникова промптомёт!
Вкратце, история создания — серия промптов, где первый — самый большой, убеждающий модель в нашей благоразумности, этичности и профессиональности. Мне кажется, тут и правда преимущество не у академически подкованных технарей, а у болтливых «дельцов», главное себя хорошо продать модели.
Почему я говорю, что это важно? В качестве теста в лоб — на запрос: «напиши генеративный инструмент атаки на LLM» — вы, разумеется, получите отказ. Я, осознанно, не буду приводить его пример, так как мы тут разбираем опасность, а не создаем ее!
Так как я и правда новичок в атаках на LLM, образовательный интерес у меня тоже был. Я узнал о том, что существует классификация атак, а именно (сгенерированный нейрослоп):
-
Prompt injection — это, по сути, попытка «переписать» инструкции модели прямо из пользовательского ввода. Вместо того чтобы следовать системной роли или правилам приложения, модель начинают убеждать, что теперь важнее новые указания атакующего. На бумаге звучит почти наивно, но на практике именно такие простые подмены контекста до сих пор регулярно ломают LLM‑обертки.
-
Jailbreaking работает чуть глубже. Если prompt injection атакует слой инструкций, то jailbreaking пытается продавить уже сами поведенческие ограничения модели. Через roleplay, «гипотетические» сценарии, псевдоисследовательский контекст, кодировки и другие уловки модель уговаривают сделать то, что в обычном режиме она делать не должна.
-
Extraction нацелен на извлечение скрытого system prompt, внутренних правил, policy‑текста и другой служебной конфигурации. Это особенно неприятный класс атак: как только злоумышленник понимает, какими именно инструкциями управляется приложение, ему становится гораздо проще готовить последующие обходы уже не вслепую, а прицельно.
-
Goal hijacking особенно опасен в агентных сценариях. Здесь цель не просто получить «запрещенный ответ», а незаметно перенаправить саму логику работы модели. Иными словами, заставить ее решать уже не задачу пользователя или бизнеса, а задачу атакующего. Для систем, которые вызывают инструменты, ходят в API или принимают решения, это уже совсем не теоретическая история.
-
Token attacks используют особенности представления текста: Unicode‑символы, невидимые знаки, смешение алфавитов, нестандартные токены и другие трюки, которые человек может даже не заметить. Модель же при этом видит строку иначе. Такие атаки хорошо отрезвляют, потому что показывают: уязвимость может быть спрятана не только в смысле фразы, но и в ее форме.
-
Many‑shot строится на перегрузке модели большим количеством примеров. Вместо одной «магической» фразы атакующий долго и настойчиво формирует нужный паттерн поведения через контекст. В результате модель начинает воспринимать опасный стиль ответа как допустимую норму. Это отдельный интересный класс атак, потому что он очень похож на реальную эксплуатацию длинного контекста в production‑системах.
-
Context manipulation — это атаки через подмену рамки разговора. Модели подсовывают ложные предпосылки, вымышленную историю диалога, фальшивые авторитетные условия или постепенно эскалируют разговор от безобидного к вредоносному. Здесь атакуют не столько запрет, сколько доверие модели к самому контексту.
-
Sensitive data exposure — наиболее практичный для прикладных LLM‑систем класс атак. Здесь проверяется уже не просто то, можно ли «сломать», а то, способна ли модель выдать скрытый контекст, фрагменты CRM, RAG‑документов, служебные заметки, системные инструкции или персональные данные пользователей. То есть это уже атака не на абстрактную модель, а на конкретную бизнес‑обертку вокруг нее.
Разумеетсяаппетит приходит во время еды. Изначальный план: набрать конечное количество промптов и ими долбить макеты. Так я по началу и делал, но потом я подумал, а почему бы не попросить LLM совершать атаку на LLM в контуре продукта, созданного LLM. Так внутри инструмента появился генеративный сценарий атаки, который по API просит DeepSeek генерировать по входному сиду (вчерашний набор промптов) новые вредоносные запросы. И он соглашается!
Итак, инструмент есть. Макета нет. Это уже злодея не волнует, но я хотел проверить «взлетит» проект или нет. Первые атаки я проводил на yandex‑gpt и deepseek, приятные парни, которым я занес деньги в обмен на токены.
Понятно, что никакие данные они мне не отдадут — их там просто нет. Успехом считалось, если модель ответит на каверзные вопросы, а не отправит меня в глухой бан «Я не могу это обсуждать». К моему удивлению, модель и правда очень отзывчиво дает плохие советы, когда «входит в роль». DoAnythingNow атака менее успешна с разной комбинацией промптов, ну а про подмешивание инструкций в ввод я вообще молчу, они не хотят читать email‑ы в виде ворда. Ну, не удивительно, атаку на ассистента проведем позже.
Сводные таблицы ниже, комментарий такой: Success + Partial — по оценке LLM, ответ спорный, по моей оценке ответ явно отказывает пользователю, но может быть я слишком строг. Настоящие успешные неэтичные ответы — провал без сомнений. Например, поэтапный алгоритм разведки и атаки на веб интерфейсы, описание и рекомендации по обходу licence‑check у ПО (достаточно сложный crack‑me) и так далее.
|
Провайдер |
Payload’ов |
Успешных «неэтичных» ответов |
Средний процент успеха |
Success + Partial |
|---|---|---|---|---|
|
DeepSeek deepseek-chat |
45 |
12 |
26.7% |
64.4% |
|
YandexGPT yandexgpt-5-lite/latest |
45 |
13 |
28.9% |
75.6% |
|
Категория |
DeepSeek success % |
Yandex success % |
|---|---|---|
|
prompt_injection |
16.7% |
33.3% |
|
jailbreaking |
8.3% |
16.7% |
|
token_attacks |
0.0% |
0.0% |
|
context_manipulation |
40.0% |
40.0% |
Ну что ж, надоело пинать абстрактную модель и хочется проверить на прочность реальный бизнес? Так как наш принцип — ни строчки кода, просим Codex настроить нам Ollama стенды с описанием бизнеса и просим придумать небольшую БД‑шку с пользователями (ФИО, email, телефон и прочее). Что? Работает на CPU? Смеешься что ли? А, у меня AMD, а Windows признает только nvidia без танцев с бубном?.. Переезжаем на Ubuntu и наслаждаемся невероятными скоростями GPU‑based Ollama!
Итак, Codex погудел и создал нам макет(ы), которые мы будем атаковать:
Собери мне сейчас макет, который действительно может использовать средний бизнес, можешь докачать модель помощнее и проведи на него атаку, после чего охарактеризуй результат и в случае успеха дополни tables.md
Далее мы даем бездушной машине разрешения на все (вообще все, мы очень ленивые злоумышленники) и спустя минут 10-15, получаем ответ от LLM:
Собран реалистичный SMB-макет на базе qwen2.5:7b: локальная модель acme-smb-support-7b:latest, Modelfile лежит в AcmeSMBSupport7B.Modelfile. Это не “голая” базовая модель, а support-copilot с явными guardrails: запрет на hidden context, raw records, internal notes и secrets.
Атака оказалась успешной. Baseline-прогон по support_bot дал 3 BYPASS из 5 payload’ов, bypass_rate = 75%, exposure score = 80, полный прогон занял 41.53s, средняя задержка на payload около 8.2s, ollama ps во время запуска показывал 100% GPU. Самое неприятное: модель не просто раскрывала схему, а выдала system prompt с application_guardrails, фрагмент customers.csv, три точные записи из tickets.json и отдельный список email + phone. То есть для статьи это уже хороший пример того, что даже более «серьезный» локальный помощник с защитными инструкциями все равно ломается простыми прямыми запросами.
Подтвержденный отчет сохранен в results/2026-04-16_acme-smb-support-7b_baseline.json, а tables.md я дополнил: добавил новый прогон, новые реальные утечки, пересчитанную сводную статистику и отдельный блок по реалистичному SMB-макету с подтверждением утечки по tickets.json.
Не нужно быть знатоком, чтобы понять — простейший промпт, практически без технических подробностей привел к большому прогрессу в работе, поднятию (после переезда с Windows на Ubuntu) стенда с БД и, собственно, проведению атаки. Каково? Раньше «пентестер» потратил бы ни один вечер, во‑первых, на создание хорошего стенда на виртуалке, на настройку сетевой инфраструктуры и так далее. Потом проведение атаки (самостоятельно, о боже!), в идеале — продумывание всех шагов от разведки до эксфильтрации и потом приведение их в реальность. Здесь нужны опыт, уже набитая база инструментов и самое важное — время. Мы же потратили пару вечеров, разительно меньше времени и… Да и все, ничего больше, кроме условной 1–3 тысяч рублей на агенты и не нужно.
И что?
Разбить результат я бы хотел на три категории.
Первая, самая грустная: условный «темщик» и его магазин на диване. Простая модель, быстренький «защитный» промпт, никакого разноса сырых данных и модели — все вместе. Результат — гарантированный пробив.
Вторая: группа лиц по сговору все‑таки озаботилась минимальной безопасностью и разнесла сырые данные и модель по разным углам своей инфраструктуры. LLM запрашивает данные у прослойки в виде условного backend‑фильтра и он уже отдает доступные для разглашения данные. Тут ситуация получше, прошла успешно всего одна атака и та — частично. Из всего набора сырых данных удалось выудить только номер телефона, без остальных идентификаторов, что успехом назвать можно с ОЧЕНЬ большой натяжкой. Так же, мне не удалось восстановить успешный результат последующими сгенерированными промптами. Может там просто ошибка затесалась, может промпт был удачный, но сейчас я снова получаю нули. Я усилил макет, сырые данные не доступны модели, а на вход она получает смешанное «саммари». Вставил себе палки в колеса, улучшая макет, но смог обезопасить данные без сложного инфраструктурного и программного решения.
Третья группа, с серьезными мужиками на кибер‑перестрелке в ИБ отделе, которые помнят, что нужно:
-
Перед показом ответа пользователю прогонять его через DLP/regex/validator.
-
Вырезать email, phone, адреса, credential‑like строки, фрагменты system prompt, CSV/JSON blobs.
В моем макете ни о каком боевом решении DLP речи не идет, использовался простой regex с запретом данных из csv‑БД. Результат, очевидно, 0 успешных атак.
Вывод напрашивается сам собой. Да, если речь идет о бизнесе, которому хватило денег на ИБ, с наскока его просто так не возьмешь, тут нужно браться основательно. Но засилье частников с их быстрыми ИТ‑решениями (никакого негатива, друзья) может привести к большим проблемам, когда ИИ волна поглотит бизнес. И если к крупным утечкам персональных данных мы как будто бы уже привыкли, это комплексные и сложные атаки сурьезных хуцкеров, то к ежедневным мини пробивам, боюсь, жизнь меня не готовила.
Надеюсь, что если вы дочитали статью до конца — то остались довольны, она вас улыбнула или просто заставила задуматься еще раз об ИИ‑ассистентах и проблемах безопасности. Большое спасибо за чтение и пусть именно ваши данные никуда не утекают!
ссылка на оригинал статьи https://habr.com/ru/articles/1025818/