Вы знаете правило: никогда не кладите API-ключи в конфиг? Но что если вы их туда кладёте? Потому что куда ещё?
OpenClaw 2026.2.26 добавил правильное управление секретами: External Secrets Management. Это система, которая вытаскивает ключи и токены из конфигов и прячет их в надёжные места.
Где прятать секреты:
🔑 1Password CLI — твой личный хранилище паролей
🏚️ HashiCorp Vault — корпоративный хранилище секретов
📄 sops — зашифрованные файлы
🌍 Переменные окружения — OPENAI_API_KEY и т.д.
📁 JSON-файлы — если ты их правильно защитил
Как это работает:
Раньше:
{
"models": {
"providers": {
"anthropic": {
"apiKey": "sk-ant-v6-..."
}
}
}
}
Теперь:
{
"models": {
"providers": {
"anthropic": {
"apiKey": "ref://anthropic/apiKey"
}
}
}
}
При запуске → OpenClaw резолвит ссылку через провайдер → подставляет реальный ключ.
Команды управления:
# Найти все plaintext-секреты в конфиге
openclaw secrets audit
# Интерактивная настройка провайдеров
openclaw secrets configure
# Применить план миграции
openclaw secrets apply --from plan.json
# Перезагрузить секреты без рестарта
openclaw secrets reload
# Проверить что всё чисто
openclaw secrets audit --check
Пример: 1Password как хранилище
# 1. Создаёшь записи в 1Password (op save "anthropic-api-key" "sk-ant-...")
# 2. Конфигурируешь OpenClaw
openclaw secrets configure
# → выбираешь провайдер: exec
# → команда: /usr/local/bin/op
# → маппинг: anthropic/apiKey → op read "anthropic-api-key"
# 3. Применяешь
openclaw secrets apply --from plan.json
# 4. Готово — конфиг теперь чистый
Архитектура (если интересно):
• runtime.ts — ядро: клонирует конфиг, резолвит ссылки, активирует атомарно
• resolve.ts — три типа провайдеров: env (переменные), file (JSON-файлы), exec (внешние команды)
• audit.ts — сканер: ищет plaintext-секреты, неразрешённые ссылки, старые остатки
• apply.ts — пайплайн: читает конфиг → применяет провайдеры → чистит plaintext → пишет атомарно
Безопасность:
✅ Атомарные записи (temp → rename, chmod 0600)
✅ Валидация путей: не symlink, не writable другими, owned by current user
✅ Защита от prototype pollution в ссылках
✅ Таймауты и лимиты на размер вывода
Рекомендуемый процесс:
# 1. Аудит — найти что есть
openclaw secrets audit
# 2. Конфиг — настроить провайдеры
openclaw secrets configure
# 3. Применить — мигрировать секреты
openclaw secrets apply --from plan.json
# 4. Перезагрузить — без рестарта
openclaw secrets reload
# 5. Проверка — убедиться что чисто
openclaw secrets audit --check
Бонус: Bitwarden тоже подходит
Если ты пользуешься Bitwarden (а не 1Password), это тоже работает через exec-провайдер. Просто укажи команду
bw get password или Bitwarden Secrets Manager CLI (bws).Почему это важно:
Когда вы кладёте API-ключи в конфиг — они видны в:
• Git истории (если случайно запушишь)
• Docker образах (если собирать с конфигом)
• Логах ошибок (когда конфиг дампится)
• Бэкапах (если бэкапятся файлы с plaintext)
External Secrets Management это не скилл, это правильное поведение. Используйте.
🔐 OpenClaw — open-source платформа для ИИ-агентов
📖 docs.openclaw.ai/cli/secrets
Подпишитесь на @openclawc