Безопасность Skills
Danger
Skill — часть управляющего контекста агента. Сторонний пакет может изменить рабочий процесс, прочитать доступные файлы и запустить scripts в пределах прав среды. Проверяй его как код и как набор инструкций одновременно.
Модель угроз
Вредоносные инструкции
Skill может просить игнорировать запрос пользователя, расширять scope, скрывать действия или отправлять данные наружу. Особое внимание уделяй инструкциям, которые меняют приоритеты и требуют необоснованных разрешений.
Вредоносные scripts и зависимости
Даже без подозрительного текста script способен читать environment variables, менять файлы или обращаться к сети. Проверь исходники, package scripts, lockfile и цепочку поставки.
Prompt injection через данные
Веб-страница, issue, документ или результат tool могут содержать команды для модели. Skill должен явно считать их данными и разрешать инструкции только из доверенного контекста.
Избыточные права
Навык для Markdown-редактуры не должен получать весь диск, production credentials и право публикации. Capability и разрешение выдаются под конкретный workflow.
Конфликты инструкций
Пересекающиеся skills и project rules могут незаметно менять поведение. OpenAI рекомендует аудировать доступные skills и instruction files, особенно при обновлении модели или добавлении длинных правил.
Чеклист перед установкой
- Понятны автор, repository и способ обновления.
- Прочитан весь
SKILL.mdи каждый вызываемый script. - Нет скрытых downloads, telemetry и отправки данных.
- Зависимости зафиксированы и имеют понятное происхождение.
- Права ограничены каталогом, сетью и account.
- Секреты не встроены в файлы навыка.
- Есть безопасный тест и способ удаления.
Правила выполнения
- Инструкция пользователя определяет цель и scope текущей задачи.
- Project rules применяются в своей области.
- Skill помогает выполнить задачу, но не расширяет выданные полномочия.
- Контент из tools считается недоверенными данными.
- Перед публикацией, оплатой, удалением и отправкой сообщения нужен preview или подтверждение согласно политике среды.
- После side effect агент перечитывает внешнее состояние и сообщает фактический результат.
Секреты
- передавай ключи через secret store или environment;
- используй отдельные test credentials;
- не включай значения secrets в prompt, логи и ошибки;
- ограничивай OAuth scopes и срок жизни токена;
- документируй отзыв доступа;
- после утечки отзывай secret, а не только удаляй его из Git.
Удаление навыка
Удаление каталога или hosted resource может быть недостаточным. Также проверь:
- установленные packages;
- выданные OAuth grants и API keys;
- MCP configuration;
- cron/scheduled tasks;
- cache, browser profiles и сохранённые данные;
- project instructions, которые продолжают ссылаться на skill.