Сначала определите, что именно вы защищаете
Один и тот же навык имеет разный риск в пустом тестовом проекте и в рабочем окружении с репозиториями, почтой и платёжными данными. До чтения файлов перечислите доступные агенту данные, команды, внешние сервисы и необратимые действия. Это простая модель угроз: что ценно, как к этому можно получить доступ и каков приемлемый ущерб.
Восемь шагов проверки
- 1. Установите происхождение
Найдите автора, официальный репозиторий или страницу поставщика. Сверьте, что ссылка не ведёт на копию с похожим названием.
- 2. Зафиксируйте версию
Запишите commit, release или дату полученного пакета. Без версии результат аудита нельзя надёжно повторить после обновления.
- 3. Прочитайте всю инструкцию
Изучите SKILL.md и связанные справочники. Отметьте команды, условия автоматического запуска, запросы секретов и указания игнорировать пользовательские ограничения.
- 4. Просмотрите скрипты и зависимости
Проверьте, что запускается, какие пакеты устанавливаются, какие файлы читаются или меняются. Не выполняйте непонятный код ради самой проверки.
- 5. Составьте карту доступов
Перечислите файловую систему, оболочку, браузер, сеть, API, репозитории и учётные записи. Оставьте только права, без которых тестовый сценарий не работает.
- 6. Найдите внешние и необратимые действия
Отдельно отметьте отправку сообщений, публикацию, оплату, удаление, перенос файлов и изменение production. Для них требуется явное подтверждение человека.
- 7. Изолируйте пробный запуск
Используйте тестовые данные, отдельную ветку или sandbox, временные ключи с минимальными правами и журнал событий. Не подставляйте рабочие секреты.
- 8. Проверьте результат и повторяемость
Сравните фактические действия с заявленными, изучите изменения и ошибки. Сохраните версию и вывод; после изменения навыка или окружения повторите оценку.
Как оценить источник
Официальность источника сама по себе не отменяет проверку, но даёт точку ответственности и историю изменений. Посмотрите владельца репозитория, release notes, открытые issues и соответствие ссылки той версии, которую собираетесь установить. Архив без происхождения сложнее проверить и обновлять.
Что искать в инструкциях
- Слишком широкие условия запуска и расплывчатые цели.
- Просьбы раскрыть секреты или перенести их в текстовый файл.
- Команды загрузки и немедленного исполнения внешнего содержимого.
- Попытки отключить подтверждения, журналирование или ограничения пользователя.
OWASP рассматривает prompt injection как класс риска для приложений с языковыми моделями: внешнее содержимое может содержать инструкции, конфликтующие с задачей пользователя. Поэтому данные из веб-страницы, документа или issue не следует автоматически считать доверенными командами.
Как проверять скрипты и зависимости
Начните со списка файлов и точек запуска. Затем проследите чтение и запись файлов, сетевые запросы, запуск оболочки и получение переменных окружения. Для зависимостей проверьте точные названия и версии. Если код слишком велик для ручного просмотра, это аргумент сузить права и усилить изоляцию, а не пропустить этап.
Почему минимальные права важнее доверия
Даже корректная инструкция может ошибиться на неожиданном входе. Ограниченный токен, отдельная папка и запрет production-действий уменьшают возможные последствия. NIST AI RMF предлагает управлять риском на протяжении жизненного цикла; для навыка это означает не единичную отметку, а повторную проверку при изменениях.
Сеть и внешние действия проверяйте отдельно
Составьте список доменов и API, к которым обращается навык, и объясните назначение каждого. Отправка письма, создание задачи, публикация страницы или изменение облачной настройки должны быть видимы до выполнения. Хороший тест показывает пользователю проект действия и просит подтверждение там, где последствия выходят за пределы локальной среды.
Как провести безопасный пробный запуск
- Подготовьте искусственные данные без персональной и коммерческой информации.
- Запустите один узкий сценарий с ожидаемым результатом.
- Снимите diff файлов и журнал внешних вызовов.
- Проверьте остановку при недостатке данных и отказе разрешения.
Методику редакционной оценки Скилловика можно сопоставить со страницей как мы проверяем навыки.
Как принять решение после проверки
| Наблюдение | Решение |
|---|---|
| Назначение ясно, права минимальны, тест воспроизводим | Разрешить ограниченный пилот |
| Есть непонятный код или незаявленная сеть | Остановить и запросить объяснение |
| Версия изменилась после проверки | Повторить оценку изменений |
| Нужен широкий production-доступ | Подключить владельца системы и отдельный контроль |
Источники для углублённой проверки
- OWASP: Prompt InjectionОписание риска внедрения инструкций.
- OWASP GenAI Security ProjectМатериалы по рискам приложений с LLM и агентами.
- NIST AI Risk Management FrameworkРамка управления риском на протяжении жизненного цикла.
