Проблема простая. Coding агенты уже не просто дописывают функцию по запросу. Они запускают команды, собирают проект, ходят в API, поднимают окружение, деплоят. А для всего этого им нужны ключи, токены, пароли и переменные окружения.
Раньше это обычно лежало где-нибудь в
.env, в локальном конфиге или, в худшем случае, прямо в репозитории. Для человека это и так плохая практика. Для AI-агента — еще хуже. Потому что агент может случайно показать ключ в ответе, вставить его в лог, закоммитить, отправить в сторонний инструмент или повестись на prompt injection.Codex подключается к локальному MCP-серверу 1Password, пользователь подтверждает доступ, а секреты остаются в 1Password. Агент может подготовить окружение, видеть имена переменных, запускать приложение, но сами значения ключей не попадают в prompt, код, терминал, репозиторий или context window модели.
Технически это похоже на правильную модель: секреты не копируются в .env, а инжектятся в процесс во время выполнения. То есть приложение получает нужные переменные в runtime, а Codex при этом не получает сами значения. 1Password пишет, что значения существуют в памяти только для авторизованного процесса и только пока процессу они нужны.
То есть агенту дают не сам ключ, а возможность выполнить задачу с этим ключом. Это важный сдвиг.
Конечно это не спасение от всего. Если агент напишет код, который сам отправит секрет наружу, одна только интеграция с 1Password не спасет. Если пользователь будет нажимать approve на всё подряд, тоже ничего хорошего не выйдет. И если машина уже заражена, секрет в памяти процесса всё равно может стать целью.
Но направление правильное. AI-агентов начинают воспринимать не как “умный автокомплит”, а как новых технических сотрудников с доступом к инфраструктуре. А таким сотрудникам нельзя просто кинуть все ключи на стол.
@gostev_future
