AWS زبان سیاستگذاری تازهای به نام Dogwood را با مجوز Apache 2.0 متنباز کرده است؛ ابزاری که برخلاف Cedar میتواند به تاریخچه اقدامات گذشته یک ایجنت هوش مصنوعی نگاه کند و بر همان اساس تصمیم بگیرد. این زبان هماکنون در سرویس AgentCore Policy پشتیبانی میشود.
چه اتفاقی افتاد
AgentCore Policy در رویداد re:Invent سال گذشته معرفی شد و بهعنوان یک لایه کنترل قطعی و مستقل از مدل عمل میکند: مدل زبانی یک فراخوانی ابزار را پیشنهاد میدهد، موتور سیاست آن را میپذیرد یا رد میکند، و مدل هیچ نقشی در اجرای واقعی ندارد. زبانی که این تصمیمها بر اساس آن نوشته میشود Cedar است؛ زبانی که AWS در اواخر سال ۲۰۲۵ بهعنوان یک پروژه Sandbox به CNCF واگذار کرد. محدودیت اصلی Cedar این است که فقط یک درخواست را در یک لحظه میبیند و نتیجه آن مستقل از رخدادهای قبلی است؛ ویژگیای که تحلیل خودکار و ممیزی را ساده میکند اما توانایی توصیف یک توالی از اقدامات را از بین میبرد. از آنجا که ایجنتها عملاً کارها را در قالب زنجیرهای از اقدامات انجام میدهند – مثلاً گرفتن تأیید پیش از عمل، رعایت سقف تراکنش تجمعی یا توقف تماس با طرفهای خارجی پس از دسترسی به داده محرمانه – این محدودیت بهطور مستقیم مانع پیادهسازی سیاستهای واقعی میشود. Dogwood این خلأ را با افزودن یک نوع شرط جدید پر میکند: در حالی که شرط استاندارد Cedar در بخش when قرار میگیرد، شرط زمانی در when temporal نوشته میشود و میتواند تاریخچه رخدادهای ایجنت را بخواند. این رخدادها همان درخواستها و نتایج فراخوانی ابزارها هستند که آرگومانهای ورودی و اصل درخواستکننده را هم در بر میگیرند. اسکیمای اقدامات نیز مستقیماً از manifest ابزارهای MCP ایجنت تولید میشود. در سطح پیادهسازی، هر شرط زمانی به یک فیلد context در Cedar ترجمه میشود که پیش از تصمیمگیری، از تاریخچه رخدادها پر میشود. چهار عملگر اصلی این کار را انجام میدهند: formerly برای بررسی وقوع رویداد در یک بازه، count_within برای شمارش تکرار، count_distinct_within برای شمارش مقادیر متفاوت، و sum_within برای محاسبه مجموع تجمعی؛ همه اینها بهعنوان ماکروهای کتابخانه استاندارد روی یک زیرمجموعه از منطق زمانی مرتبه اول متریک تعریف شدهاند، نه بهعنوان عناصر بنیادین زبان. AWS در گزارش خود یک نمونه هشداردهنده از دامهای همزمانی را توضیح داده است: اگر سیاست محدودیت نرخ بر اساس رویدادهای پاسخ نوشته شود نه درخواست، سه انتقال همزمان ۲۰۰۰ دلاری که پیش از تسویه هر یک وارد میشوند میتوانند از سقف ۵۰۰۰ دلاری عبور کنند، چون هیچ پاسخی هنوز ثبت نشده است؛ در حالی که همان سیاست با محاسبه بر پایه درخواستها، درخواست سوم را رد میکند.چرا مهم است
این مسئله یک نکته فنی جزئی نیست، بلکه بازتاب یک مشکل شناختهشده سیستمهای توزیعشده در بستری تازه است. ایجنتها فراخوانیهای ابزار را بهصورت موازی صادر میکنند و در سناریوهای چند-ایجنتی، درهمتنیدگی این فراخوانیها پیچیدهتر هم میشود. سیاستی که در حالت ترتیبی درست به نظر میرسد، میتواند زیر بار همزمانی شکست بخورد. هزینه این قابلیت تازه هم شفاف بیان شده است: ارزیابی زمانی نیازمند ردیابی حالتدار رخدادهاست و زمان ارزیابی میتواند به طول تاریخچه رویدادها وابسته باشد. مهمتر آنکه شرطهای زمانی از ابزارهای تحلیل خودکار Cedar پشتیبانی نمیکنند، یعنی مجموعه سیاستی که از آنها استفاده کند دیگر قابل تحلیل رسمی نیست. به گفته تیم توسعه، همین موضوع دلیل ساخت یک زبان جداگانه بهجای گسترش مستقیم Cedar بوده است. نکته مثبت این است که هر سیاست معتبر Cedar بهطور خودکار یک سیاست معتبر Dogwood هم هست و نیازی به بازنویسی سیاستهای موجود نیست؛ اصول deny-by-default و برتری forbid بر permit هم حفظ شدهاند. با این حال AWS تأکید کرده که مفسر مرجع فعلی صرفاً برای بررسی و آزمایش زبان است و نباید در محیط تولید برای احراز هویت واقعی استفاده شود. این انتشار همزمان با انتشار مشخصات MCP نسخه ۲۰۲۶-۰۷-۲۸ رخ داده که با الزام هدرهای method و tool-name، ترافیک ایجنتها را برای زیرساخت HTTP قابلفهم میکند. این دو تحول مکمل هم هستند: هدرها به دروازههای شبکه اجازه میدهند ببینند کدام ابزار فراخوانی شده، و Dogwood مشخص میکند مجموع یک توالی از این فراخوانیها چه چیزی را میتواند به همراه داشته باشد.توصیه عملی
- سیاستهای مبتنی بر محدودیت نرخ یا سقف تجمعی را همیشه بر پایه رویدادهای درخواست بنویسید، نه رویدادهای پاسخ، تا از سوءاستفاده در شرایط همزمانی جلوگیری شود.
- پیش از هرگونه استفاده تولیدی، منتظر یک پیادهسازی production-ready بمانید؛ مفسر فعلی صرفاً برای آزمایش و اعتبارسنجی طراحی شده است.
- زیرساخت ثبت رویداد را از هماکنون آماده کنید: مهرزمانیهای قابلاعتماد، احراز هویت رویدادها، ذخیرهسازی پایدار تاریخچه، ثبت تصمیمات، و جداسازی کامل تاریخچه بین مستأجرها.
- سیاست حفظ داده (retention) برای تاریخچه فراخوانی ابزار تدوین کنید، چون این دادهها میتوانند اطلاعات حساس را در خود نگه دارند.
- روند همزمان استانداردسازی MCP و ابزارهای حاکمیتی مانند Dogwood را رصد کنید، چون این دو با هم زیرساخت کنترل ایجنتهای تولیدی را شکل میدهند.
جمعبندی
Dogwood نشان میدهد که کنترل ایجنتهای خودکار در مقیاس، فراتر از بررسی تکتک درخواستها به تحلیل توالی و همزمانی نیاز دارد؛ مسئلهای که سیستمهای توزیعشده پیشتر با آن دستوپنجه نرم کرده بودند. با این حال، فاصله میان انتشار متنباز و آمادگی برای تولید هنوز باقی است و AWS بهصراحت این را اذعان کرده است.منابع
چه کار کنیم؟
سیاستهای مبتنی بر محدودیت نرخ یا سقف تجمعی را همیشه بر پایه رویدادهای درخواست بنویسید، نه رویدادهای پاسخ، تا از سوءاستفاده در شرایط همزمانی جلوگیری شود.؛ پیش از هرگونه استفاده تولیدی، منتظر یک پیادهسازی production-ready بمانید؛ مفسر فعلی صرفاً برای آزمایش و اعتبارسنجی طراحی شده است.؛ زیرساخت ثبت رویداد را از هماکنون آماده کنید: مهرزمانیهای قابلاعتماد، احراز هویت رویدادها، ذخیرهسازی پایدار تاریخچه، ثبت تصمیمات، و جداسازی کامل تاریخچه بین مستأجرها.؛ سیاست حفظ داده (retention) برای تاریخچه فراخوانی ابزار تدوین کنید، چون این دادهها میتوانند اطلاعات حساس را در خود نگه دارند.؛ روند همزمان استانداردسازی MCP و ابزارهای حاکمیتی مانند Dogwood را رصد کنید، چون این دو با هم زیرساخت کنترل ایجنتهای تولیدی را شکل میدهند.
منبع
InfoQ —
این تلنگر پیش از انتشار بهدست کارشناسان امنیت نوآیین بازبینی شده است.
محتوای آن راهنمای عمومی است و جای ارزیابی تخصصی شرایط سازمان شما را نمیگیرد.