
Just-in-time API-ключи для ИИ-агентов — и любого другого процесса, который вы через него маршрутизируете: вызывающая сторона видит только плейсхолдер.
# Keys on the Wire **Ваш ИИ-агент никогда не хранит ваши API-ключи. Он отправляет заполнитель; настоящий секрет подставляется на лету.** Останавливает похитителей учётных данных (Shai-Hulud и подобные) и агентов с prompt-инъекциями от утечки ваших секретов. Скомпрометированному агенту нечего красть. [](https://pypi.org/project/keys-on-the-wire/) [](./LICENSE) [](https://github.com/inflightsec/keys-on-the-wire/actions/workflows/test.yml) ## Как это работает 1. Ваш агент отправляет запрос с *заполнителем*, а не с ключом. 2. Keys on the Wire подставляет настоящий секрет из вашего хранилища, в процессе передачи. 3. Агент никогда не видит ключ. Нечего утекать, нечего красть.  Под капотом это loopback HTTPS-прокси. Он извлекает каждое учётное данное из вашего хранилища точно в срок и внедряет его в исходящий запрос, поэтому вызывающий процесс (ваш агент или что угодно ещё, что вы маршрутизируете через него) никогда не держит реальные байты. Бэкенды хранилищ: **macOS Keychain**, Bitwarden Secrets Manager, Google Secret Manager, AWS Secrets Manager, `static` (без хранилища, для ознакомления) и `env`. На Mac бэкенд Keychain не требует облачной учётной записи хранилища и дополнительных зависимостей: ваши секреты остаются там, где они уже есть. (`kow setup` по-прежнему по умолчанию использует Bitwarden; передайте нужный бэкенд.) См. [Архитектура адаптеров](https://github.com/inflightsec/agent-vault-proxy/blob/main/docs/adapter-architecture.md). ## Посмотрите в действии [](docs/demo.cast) ## Быстрый старт **1. Установка** (Linux `pipx`, macOS `brew`): ```bash pipx install 'keys-on-the-wire[bitwarden]' # macOS: brew install inflightsec/keys-on-the-wire/keys-on-the-wire sudo kow setup --bws ``` **2. Установите навык**, чтобы ваш агент сам писал привязку за вас: ``` /plugin marketplace add inflightsec/keys-on-the-wire /plugin install kow@keys-on-the-wire ``` **3. Оформите сервис через брокера.** Скажите *«маршрутизируй Stripe API через Keys on the Wire»*. Навык создаёт заполнитель и выводит точную заметку для вставки в ваше хранилище. Он никогда не видит ваш ключ. **4. Добавьте реальный ключ** в ваше хранилище с этой заметкой, затем маршрутизируйте агента через прокси: ```bash kow env && kow run claude ``` Готово. Агент всегда отправляет только заполнитель; Keys on the Wire подставляет реальный ключ на лету. Новичок? [Руководство по быстрому старту](https://github.com/inflightsec/agent-vault-proxy/blob/main/docs/quickstart.md) подробно описывает первый запуск, а [Предварительные требования](https://github.com/inflightsec/agent-vault-proxy/blob/main/docs/prerequisites.md) охватывает настройку хранилища. Предпочитаете переменные окружения shell вместо `kow run`? См. [Использование](https://github.com/inflightsec/agent-vault-proxy/blob/main/docs/usage.md). ## Прежде чем направлять на него производственные ключи - **Испытайте за одним процессом.** `kow run -- <command>` задаёт переменные прокси и CA только в этом процессе; ваша оболочка входа никогда их не наследует. [Ограничение одним процессом](https://github.com/inflightsec/agent-vault-proxy/blob/main/docs/single-process.md). - **Fail-closed — единственный режим.** Если kow недоступен, маршрутизируемые вызовы завершаются сбоем; привязка с запретом возвращает 503, а не пропускает запрос без защиты. - **Он останавливает кражу, а не злоупотребление.** kow убирает ключ из контекста агента; он не оценивает, зачем вызывается API. Сужение привязки с помощью `methods:` и `paths:` — это рычаг, и он применяется. [Подходит ли вам?](https://github.com/inflightsec/agent-vault-proxy/blob/main/docs/is-it-for-you.md) описывает полные границы. - **Поддержка аутентификации помимо статических заголовков:** OAuth2 refresh и client-credentials, JWT bearer, GitHub App, HMAC и AWS SigV4, с пресетами для Google, Microsoft, Auth0, Slack, Atlassian и Okta. ## Оформите MCP-сервер через брокера Каждый MCP-сервер хранит долгоживущий токен в открытом виде в конфигурации вашего клиента, доступный каждому другому серверу, который загружает клиент. `kow mcp install` заменяет этот постоянный секрет на заполнитель и маршрутизирует исходящий трафик сервера через прокси: ``` kow mcp install github --host api.github.com --env-var GITHUB_PERSONAL_ACCESS_TOKEN \ --server-cmd "npx -y @modelcontextprotocol/server-github" ``` Он выводит заметку для хранилища и точную команду `claude mcp add --env`. Дизайн и модель угроз: [ADR-0040](https://github.com/inflightsec/agent-vault-proxy/blob/main/docs/adrs/ADR-0040-mcp-server-credential-broker.md). ## Привязка — это одна строка Подключение учётных данных — это не написанный вручную YAML. Встроенный [навык kow](https://github.com/inflightsec/agent-vault-proxy/blob/main/skills/kow) спрашивает форму аутентификации и хост, затем сообщает вам точно, что вставить в поле Notes вашего секрета: ``` # kow-binding api.acme.com ``` Эта строка-маркер и делает заметку привязкой; без неё заметка остаётся обычным человеческим описанием и никогда не парсится ([ADR-0025](https://github.com/inflightsec/agent-vault-proxy/blob/main/docs/adrs/ADR-0025-notes-binding-marker.md)). Ассистент предлагает, вы применяете. Он никогда не видит и не хранит секрет. ## Документация **Начните здесь** — [Подходит ли вам?](https://github.com/inflightsec/agent-vault-proxy/blob/main/docs/is-it-for-you.md), если вы оцениваете · [Предварительные требования](https://github.com/inflightsec/agent-vault-proxy/blob/main/docs/prerequisites.md) для настройки хранилища · [Быстрый старт](https://github.com/inflightsec/agent-vault-proxy/blob/main/docs/quickstart.md) для первого запуска за 10 минут. **Понять** — [Концепции](https://github.com/inflightsec/agent-vault-proxy/blob/main/docs/concepts.md) о заполнителе, привязке, CA и fail-closed простыми словами · [Архитектура](https://github.com/inflightsec/agent-vault-proxy/blob/main/docs/architecture.md) о модели угроз, инвариантах G1–G9 и остаточных рисках. **Установка и эксплуатация** — [Linux](https://github.com/inflightsec/agent-vault-proxy/blob/main/docs/install-systemd.md) · [Docker](https://github.com/inflightsec/agent-vault-proxy/blob/main/docs/docker.md) · [macOS](https://github.com/inflightsec/homebrew-keys-on-the-wire) · [Использование](https://github.com/inflightsec/agent-vault-proxy/blob/main/docs/usage.md) · [Один процесс](https://github.com/inflightsec/agent-vault-proxy/blob/main/docs/single-process.md) · [Изоляция Linux](https://github.com/inflightsec/agent-vault-proxy/blob/main/docs/linux-isolation.md) · [Изоляция macOS](https://github.com/inflightsec/agent-vault-proxy/blob/main/docs/macos-isolation.md) · [Google Secret Manager](https://github.com/inflightsec/agent-vault-proxy/blob/main/docs/gcp-secret-manager.md) **Справочник** — [bindings.example.yaml](https://github.com/inflightsec/agent-vault-proxy/blob/main/bindings.example.yaml) — полная схема конфигурации · [Архитектура адаптеров](https://github.com/inflightsec/agent-vault-proxy/blob/main/docs/adapter-architecture.md) о бэкендах хранилищ и как добавить свой · [Сравнение](https://github.com/inflightsec/agent-vault-proxy/blob/main/docs/comparison.md) с Vault Agent, Doppler, `op run` и другими · [CHANGELOG](https://github.com/inflightsec/agent-vault-proxy/blob/main/CHANGELOG.md) · [SECURITY](https://github.com/inflightsec/agent-vault-proxy/blob/main/SECURITY.md) · [CONTRIBUTING](https://github.com/inflightsec/agent-vault-proxy/blob/main/CONTRIBUTING.md) · [CREDITS](https://github.com/inflightsec/agent-vault-proxy/blob/main/CREDITS.md) ## Открытый исходный код, без привязки Каждая функция находится в этом репозитории под лицензией Apache-2.0. Нет платного уровня, нет облачного сервиса, нет телеметрии. Прокси никогда не связывается с домом: его единственные исходящие соединения — это ваше хранилище и вышестоящие API, которые вызывает ваш агент. Если [альтернатива](https://github.com/inflightsec/agent-vault-proxy/blob/main/docs/comparison.md) лучше подходит под вашу настройку, используйте её. Одна необязательная зависимость не является открытым исходным кодом — [`bitwarden-sdk`](https://pypi.org/project/bitwarden-sdk/) для бэкенда Bitwarden, которую вы устанавливаете только если используете этот бэкенд. См. [LICENSE](https://github.com/inflightsec/agent-vault-proxy/blob/main/LICENSE) и [NOTICE](https://github.com/inflightsec/agent-vault-proxy/blob/main/NOTICE).