تصور کنید یک عامل هوش مصنوعی در حال مدیریت دهها سرویس مختلف است و یک خطای کوچک در لاگها، تمام کلیدهای امنیتی شرکت شما را برای دنیا افشا کند. این کابوس امنیتی اکنون با راهکاری مهندسیشده به نام OneCLI به پایان میرسد.
طبق اعلام این پروژه، در ۲۳ ژوئیه ۲۰۲۶، OneCLI بهعنوان یک درگاه (Gateway) متنباز معرفی شد تا شکاف امنیتی موجود در تعامل عاملها با APIها را پر کند. مشکل اینجاست که وقتی عامل (Agent) — همان برنامههای هوشمند که میتوانند بهطور مستقل تصمیم بگیرند و ابزارها را اجرا کنند — مستقیماً با کلیدهای API کار میکند، این اسرار در تاریخچه گفتگوها یا فایلهای لاگ ذخیره میشوند.
زمینه (Context)
مدیریت اعتبارنامهها برای دهها API، یکی از دشوارترین نقاط برای توسعهدهندگان جریانهای کاری خودکار است. برای درک سادهتر، این سیستم شبیه یک «valet» یا پارکبان شرکتی است؛ عامل فقط یک بلیط (کلید جایگزین) ارائه میدهد و این درگاه است که خودروی واقعی (کلید اصلی API) را بدون اینکه عامل هرگز آن را لمس کند، مدیریت میکند. طبق مخزن گیتهاب این پروژه، این معماری تضمین میکند که عاملها هرگز اسراری را که از آنها استفاده میکنند، نبینند.
به جای جاسازی (Baking) کلیدهای API در هر عامل بهصورت مجزا، توسعهدهنگان اعتبارنامهها را تنها یکبار در OneCLI ذخیره میکنند. این کار مدیریت دسترسیها را متمرکز کرده و به تیمها اجازه میدهد تا کلیدها را تغییر دهند (Rotate) و دقیقاً نظارت کنند که هر عامل چه کاری انجام میدهد، در حالی که تمام کنترلها در یک نقطه واحد متمرکز است.
بر اساس مستندات گیتهاب این پروژه، OneCLI از یک معماری سه-بخشی بهره میبرد:
- درگاه Rust: یک پروکسی با کارایی بالا و حافظه ایمن که درخواستهای HTTP خروجی را میگیرد و اعتبارنامهها را از طریق هدرهای Proxy-Authorization تزریق میکند. این بخش از طریق متد interception برای HTTPS بهصورت MITM (مرد وسط) عمل میکند.
- داشبورد وب: اپلیکیشنی بر پایه Next.js (که روی پورت ۱۰۲۵۴ اجرا میشود) برای مدیریت عاملها، اسرار و مجوزهای خاص. این داشبورد، API مورد نیاز درگاه را برای تشخیص اینکه چه اعتبارنامهای باید تزریق شود، فراهم میکند.
- مخزن اسرار: سیستمی با رمزنگاری AES-256-GCM که دادهها را در حالت استراحت (at rest) رمزگذاری کرده و فقط در لحظه دقیق ارسال درخواست، آنها را رمزگشایی میکند.
جزئیات (Details)
این سیستم برای محافظت از دادهها از یک مکانیزم جایگزینی (Swap) دقیق استفاده میکند:
- کلیدهای جایگزین (Placeholder Keys): به عاملها کلیدهای جعلی (مثلاً
FAKE_KEY) داده میشود تا در فراخوانیهای خود از آنها استفاده کنند. - جایگزینی پویا (Dynamic Swapping): وقتی یک عامل درخواست HTTP ایجاد میکند، درگاه آن درخواست را با اعتبارنامههای صحیح مطابقت داده و
FAKE_KEYرا باREAL_KEYجایگزین میکند. - روشهای تزریق: اسرار بهصورت هدر (Header) یا پارامترهای پرسوجوی URL (Query Parameters) در درخواستهای خروجی تزریق میشوند.
- مسیریابی (Routing): درگاه از تطبیق الگوهای میزبان (Host) و مسیر (Path) استفاده میکند تا اطمینان حاصل شود اسرار به نقاط پایانی (Endpoints) صحیح API میرسند.
برای انعطاف بیشتر، OneCLI با سرویسهای ذخیرهساز (Vault) مانند Bitwarden ادغام میشود تا اعتبارنامهها را بر حسب تقاضا (On-demand) تزریق کند، بدون اینکه نیاز باشد اسرار روی سرور محلی ذخیره شوند. توسعهدهندگان میتوانند کل این پشته، شامل یک پایگاه داده PostgreSQL را، با یک دستور ساده curl راهاندازی کنند: curl -fsSL https://onecli.sh/install | sh. متناوباً، میتوان آن را بهصورت دستی از طریق Docker Compose با دستور docker compose -f docker/docker-compose.yml up -d --wait اجرا کرد.
برای توسعهدهنده، این موضوع مدل امنیتی را از «اعتماد به عامل» به «اعتماد به درگاه» تغییر میدهد. با جدا کردن هویت از منطق عامل، تیمها میتوانند بدون بهروزرسانی کد در چندین عامل مختلف، کلیدها را تغییر داده و کاربرد آنها را در یک مکان مرکزی مانیتور کنند. این رویکرد بهطور مؤثری با عاملهای هوش مصنوعی بهعنوان کلاینتهای «نامعتبر» (Untrusted) برخورد میکند؛ اقدامی که با افزایش خودمختاری عاملها در محیطهای عملیاتی (Production)، ضروری است.
از آنجآ که این ابزار هم حالت تککاربره محلی (که به .env یا NEXTAUTH_SECRET نیاز ندارد) و هم سیستم Google OAuth برای تیمها (از طریق GOOGLE_CLIENT_ID و GOOGLE_CLIENT_SECRET) را پشتیبانی میکند، از لپتاپ یک علاقهمند تا محیطهای سازمانی مقیاسپذیر است. انتخاب زبان Rust برای لایه درگاه تضمین میکند که این لایه میانی تبدیل به یک گلوگاه عملکردی یا یک حفره امنیتی جدید نشود.
شما میتوانید جزئیات کامل پیادهسازی، شامل مهاجرتهای Prisma ORM و کامپوننتهای مشترک shadcn/ui و دستورالعملهای مشارکت را در مخزن گیتهاب OneCLI بررسی کنید تا securing جریانهای کاری عاملمحور خود را آغاز کنید.
گام بعدی شما
- اگر از عاملهای خودکار برای دسترسی به APIهای حساس استفاده میکنید، مستندات OneCLI را در گیتهاب بررسی کنید.
- معماری فعلی خود را تحلیل کنید تا ببینید کجا کلیدهای API بهصورت متن ساده (Plaintext) در محیط اجرا قرار دارند.
- برای محیطهای تیمی، یکپارچهسازی با Bitwarden را برای حذف ذخیرهسازی محلی اسرار امتحان کنید.
این تنها آغاز ماجراست؛ بررسی اینکه چگونه پروتکلهای جدید مدیریت زمینه میتوانند امنیت این عاملها را در لایه منطق (و نه فقط شبکه) بهبود ببخشند، در گزارش بعدی ما خواهد بود.




گفتگو