Проще говоря, secret management отвечает на вопрос: где лежат ключи и кто может ими пользоваться. Секреты не должны храниться в коде, отправляться в чат, попадать в системный промпт, выводиться пользователю или сохраняться в открытых логах.
В AI-агентах проблема особенно острая. Агент может вызывать инструменты, подключаться к CRM, читать документы, отправлять сообщения, запускать workflow и работать с API. Для этого ему нужны токены, но модель не должна видеть секреты как обычный текст и тем более не должна уметь их пересказать пользователю.
Правильный подход: секрет хранится в отдельном хранилище или переменной окружения, инструмент получает его на серверной стороне, а в промпт передается только безопасное описание возможности. Например, не "вот API key", а "доступен инструмент send_message с ограниченными правами".
Secret management включает несколько практик: разделение окружений, least privilege, ротацию ключей, ограничение scopes, маскирование в логах, запрет коммита .env, контроль доступа, audit log, удаление старых токенов и быструю замену ключа при инциденте.
Типичные ошибки: ключи лежат в Git, секреты копируют в промпты, токен бота имеет лишние права, один ключ используют во всех окружениях, логи сохраняют Authorization header, а доступ к панели автоматизации есть у всех сотрудников.
Для AI-агента важно проверять не только хранение, но и путь секрета. Он может утечь через tool call log, trace, debug-ответ, screenshot, ошибку API, экспорт CSV или сообщение в Slack. Поэтому секреты нужно маскировать на всех этапах.
В production стоит вести каталог секретов: название, владелец, назначение, окружение, права, срок жизни, дата ротации, где используется, кто имеет доступ и что делать при компрометации. Это скучная, но очень спасательная штука.
Примеры
- OpenAI API key хранится в переменной окружения на сервере, а не в системном промпте AI-агента.
- GitHub Actions получает токен из secrets, маскирует его в логах и не выводит в консоль.
- n8n workflow использует credential store, а агент видит только название инструмента, но не сам токен.
- После увольнения сотрудника команда ротирует токены, к которым у него был доступ.
- Webhook secret проверяется на сервере, чтобы чужой запрос не смог запустить workflow.
Где используется
- хранение API-ключей AI-агента
- безопасный tool calling
- разделение dev, stage и production секретов
- ротация токенов и паролей
- маскирование секретов в логах
- ограничение scopes для ботов и интеграций
- защита webhook и внешних API
- аудит доступа к секретам
- инцидентная замена скомпрометированного ключа
Связанные термины
Частые вопросы
Что такое secret management простыми словами?
Это безопасное хранение и использование ключей, токенов и паролей, чтобы они не попали в код, логи, промпты или ответы пользователю.
Почему secret management важен для AI-агентов?
AI-агенты часто вызывают API и инструменты. Им нужны доступы, но модель не должна видеть секреты как текст и не должна раскрывать их пользователю.
Где нельзя хранить секреты?
В Git, фронтенд-коде, промптах, публичных документах, чатах, скриншотах, открытых логах и общих таблицах без контроля доступа.
Что такое ротация секретов?
Это регулярная или экстренная замена ключей и токенов, чтобы старые доступы перестали работать и риск утечки был ниже.
Как снизить риск утечки секретов?
Использовать secret store, переменные окружения, least privilege, scopes, маскирование логов, audit log, ротацию и запрет передачи секретов в модель.