العودة إلى التحديثات
New releaseJul 31, 2026

agent-vault-proxy v0.9.0

مفاتيح API في الوقت المناسب للوكلاء الذكاء الاصطناعي - وأي عملية أخرى تقوم بتوجيهها من خلاله: لا يرى المتصل سوى عنصر نائب.

مشاركة

keys-on-the-wire

مفاتيح API تُسلَّم عند الحاجة (just-in-time) لوكلاء الذكاء الاصطناعي ولأي عملية أخرى توجّهها عبرها: لا يرى المستدعي سوى عنصر نائب.

سابقًا agent-vault-proxy. اسم الواجهة الآن kow؛ أمر avp القديم ما زال يعمل في هذا الإصدار وسيُزال في الإصدار الرئيسي التالي (ADR-0045).

تحميك Keys on the Wire من سارقي بيانات الاعتماد (Shai-Hulud وما شابه) ومن تسريب الوكلاء المخترقين عبر حقن البرومبت لأسرارك. إنها وكيل محلي يحقن الأسرار الحقيقية في الطلبات أثناء تنقّلها، فلا يجد الوكيل المخترَق أو المخترَق عبر حقن البرومبت شيئًا يسرقه.

PyPI License: Apache-2.0 CI

كيف يستبدل keys-on-the-wire الأسرار أثناء عبورها الشبكة

تحت الغطاء: وكيل HTTPS على الحلقة المحلية (loopback) يجلب بيانات الاعتماد من Bitwarden Secrets Manager (سحابي أو مستضاف ذاتيًا) عند الحاجة تمامًا ويحقنها في الطلبات الصادرة، فلا تحتفظ العملية المستدعية أبدًا بالبايتات الحقيقية لبيانات الاعتماد داخل مساحة عنوانها.

مفتوح المصدر بالكامل، وبسيط عن قصد

كل ميزة موجودة في هذا المستودع بموجب Apache-2.0، دون طبقة مدفوعة، أو إصدار مؤسسات، أو سحابة موثوقة، أو تتبع عن بُعد. يمكنك قراءة المشروع كاملًا من أوله إلى آخره (بضعة آلاف من الأسطر) وتشغيله إلى الأبد.

سير العمل بالكامل خطوة واحدة: تطلب من المهارة المرفقة توجيه خدمة، فتخبرك بالسطر الوحيد الذي تلصقه في Bitwarden (أو خزنتك)، تلصقه، فتتم وساطة الوكيل. انتهى. ولأن كل بيانات اعتماد موسَّطة هي ربط (binding) واحد، فإن الإعداد هو القائمة الكاملة القابلة للتدقيق التي تحدد بالضبط أي الأسرار يمكن لكل وكيل الوصول إليها: لا شيء ضمني أو مخفي.

الهدف هو مفاتيح حقيقية أقل داخل وكلاء الذكاء الاصطناعي في كل مكان، لا الاحتكار (lock-in). إذا كان Keys on the Wire مناسبًا فاستخدمه؛ وإذا كان أحد البدائل يناسب إعدادك أكثر فاستخدم ذلك. أي أداة تُبقي السر الحقيقي خارج ذاكرة الوكيل هي مكسب.

جرّبها. 10 ثوانٍ.

1. التثبيت - Linux عبر pipx، وmacOS عبر brew:

pipx install 'keys-on-the-wire[bitwarden]'   # [bitwarden] adds the Bitwarden backend SDK; drop it for AWS/GSM/env only
# macOS: brew install inflightsec/keys-on-the-wire/keys-on-the-wire
sudo kow setup --bws        # paste your Bitwarden token — generates the CA, starts the daemon

2. ثبّت المهارة ليكتب وكيلك الربط نيابةً عنك:

/plugin marketplace add inflightsec/agent-vault-proxy
/plugin install avp@agent-vault-proxy

3. اطلب من المهارة توسيط خدمة - قل مثلًا: "وجّه واجهة Stripe API عبر Keys on the Wire." فتنشئ العنصر النائب وتطبع الملاحظة الدقيقة التي تلصقها في BitWarden؛ ولا ترى مفتاحك أبدًا.

4. ضع السر في خزنتك - أضف المفتاح الحقيقي إلى Bitwarden Secrets Manager (أو Google Secret Manager) مع تلك الملاحظة، ثم وجّه وكيلك عبر الوكيل:

kow env && kow run claude

انتهى: لا يرسل الوكيل سوى العنصر النائب أبدًا؛ ويستبدل Keys on the Wire المفتاح الحقيقي أثناء عبوره الشبكة.

بدلًا من kow run، يمكنك تصدير متغيرات الوكيل + CA في ~/.zshrc الخاص بوكيلك (أو أي ملف rc للصدفة) - راجع الاستخدام للمقطع المعتمد. الخيار دائم، لكنه يوجّه صدفة كاملة عبر Keys on the Wire، وليس فقط الوكيل الذي يطلقها.

شاهدها أثناء العمل

عرض keys-on-the-wire التوضيحي: حقن البرومبت مقابل عزل بيانات الاعتماد

أضف سرًا عبر وكيل الذكاء الاصطناعي: دون تحرير الإعداد

إدخال بيانات اعتماد موسَّطة جديدة لا ينبغي أن يعني كتابة YAML الربط يدويًا. تتيح لك مهارة avp المرفقة أن يرشدك مساعد ذكاء اصطناعي (Claude Code، أو أي وكيل يحمّل المهارات) خلال الخطوات: تقول "وجّه واجهة Acme API عبر Keys on the Wire،" فيسأل عن شكل المصادقة والمضيف، ثم يخبرك بالضبط بما تضيفه: اسم السر بالإضافة إلى التعليق التوضيحي الذي تلصقه في حقل Notes في Bitwarden Secrets Manager (أو تعليق avp-binding في Google Secret Manager، أو البيانات الوصفية الخاصة بكل سر في واجهة خلفية مستقبلية). دون تعديل الإعداد أو إعادة النشر، ولا يرى المساعد السر أو يخزنه أبدًا؛ إنه يقترح وأنت تطبّق.

الملاحظة نفسها سطران يُلصقان في حقل Notes الخاص بالسر:

# avp-binding
api.acme.com

سطر العلامة هو ما يجعلها ربطًا: أي ملاحظة لا يكون سطرها الأول # avp-binding تبقى كما هي، وصفًا بشريًا، لا تُحلَّل أبدًا (ADR-0025). (تحتفظ علامة avp-binding والمسارات على القرص بأسمائها في هذا الإصدار للتوافق مع الإصدارات السابقة؛ وستنتقل إلى kow في الإصدار الرئيسي التالي - راجع ADR-0045.)

تثبيت المهارة

Claude Code (موصى به) - ثبّتها كإضافة، لتتوفر في كل مشروع وتتحدّث عبر /plugin marketplace update:

/plugin marketplace add inflightsec/agent-vault-proxy
/plugin install avp@agent-vault-proxy

استدعِها عبر /avp:avp، أو فقط قل "وجّه واجهة Acme API عبر Keys on the Wire" وستُفعَّل من تلقاء نفسها. (تحتفظ الإضافة المرفقة باسم avp حاليًا؛ وستُعاد تسميتها مع ترحيل سوق الإضافات.)

يدويًا (أي وكيل يحمّل مهارات بصيغة Anthropic) - انسخ skills/avp/ أو أنشئ رابطًا رمزيًا له داخل دليل مهارات وكيلك؛ يقرأ Claude Code من ~/.claude/skills/. الرابط الرمزي يُبقيه محدَّثًا عند git pull:

ln -s "$PWD/skills/avp" ~/.claude/skills/avp

توسيط خادم MCP

خوادم MCP سطح تسريب بيانات اعتماد سريع النمو: يحمل كلٌّ منها رمزًا علويًا طويل العمر (PAT من GitHub، أو مفتاح Slack/Brave/Perplexity) بنص صريح في إعداد عميلك، حيث يمكن لأي خادم يحمّله العميل قراءته. يستبدل 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 / codex mcp add --env الدقيق (الوكيل + الثقة بـ CA لكل بيئة تشغيل + متغير بيئة نائب): اقتراح فقط للخزنة، ولا تُمس قيمة السر أبدًا. يمكن لـ مهارة avp المرفقة استنتاج المضيف/الترويسة/الصيغة من وثائق الخادم وتأكيد المضيف معك أولًا. التصميم + نموذج التهديدات: ADR-0040.

الوثائق

  • هل Keys on the Wire مناسب لك؟ - ماذا يفعل، وما الذي لا يفعله عمدًا، ولماذا، ومتى تلجأ إليه (ابدأ هنا إذا كنت تتفقّد الخيارات)
  • البدء السريع - أول تشغيل خلال 10 دقائق ينتهي باستبدال مرئي
  • مفاهيم - العنصر النائب، والربط، والـ CA، والإغلاق الآمن عند الفشل، بعبارات بسيطة
  • المتطلبات الأساسية - إعداد Bitwarden Secrets Manager (افعل هذا أولًا)
  • التثبيت على Linux · Docker · macOS
  • الاستخدام - توجيه وكيلك نحو الوكيل
  • عزل Linux - دمج Keys on the Wire مع bubblewrap لعزل نظام الملفات
  • bindings.example.yaml - مخطط الإعداد الكامل
  • مهارة avp - دع مساعدًا ذكيًا يكتب روابط ملاحظاتك/تعليقاتك التوضيحية (اقتراح فقط، دون تعديل الإعداد أو إعادة النشر)
  • توسيط خادم MCP - شغّل خوادم Claude Code / Codex MCP دون بيانات اعتماد نصية صريحة (kow mcp install)
  • البنية المعمارية - نموذج التهديدات، والثوابت G1–G9، والتحصين، والمخاطر المتبقية
  • بنية المحوّلات - الواجهات الخلفية للخزنة (Bitwarden وGoogle Secret Manager وAWS Secrets Manager متوفرة اليوم، وstatic للتطوير) وكيفية إضافة واحدة أخرى
  • Google Secret Manager - احفظ الأسرار في GSM: الإعداد، والمصادقة بدون مفاتيح، والاختبار الشامل (end-to-end)
  • المقارنة - مقابل Vault Agent وDoppler وop run وsuperfly/tokenizer وOneCLI وأدوات بيانات اعتماد الوكلاء الأخرى (استخدم ما يناسبك: الهدف حماية مزيد من الوكلاء، لا الاحتكار)
  • CHANGELOG · SECURITY · CONTRIBUTING · CREDITS

لا يتصل الوكيل بأي جهة خارجية أبدًا. الاتصالات الصادرة الوحيدة التي يجريها هي إلى نقطة نهاية BWS التي تهيئها وإلى واجهات API العلوية التي يستدعيها وكيلك. لا تتبع عن بُعد. سجل التدقيق في /var/log/agent-vault-proxy/audit.jsonl محلي فقط افتراضيًا؛ ويمكن إرسال خارجي اختياري يعيد توجيهه (من حاوية جانبية منفصلة، وليس من الوكيل أبدًا) إلى جامع بيانات تشغّله وتتحكم فيه أنت فقط.

الترخيص

Apache-2.0: راجع LICENSE وNOTICE؛ منح البراءات الصريح متعمَّد في أداة أمنية (ADR-0037). كل ميزة تأتي هنا، دون نموذج open-core، أو طبقة مؤسسات، أو خدمة مستضافة. انسخه (fork)، واقرأه بالكامل، وشغّله إلى الأبد. تظل الإصدارات حتى 0.9.0 متاحة بموجب شروط MIT الأصلية واسم agent-vault-proxy. يُعترف بالأعمال السابقة في CREDITS.md.

اعتماد واحد ليس مفتوح المصدر، وهو اختياري. الواجهة الخلفية الاختيارية لـ Bitwarden تجلب bitwarden-sdk، وهو خاضع لرخصة SDK الاحتكارية الخاصة بـ Bitwarden، وليست Apache-2.0. لا يضمّنها Keys on the Wire أبدًا؛ بل تثبّتها بنفسك (pip install 'keys-on-the-wire[bitwarden]') فقط إذا كنت تستخدم تلك الواجهة الخلفية. التثبيت الافتراضي والواجهات الخلفية AWS Secrets Manager وGoogle Secret Manager وenv مفتوحة المصدر 100%.

الفئات