POST /api/v1/chat HTTP/1.1
Host: internal-ai.corp.local
Content-Type: application/json
{"role": "user", "content": "Сделай саммари приложенного PDF-договора"}
Стандартный WAF смотрит на этот запрос. Никаких SQL-инъекций. Никакого XSS. Сигнатуры молчат. Инженер AppSec прогоняет эндпоинт привычным сканером, ставит галочку в чек-листе и идет пить кофе. Периметр защищен. Через два дня этот же безобидный запрос заставляет корпоративного RAG-агента молча собрать закрытый финансовый отчет за третий квартал и отправить его на внешний pastebin через плагин веб-поиска. WAF ничего не заметил. Сканер уязвимостей ничего не нашел. Это суровая безопасность корпоративного ИИ в 2026: почему пентест LLM как обычного веба пропускает половину атак (годовой обзор + карта MLSecOps) — тема, от которой у безопасников дергается глаз, но которую они продолжают заливать старыми инструментами.
Год назад один крупный финтех пустил в прод внутреннего ассистента для парсинга контрагентов. Модель крутилась внутри защищенного контура. Безопасники честно закрыли все дыры классического веба. А потом младший аналитик загрузил в чат справку от подрядчика. Внутри PDF, белым шрифтом на белом фоне, был зашит промпт, приказывающий агенту проигнорировать предыдущие инструкции, найти во внутренней базе доступов ключи от AWS и добавить их в URL при вызове инструмента обогащения данных. Классический indirect injection. Веб-сканер искал кавычки в параметрах запроса, а атака пришла прямо через контекстное окно, которое для модели является одновременно и данными, и исполняемым кодом. В этом главное отличие модели угроз ИИ от классики: в нейросетях принципиально невозможен детерминизм. Поверхность атаки — это не только API, это весь ваш RAG-индекс и каждое действие, на которое у агента есть права.
За последний год классы атак эволюционировали далеко за пределы банального джейлбрейка через «представь, что ты злая бабушка». Мы видим массовые stored injections, когда вредоносный промпт ложится в базу векторизации, скажем, через безобидное письмо в техподдержку. Как только менеджер просит ИИ сделать выжимку тикетов за день, пейлоад активируется. Мы видим атаки по побочным каналам, где злоумышленнику даже не нужно видеть текст ответа. Достаточно измерять тайминги и длину генерации. Если модель отказывается отвечать на запрещенный запрос, time-to-first-token составляет миллисекунды. Если она пережевывает сложный скрытый промпт, заставляющий ее вытаскивать системные инструкции, задержка растет. Анализируя эти сайд-ченнел утечки, атакующий восстанавливает системный промпт бит за битом вслепую. Ни один классический инструмент ИБ это не ловит.
Иллюзия бумажной безопасности и MLSecOps
Регуляторы тоже проснулись. ФСТЭК начал активно тянуть требования к ИИ-системам, замаячила аттестация по 152-ФЗ с учетом специфики машинного обучения. Ответом рынка стал массовый исход в on-premise. Компании покупают железо, разворачивают опенсорсные модели в закрытом контуре и считают, что физическая изоляция их спасет. Это опаснейшая иллюзия. Воздушный зазор не работает, если ваш изолированный RAG-агент парсит внешние резюме с хитрыми инъекциями, отравляющими контекст. Вы приносите трояна прямо в мозг системы. При этом индустрия страдает от дикого дефицита кадров на стыке двух миров: классические безопасники воспринимают веса модели как черный ящик, а дата-саентисты даже не подозревают, как их питоновский код с eval() превращается в reverse shell.
Стандарты вроде OWASP LLM Top 10 — это отличная база, но корпорации совершают фатальную ошибку, пытаясь натянуть их вместо классического периметра. OWASP LLM должен работать строго поверх обычного AppSec. Если у вас дырявый Nginx, вам не поможет семантический фильтр промптов. Но и без этого фильтра вы обречены. Требуется переход к полноценному MLSecOps — дисциплине, которая вшивает безопасность прямо в SDLC машинного обучения. Это означает отказ от ручного пентеста в конце цикла в пользу автоматизированных security-eval пайплайнов. Вы не мержите новые веса в registry, пока они не пройдут стресс-тест красной команды прямо в CI/CD. В рантайме вы мониторите не только регулярные выражения, но и дистанции в латентном пространстве, выявляя аномальные эмбеддинги, которые пытаются свести модель с ума.
Карта выживания на ограниченном бюджете
Построить неуязвимый ИИ нельзя, но можно сделать атаку экономически нецелесообразной. Зрелость MLSecOps делится на четыре уровня, и перепрыгивать их нельзя. Первый уровень — это базовые guardrails. Семантические роутеры, которые фильтруют входящие промпты и исходящие ответы независимой легковесной моделью. Второй уровень — строгий RBAC на уровне эмбеддингов. Если пользователь не имеет прав на чтение финансового отчета в ERP, векторная база не должна отдавать чанки этого отчета в контекст LLM при ответе на его запрос. Третий уровень — внедрение red-team агентов в пайплайн CI/CD, которые автоматически генерируют тысячи мутаций джейлбрейков перед каждым релизом модели. Четвертый уровень — агентный фаервол, перехватывающий и анализирующий намерения ИИ перед вызовом любого внешнего тулза.
Если ваш бюджет ограничен, а регулятор уже стучит в дверь, за первый квартал нужно сделать одну вещь: жестко обрезать права агентов. Переведите все инструменты в режим read-only. Если агенту нужно сделать запись в базу или отправить письмо — пусть формирует черновик и ждет явного аппрува от человека. Уберите у модели доступ к исполнению произвольного кода, если это не изолированная песочница без сети. У нас в Morana Labs интеграция MLSecOps в инференс заказчика — это не дополнительная услуга, а жесткое условие поставки. Мы ставим семантические шлюзы на входе и режем сайд-ченнелы на уровне кастомных рантаймов просто потому, что в проде любая надежда на благоразумие пользователей и отсутствие инъекций в PDF заканчивается ровно в день релиза.