فراخوانی یک ابزار توسط عامل هوش مصنوعی فراتر از یک پاسخ متنی ساده است و وارد حوزهای از اجرا میشود که خطرات جدیدی بههمراه دارد. وقتی عامل فقط متن تولید میکند، آسیبپذیریها محدودند؛ اما اگر بخواهد لاگ بخواند، تیکت را بهروزرسانی کند یا یک worker را ریاستارت کند، مسائل امنیتی، هویت و حکمرانی فوریت پیدا میکنند.
چرا فراخوانی ابزار شکل ریسک را تغییر میدهد
فراخوانی ابزار یعنی اعطای دسترسی به منابع واقعی: سیستمهای داخلی، مخازن لاگ، فرایندهای استقرار یا APIهای حساس. در چنین شرایطی مهندسی پرامپت تنها بخشی از کنترل است؛ کنترلهای اجرایی باید مستقل از مدل پیادهسازی شوند تا از اجرای ناخواسته یا مخرب جلوگیری کنند.
سوالهای اساسی معماری
- چه کسی فراخوانی را ارسال کرده است؟
- آیا ابزار در رجیستری مورد اعتماد ثبت شده و عمداً در معرض قرار گرفته است؟
- آیا سیاستهای غیرقابلتغییر مانع اجرای این عمل میشوند؟
- آیا نقش فراخواننده اسکوپ لازم را دارد؟
- آیا آرگومانهای ورودی معتبر و قابلقبولاند؟
- آیا عمل خواندنی، قابلواگرد، پرخطر یا مخرب است؟
- آیا نیاز به تأیید انسانی وجود دارد؟
- آیا تصمیم بهصورت محلی حسابرسی خواهد شد؟
توضیحات ابزار جایگزین تصمیم اجرایی نیست
توضیحات به زبان طبیعی به مدل کمک میکنند تا ابزار مناسب را پیشنهاد دهد، اما هرگز جای قرارداد اجرا و اختیاردهی را نمیگیرند. مثلاً برچسب «مدیریت زیرساخت» در یک ابزار مشخص نمیکند عملِ «مدیریت» به خواندن لاگ مربوط است یا حذف منابع. تفکیک انتخاب ابزار از تصمیم اجرا الزامی است: مدل تنها پیشنهاددهنده است و لایه سیاست تصمیمگیرنده.
معماری حداقلی مرزبندی مجوز
کوچکترین معماری پذیرفتنی برای اجرای ایمن باید این مراحل را داشته باشد:
- دریافت و ثبت درخواست عامل
- جستوجو در رجیستری ابزار مورد اعتماد و بارگذاری متادیتای ریسک
- اعمال سیاستهای ایستا و غیرقابلتغییر
- تأیید نقش و اسکوپ فراخواننده
- اعتبارسنجی سختگیرانهٔ آرگومانها
- گیت تأیید انسانی زمانی که لازم است
- اجرای ابزار توسط لایهٔ اجرایی امن
- ثبت کامل برای حسابرسی و بازپخش
رجیستری ابزار باید متادیتای ریسک و اسکوپ هر ابزار را نگهداری کند و سیاستها باید بهصورت قطعی و شکستسریع (شکستسریع یا fail-fast) اجرا شوند. نمونههای مرجع این الگوها را میتوان در GitHub مشاهده کرد و برای مباحث هویت و اختیاردهی به صفحه Authorization در ویکیپدیا مراجعه کرد.
الگوی سیاست: اجرای شکستسریع
یک پیادهسازی امن معمولاً این توالی را دنبال میکند: ابتدا سیاستهای غیرقابلتغییر را اعمال کن، سپس نقش و دسترسی را بررسی کن، بعد آرگومانها را اعتبارسنجی کن و در نهایت در صورت پرخطر بودن عمل، گیت تأیید انسانی را فعال کن. این ترتیب باعث میشود هزینههای بررسی عملیاتهای کمخطر قبل از اعمال هزینههای ارزیابی سنگینتر انجام شود.
نمونه پیکربندی نقشها
DEFAULT_ROLE_SCOPES = {
"viewer": frozenset({"logs:read"}),
"operator": frozenset({"logs:read", "worker:restart:request"}),
"admin": frozenset({"logs:read", "worker:restart:request", "deploy:request"}),
}
توابع سیاست معمولاً به این صورت عمل میکنند: اول ابزارهای شناختهشدهٔ مخرب را مسدود کن، سپس بررسی کن که نقش فراخواننده اسکوپ لازم را دارد، بعد آرگومانها را با اسکما مقایسه کن و در پایان در صورت نیاز گیت تأیید انسانی را اعمال کن.
اعتبارسنجی آرگومانها و جلوگیری از گسترش دامنه
مجوزدهی بهتنهایی کافی نیست؛ کاربری که مجاز است میتواند آرگومانهای نامعتبر یا غیرمنتظره ارسال کند. هر ابزار باید اسکمای ورودی مشخص داشته باشد و مقادیر ورودی با فهرستهای سفید و قواعد معتبرسازی تطبیق داده شوند. برای نمونه، ابزار read_logs باید تنها پارامتر service را از میان سرویسهای شناختهشده بپذیرد و هر پارامتر اضافی را رد کند.
حسابرسی و شفافیت
تمام تصمیمهای اجرایی باید بهصورت محلی لاگ شوند: چه کسی درخواست کرده، چه اسکوپهایی بررسی شده، چه آرگومانهایی ارسال شده و نتیجهٔ اعمال سیاست چه بوده است. این لاگها برای ممیزی، تحلیل حادثه و بهبود سیاستها ضروریاند. سازمانهایی که نیاز به ارزیابی عمیقتری دارند میتوانند از الگوها و ابزارهای OWASP برای تحلیل تهدید بهره ببرند.
پیشنهادهای عملگرا
- در رجیستری ابزار مورد اعتماد سرمایهگذاری کنید تا متادیتای ریسک و اسکوپ را نگهدارد.
- تصمیم اجرا را از مدل جدا کنید؛ مدل صرفاً پیشنهاددهنده باشد و لایه سیاست تصمیمگیرندهٔ نهایی باشد.
- سیاستها را بهصورت شکستسریع ترتیبدهی کنید: سیاستهای غیرقابلتغییر، نقش، اعتبارسنجی آرگومان، سپس گیت تأیید.
- عملیات پرخطر را بهصورت پیشفرض مسدود کنید و جریانهای تأیید انسانی واضح و قابل ردیابی تعریف کنید.
- حسابرسی کامل و قابل بازیابی از تمام فراخوانیها نگهدارید.
عاملهای هوش مصنوعی زمانی به مرز مجوز جدی نیاز دارند که از فضای متن صرف خارج شده و به منابع تولیدی دسترسی پیدا کنند. قراردادن یک لایهٔ حکمرانی روشن و قطعی بین مدل و اجرای واقعی، تفاوت میان یک نمونهٔ آزمایشی امن و یک سامانهٔ تولیدی پرخطر را رقم میزند.





