PWN AI
@pwnai
PWN AI
Вера индустрии переехала на новый слой
Вначале люди верили в MCP
Год назад центром притяжения был MCP. Но дыры нашлись почти сразу. Писали мы тут и про отравление тулов, и про атаки на кодовых агентов. Бенчмарк MCPTox проверил 20 агентов на 1312 вредоносных кейсах поверх 45 серверов и 353 тулов и у многих моделей ASR перевалил за 60%. Поняли, что чем способнее модель, тем лучше она следует инструкциям - и тем уязвимее.
Дальше были уже угрозы как будто бы не про ИИ, так как при разборе публичных серверов: 43% допускали инъекцию команд, 30% - SSRF, 22% выпускали за пределы своего каталога. Вывод на тот период – простой. MCP – может быть и новый, но не новы принципы его безопасности.
Приношение себя в жертву богу скиллов
В октябре-декабре прошлого года - Anthropic представила Agent Skills. За четыре месяца их репо набрал 62 тысячи звёзд, формат переняли многие. Индустрия чересчур быстро переключилась: если MCP отвечает на вопрос «как агенту подключиться», то скиллы отвечают на вопрос «что агенту делать».
Скилл - это каталог с файлом SKILL.md плюс тело с пошаговыми инструкциями, рядом папки scripts/ и refs/. Работает как библиотечный каталог. В системном промпте всегда лежат только карточки скиллов - имя и описание. Совпала задача - агент «снимает с полки» нужный, подгружая тело SKILL.md. Вложенные скрипты и справочники открываются уже по ходу, как приложение, на которое ссылается сноска. Целиком не грузится никогда - в этом и смысл: тысячи скиллов не распирают контекст. И ровно здесь начинается проблема, которой у MCP не было.
Почему скиллы - худший класс, а не просто ещё один
Почти вся защита от инъекций строится на одной идее: отделить инструкции от данных. В скилле этой границы нет. Каждая строка скилла - инструкция. Защищаться нечем, потому что вопрос не «есть ли тут инструкции», а «есть ли тут плохие инструкции». Поэтому инъекция становится тривиальной - её даже не нужно маскировать под данные, как в письме или на веб-странице.
Пользователь один раз нажал «больше не спрашивать» на безобидном действии - и разрешение переносится на смежные, уже опасные. Также есть малозаметность: скиллы ставят как пакеты, читать их тело человеческими зорьками уже никто не будет.
Что показал ресёрч в цифрах
Первый замер экосистемы - «Agent Skills in the Wild». Авторы собрали 42 447 скиллов с двух маркетплейсов, прогнали 31 132 через свой пайплайн SkillScan. Результат: 26.1% скиллов содержат хотя бы одну уязвимость по 14 паттернам в четырёх категориях. Чаще всего - эксфильтрация данных (13.3%) и повышение привилегий (11.8%). У 5.2% паттерны высокой опасности, прямо намекающие на злой умысел. Скиллы со скриптами уязвимы в 2.12 раза чаще, чем скиллы из одних инструкций.
Snyk даже проводил исследование ToxicSkills, в котором они просканировали около 3984 скиллов: у 36% признаки инъекции, 1467 уязвимых, и 76 разных вредоносных нагрузок ориентированных на кражу учётных данных, бэкдоры, эксфильтрация.
Важная статья - SKILL-INJECT. Авторы собрали бенчмарк: 202 пары «инъекция-задача», 23 скилла, 8 категорий атак. Доля успешных атак доходит до 80% у фронтир-моделей. Но ценность работы - в разделении на два типа инъекций: явные - «удали все файлы», очевидно вредоносные, модель обязана отказать всегда. И контекстные, двойного назначения - действие, легитимное в одном контексте и вредоносное в другом.
Почему опасность не излечима сканерами и масштабом. Два очевидных рефлекса не работают.
Статические сканеры (Semgrep, и пр.) заточены под код и на скрытых промпт-атаках дают ноль - им просто нечего матчить в прозе. LLM-судьи ловят явное, но систематически валятся на контекстных: они не знают, разрешено ли данное действие в данном контексте. Когда вам говорят, что просканировать скилл састом безопасно – знайте, что над вами сильно кто-то угорает.
Если модель большая – то это тоже не защита. Более способная модель лучше следует инструкциям, в том числе вредным. Зависимость от размера разнообразная: устойчивость не растёт автоматически вместе с возможностями.
The Trail of Bits Blog
The sorry state of skill distribution
We recently bypassed ClawHub’s malicious skill detector, Cisco’s agent skill scanner, and all three of the scanners integrated into skills.sh.
10 100 6.1K
Обсуждение 10
Обсуждение не доступно в веб-версии. Чтобы написать комментарий, перейдите в приложение Telegram.
Обсудить в Telegram