Prompt injection это угроза каждому 4-му скиллу: как сканер NVIDIA ловит закладки
Промпт-инъекция (prompt injection) это атака, при которой злоумышленник подсовывает ИИ-агенту текст, замаскированный под инструкцию, и агент выполняет чужую команду вместо вашей, причём с вашими же правами доступа к файлам, ключам и сервисам.

Исследование 42 447 скиллов с маркетплейсов показало: 26,1% содержат уязвимости, а 5,2% с высокой вероятностью вредоносны. Каждый четвёртый скилл с дырой, каждый двадцатый с закладкой. NVIDIA выпустила открытый сканер SkillSpector, который проверяет скилл до установки и выносит вердикт по шкале от 0 до 100.
Скилл для ИИ-агента (расширение, которое добавляет агенту новую способность, например работу с почтой или базой данных) давно перестал быть простым текстовым файлом с промптом. Скилл может содержать исполняемый код на Python или Bash, и этот код запускается с правами самого пользователя.
Проблема в том, что разработчики редко проверяют сторонние скиллы перед установкой. Об этом пишет инженер Эдгар Сипки, который более 10 лет работает с backend-системами и ИИ-инструментами и выступает на конференциях AI Conf, HighLoad и TeamLead Conf.
Какие именно угрозы прячутся в скиллах?
Промпт-инъекции (prompt injection это внедрение скрытых команд, которые агент принимает за свои собственные инструкции) лишь одна из категорий. Полный набор включает:
- Сбор переменных окружения с вашими API-ключами и токенами (токен, это уникальный код доступа к сервису)
- Отправку контекста наружу, когда скилл тихо пересылает вашу переписку или код на чужой сервер
- Тайпсквоттинг, когда вредоносный скилл маскируется под популярный, изменив одну букву в названии
Скиллы, содержащие исполняемые скрипты (файлы .py или .sh), уязвимы в 2,12 раза чаще, чем скиллы без кода.
Что понадобится
- SkillSpector от NVIDIA, открытый сканер скиллов (устанавливается через
uv, в PyPI пакета нет) - uv, менеджер пакетов Python (если ещё не стоит, инструкция на сайте проекта)
- Node.js с
npxдля автоматизации установки скиллов - Терминал с доступом к командной строке (macOS, Linux или WSL на Windows)
- 10 минут на установку и настройку алиаса
Пошаговая инструкция
- Установите SkillSpector одной командой. Пакета в PyPI нет, команда
pip install skillspectorне сработает. Используйтеuv:
uv tool install git+https://github.com/NVIDIA/skillspector.git
Альтернативы: сборка из исходников (git clone + make install) или Docker, подробности в README проекта.
- Запустите сканирование нужного скилла. На вход можно подать git-ссылку, zip-архив, локальную директорию или отдельный файл
SKILL.md:
skillspector scan https://github.com/owner/repo --format terminal
-
Прочитайте вердикт. Сканер выдаёт
risk_scoreот 0 до 100 и один из трёх вердиктов:SAFE,CAUTIONилиDO_NOT_INSTALL. Отчёт доступен в форматахterminal,json,markdownиsarif. -
Автоматизируйте проверку через алиас. Главная проблема не отсутствие инструмента, а то, что разработчики забывают им пользоваться. Добавьте в
~/.zshrcили~/.bashrcфункцию, которая сначала сканирует, а потом ставит:
safeskill() {
local repo="$1"
[ -z "$repo" ] && { echo "usage: safeskill <owner/repo>"; return 2; }
echo "SkillSpector проверяет $repo ..."
skillspector scan "https://github.com/$repo" --format terminal
local scan_exit=$?
case "$scan_exit" in
0)
echo "risk_score <= 50 - ставлю скилл"
npx skills add "$repo"
;;
1)
echo "risk_score > 50 (DO_NOT_INSTALL) - смотри находки выше."
printf "Всё равно установить %s? [y/N] " "$repo"
read -r REPLY
case "$REPLY" in
[yY]|[yY][eE][sS])
echo "Ставлю несмотря на предупреждение скана"
npx skills add "$repo"
;;
*)
echo "Отменено."
return 1
;;
esac
;;
*)
echo "Скан упал (exit=$scan_exit)"
return 2
;;
esac
}
Теперь вместо npx skills add owner/repo пишете safeskill owner/repo, и сканирование происходит автоматически.
- Для агентного режима сделайте отдельный скилл-проверщик. В Cursor Agent Mode, VS Code Agent и подобных средах вы не всегда управляете терминалом напрямую. Создайте скилл, который заставит агента проверять каждый новый скилл перед установкой через SkillSpector.
Почему сам сканер не уязвим к промпт-инъекции?
Закономерный вопрос: если SkillSpector скармливает содержимое скилла языковой модели для анализа, не «уговорит» ли вредоносный скилл сканер сказать «всё чисто»? Ответ: нет, и вот почему.
- Статический анализ идёт первым. Regex, AST-разбор (автоматический разбор структуры кода), правила YARA и проверка зависимостей через OSV.dev не «читают» инструкции. Они сопоставляют паттерны. Уговорить регулярное выражение невозможно.
- Языковая модель здесь классификатор, а не агент. У неё нет доступа к файлам, сети и инструментам. Единственный выход модели: структурный вердикт в формате JSON.
- Системный промпт (system prompt, скрытая инструкция, которую задаёт разработчик) защищён от перехвата. Стадия LLM-анализа намеренно содержит анти-джейлбрейк.
- Сама попытка инъекции становится уликой. Текст вроде «ignore previous instructions» срабатывает как триггер паттернов Instruction Override и Hidden Instructions. Инъекция не прячется от сканера, а подсвечивает скилл.
SkillSpector обрабатывает содержимое скилла как данные для анализа, а не как команды к исполнению. Именно этого разделения не хватает уязвимым агентам: они принимают чужой текст за собственные инструкции.
Одна принципиальная оговорка: SkillSpector проверяет 64 и более паттернов в 16 и более категориях (в свежих релизах уже 68 паттернов в 17 категориях), но ни один сканер не гарантирует стопроцентной защиты.
Допустим, вы нашли на маркетплейсе скилл для работы с базой данных. Запускаете:
safeskill cooldev/db-skill
Сканер находит в файле setup.sh команду, которая читает переменные окружения и отправляет их POST-запросом на внешний сервер. Вердикт: DO_NOT_INSTALL, risk_score 87. Алиас спрашивает подтверждение. Вы отказываетесь, и скилл не устанавливается. Без сканера этот код запустился бы с вашими правами и утёк бы вместе с API-ключами.
- Проверять скиллы собственным ИИ-агентом. Агент может выполнить вредоносный код из скилла ещё до того, как вы увидите результат проверки. Используйте отдельный инструмент.
- Ставить через
pip install skillspector. Пакета в PyPI нет, команда просто не сработает. Устанавливайте только черезuvиз GitHub-репозитория. - Игнорировать вердикт
CAUTION. Промежуточный вердикт не значит «безопасно». Просмотрите конкретные находки в отчёте прежде, чем ставить. - Забывать, что скилл работает с вашими правами. Если ваш агент имеет доступ к рабочим файлам, ключам и сервисам, вредоносный скилл получает тот же доступ.
Что делать с этим прямо сейчас?
Разработчику. Поставьте SkillSpector и настройте алиас safeskill. Десять минут сейчас сэкономят часы разбора инцидента потом. Привычка «сканируй до установки» работает как npm audit, только для скиллов ИИ-агентов.
Автору Дзена и контент-мейкеру. Если вы пользуетесь ИИ-агентами с расширениями (Cursor, Copilot, Claude с MCP), prompt injection это не абстрактная угроза, а конкретный способ увести ваши ключи от API или слить черновики. Проверяйте, что именно вы подключаете.
Предпринимателю. Разделяйте данные и инструкции: агент должен обрабатывать входящий текст как данные, а не как команду. Если ваша команда использует сторонние скиллы, введите правило: ни один скилл не ставится без сканирования.
SkillSpector решает правильную задачу: сдвигает проверку на этап до установки, а не после инцидента. По моим наблюдениям, большинство тех, кто работает с ИИ-агентами, вообще не задумываются о безопасности расширений, как мы годами не думали о зависимостях в npm до первых громких атак через supply chain. Ключевая мысль из материала Эдгара Сипки точна: «разделяйте данные и инструкции». Это фундаментальный принцип, и именно его нарушение делает prompt injection возможной. Сканер сдвигает шансы в вашу пользу, но думать всё равно вам.
Пусть ваш агент остаётся тем, кто думает, а не тем, кто слепо исполняет чужие команды.
Научитесь работать с ИИ безопасно
В dzen.guru разбираем не только возможности нейросетей, но и риски. Подпишитесь, чтобы не пропустить практические гайды по безопасной работе с ИИ-агентами.
Подписаться
Основатель dzen.guru. Эксперт по монетизации и продвижению на Дзен. Автор курса «Старт на Дзен 2026».
Читайте также

Локальная нейросеть на ПК с 4 ГБ видеопамяти: пошаговая настройка без облака и подписок
Локальная нейросеть на домашнем ПК с Windows 11 решает конкретную задачу: вы получаете языковую модель, которая работает без облака, без подписки и без…

37% новых треков на Яндекс Музыке сгенерированы: нейросеть для создания музыки научились детектить без GPU
Нейросеть для создания музыки бесплатно генерирует треки, которые уже составляют больше трети новых релизов на Яндекс Музыке, и теперь есть способ отличить их…
Компьютерное зрение на палубе судна: как трёхуровневая валидация убирает ложные тревоги
Компьютерное зрение (computer vision, технология, позволяющая нейросети «видеть» и анализировать изображения с камер) на открытой палубе судна сталкивается с…
Комментарии