openclaw secrets
Управляйте SecretRef и поддерживайте активный снимок среды выполнения в исправном состоянии.
Рекомендуемый рабочий цикл оператора:
exec, передайте --allow-exec обеим командам apply: для пробного запуска и записи.
Коды завершения для CI/шлюзов проверки:
audit --checkвозвращает1при обнаружении проблем.- Неразрешённые ссылки возвращают
2(независимо от--check).
Перезагрузка снимка среды выполнения
secrets.reload. Если разрешение завершается ошибкой, Gateway сохраняет последний заведомо исправный снимок и возвращает ошибку (частичной активации не происходит). Ответ JSON включает warningCount.
Параметры: --url <url>, --token <token>, --timeout <ms>, --json.
Аудит
Сканирует состояние OpenClaw на наличие:- хранения секретов в открытом виде
- неразрешённых ссылок
- расхождений приоритетов (учётные данные
auth-profiles.json, перекрывающие ссылкиopenclaw.json) - остатков сгенерированных
agents/*/agent/models.json(значенияapiKeyпровайдера и конфиденциальные заголовки провайдера) - устаревших остатков (записи устаревшего хранилища аутентификации, напоминания OAuth)
authorization, x-api-key, token, secret, password, credential).
status:clean | findings | unresolvedresolution:refsChecked,skippedExecRefs,resolvabilityCompletesummary:plaintextCount,unresolvedRefCount,shadowedRefCount,legacyResidueCount- коды обнаруженных проблем:
PLAINTEXT_FOUND,REF_UNRESOLVED,REF_SHADOWED,LEGACY_RESIDUE
Настройка (интерактивный помощник)
Интерактивно сформируйте изменения провайдеров и SecretRef, выполните предварительную проверку и при необходимости примените их:secrets.providers), затем сопоставление учётных данных (выбор полей и назначение ссылок {source, provider, id}), после этого предварительная проверка и необязательное применение.
Флаги:
--providers-only: настроить толькоsecrets.providers, пропустив сопоставление учётных данных--skip-provider-setup: пропустить настройку провайдеров и сопоставить учётные данные с существующими провайдерами--agent <id>: ограничить обнаружение целейauth-profiles.jsonи запись одним хранилищем агента--allow-exec: разрешить проверки exec SecretRef во время предварительной проверки и применения (могут выполняться команды провайдера)
--providers-only и --skip-provider-setup нельзя использовать вместе.
Примечания:
- Требуется интерактивный TTY.
- Обрабатывает содержащие секреты поля в
openclaw.json, а такжеauth-profiles.jsonдля выбранной области агента; каноническая поддерживаемая поверхность: Поверхность учётных данных SecretRef. - Поддерживает создание новых сопоставлений
auth-profiles.jsonнепосредственно в процессе выбора. - Перед применением выполняет предварительное разрешение.
- В создаваемых планах параметры очистки включены по умолчанию (
scrubEnv,scrubAuthProfilesForProviderTargets,scrubLegacyAuthJson). Для очищенных значений открытого текста применение необратимо. - Без
--applyCLI всё равно запрашиваетApply this plan now?после предварительной проверки. - С
--apply(и без--yes) CLI запрашивает дополнительное подтверждение необратимой миграции. --jsonвыводит план и отчёт предварительной проверки, но по-прежнему требует интерактивный TTY.
Безопасность exec-провайдеров
Установки Homebrew часто предоставляют двоичные файлы через символические ссылки в/opt/homebrew/bin/*. Задавайте allowSymlinkCommand: true только при необходимости для доверенных путей менеджера пакетов и вместе с trustedDirs (например, ["/opt/homebrew"]). В Windows, если для пути провайдера недоступна проверка ACL, OpenClaw применяет запрет по умолчанию; только для доверенных путей задайте allowInsecurePath: true для этого провайдера, чтобы обойти проверку безопасности пути.
Применение сохранённого плана
--dry-run выполняет предварительную проверку без записи файлов; при пробном запуске проверки exec SecretRef по умолчанию пропускаются. Режим записи отклоняет планы, содержащие exec SecretRef/провайдеры, без --allow-exec. Используйте --allow-exec, чтобы явно разрешить проверки и выполнение exec-провайдеров в любом режиме.
Что может обновлять apply:
openclaw.json(цели SecretRef, а также добавление, обновление и удаление провайдеров)auth-profiles.json(очистка целей провайдеров)- устаревшие остатки
auth.json - известные секретные ключи
~/.openclaw/.env, значения которых были перенесены
Почему резервные копии для отката не создаются
secrets apply намеренно не создаёт резервные копии для отката, содержащие старые значения в открытом виде. Безопасность обеспечивается строгой предварительной проверкой и условно атомарным применением с попыткой восстановления в памяти при ошибке.
Пример
audit --check по-прежнему сообщает о значениях в открытом виде, обновите остальные указанные пути целей и повторно запустите аудит.