Vahta CLI

Vahta дает агенту использовать ваши пароли и API-ключи через зашифрованное хранилище, не показывая сами значения

  • 71 ★ репозитория
  • Последний коммит
CLI

Широкий доступ

Почему такой уровень

  • Хранилище содержит рабочие пароли и API-ключи, а `ka run` подставляет их в окружение запускаемых агентом процессов
  • Хук на PreToolUse изменяет настройки Claude Code, Cursor и Codex и разрешает агенту выполнять `ka run` и `ka list` без запросов
Все причины и проверки

vahta-team/vahta

Установка

В терминале, через SkillFoxx CLI

npx skillfoxx add cli/vahta

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Широкий доступИнструмент может менять данные, выполнять команды или работать с секретами.

  • Хранилище содержит рабочие пароли и API-ключи, а `ka run` подставляет их в окружение запускаемых агентом процессов
  • Хук на PreToolUse изменяет настройки Claude Code, Cursor и Codex и разрешает агенту выполнять `ka run` и `ka list` без запросов

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Vahta, прежний проект key-amnesia, закрывает проблему файла .env. Любой секрет в файлах проекта, истории оболочки или конфигах MCP агент может прочитать, а ключ, вставленный в чат, остается в переписке навсегда. В Vahta секреты лежат в зашифрованном хранилище (Argon2id и SecretBox). Агент только запускает команду, а значения подставляются в окружение дочернего процесса вне его поля зрения. Если команда выведет секрет, вывод цензурируется до того, как агент его увидит. Пароль от хранилища вводится только вами: когда агенту нужно одобрение, открывается отдельное окно консоли, которое агент не видит и в которое не может печатать. Команда `ka import .env` переносит открытые значения в хранилище, `ka scan` ищет оставшиеся утечки и печатает только имена, пути и счетчики, а режим --deep заглядывает в историю оболочки, конфиги MCP и записи сессий агентов. Команда `ka setup` ставит скиллы и защитный хук для Claude Code, Cursor, Codex и OpenCode. Хук блокирует опасные подкоманды `ka`, например `ka set`, `ka reveal` и `ka scan --yes`, а также строки с ключами внутри команд. Режим `per-call` спрашивает пароль при каждом использовании секрета, режим `cached` держит хранилище открытым 30 минут после `ka unlock`.

Для кого. Разработчикам, которые отдают Claude Code, Cursor или Codex рабочие ключи и пароли и хотят, чтобы агент ими пользовался, а прочитать их не мог.

Подходит, если

  • В проекте лежит .env с ключами, и их нужно перенести в хранилище командой `ka import`
  • Агент запускает скрипт с API-ключом, а значение должно попасть только в окружение процесса
  • Перед работой с агентом хочется найти утечки секретов в проекте, истории оболочки и записях сессий через `ka scan --deep`
  • Нужна защита от инлайновых ключей в командах агента: хук отклоняет их до запуска
  • Несколько часов идет автономная работа агента, и хранилище открывают на 30 минут командой `ka unlock`

Не подходит, если

  • Нужна защита от вредоносной программы под вашей учетной записью: любой процесс того же пользователя может обратиться к живой сессии хранилища
  • Агенту выдали управление экраном, клавиатурой и мышью: изоляция окна одобрения ослабевает
  • Команда сама кодирует секрет перед печатью: цензура ловит только точные копии значения
  • Машина без экрана: без дисплея одобрить нечем, и операция отклоняется

Пример запроса к агенту

Перенеси ключи из .env в хранилище Vahta, а потом запусти мой скрипт deploy.py с секретом API_KEY, не показывая мне и себе значение

Ограничения

  • Пароль от хранилища восстановить нельзя: Argon2id и SecretBox не оставляют резервного пути.
  • Цензура ловит точные копии значения, а секрет, закодированный командой перед печатью, проходит.
  • Вывод команды отдается агенту целиком после завершения, живой поток не поддерживается.
  • Имена секретов хранятся открытым текстом, значения нет.
  • На macOS запуск изолированной консоли экспериментальный, поддерживаются Windows и Linux. В Linux терминал для пароля выбирается командой `ka config set terminal`.
  • Автор объявил о переезде проекта на новое ядро: key-amnesia останется в PyPI с одним последним релизом. Лицензия Apache-2.0.

Как отключить. Хук и скиллы, поставленные командой `ka setup`, находятся в настройках агентов: чтобы убрать их, удалите записи `secret-guard` из конфигов Claude Code, Cursor и Codex и папки скиллов. Сам пакет удаляет `pip uninstall key-amnesia`. Хранилище лежит в профиле или в проекте, пока вы его не удалите.

Частые вопросы

Как поставить Vahta?

Пакет лежит в PyPI под именем key-amnesia: `pip install key-amnesia`. Команда `ka setup` ставит скиллы и хук для Claude Code, Cursor, Codex и OpenCode, после нее перезапустите сессию агента.

Видит ли агент значения секретов?

Нет. Значения подставляются в окружение запускаемого процесса, а вывод проходит цензуру. Пароль от хранилища вводится в отдельном окне консоли, недоступном агенту.

Что делать с уже существующим .env?

Командой `ka import .env .env.local` перенести значения в хранилище, потом `ka scan` покажет остатки утечек. Команда ничего не печатает из значений и сама не удаляет файлы.

Чем отличаются режимы `per-call` и `cached`?

В режиме `per-call` пароль спрашивают при каждом использовании секрета. В режиме `cached` вы один раз выполняете `ka unlock`, и хранилище остается открытым 30 минут или до `ka lock`.

Почему проект называется то key-amnesia, то Vahta?

Авторы переименовали проект и переносят код на новое ядро. Описанное в README ПО еще работает под именем key-amnesia, и пакет в PyPI не будет удален.

Обсуждение

Вопросов и отзывов пока нет.

agent-secrets выдает ИИ-агенту ключи на время: шифрование age, аренда секрета с TTL, журнал доступа и аварийный отзыв.

CLIШирокий доступ114Звезды репозитория

Утилита хранит ключи в системной связке и подставляет их в запрос на транспортном уровне, так что агент значения не видит.

CLIШирокий доступ197Звезды репозитория

Vigils стоит между ИИ-агентом и его инструментами: скрывает секреты, спрашивает разрешения и пишет неизменяемый журнал вызовов

CLIШирокий доступ74Звезды репозитория

Скилл и CLI для .env.schema: агент видит имена, типы и правила переменных окружения, а значения секретов в его контекст не попадают

СкиллРасширенный доступ5 тыс.Звезды репозитория

CLI elbab хранит ключи и пароли в зашифрованном виде и дает агенту запускать команды с секретами, не показывая их.

CLIШирокий доступ268Звезды репозитория

Сравнение с похожими

Карточки с тем же главным запросом: чем они отличаются.

ИнструментОфициальныйЗвезды репозиторияГлавное отличие
Vahta (эта карточка)нет71
agent-secretsнет114отдельный проект по защите секретов агента
AgentSecretsнет197отдельный проект по защите секретов агента, свой формат хранилища и команд

Коротко о README

README открывается объявлением о переименовании key-amnesia в Vahta и объясняет проблему: .env рассчитан на угрозу от git, а теперь угроза — агент в проекте. Дальше короткая инструкция из команд `ka`, текст для начальной настройки агента, два режима сессии и выбор терминала для ввода пароля в Linux. Завершает раздел о границах защиты из десяти пунктов.

Бейдж для README

Сообщить о проблеме