سوئیچ ها، شکاف مدارها و توکن های کاناری را بکشید
Type: Learn
Languages: Python (stdlib, three-detector simulator: kill switch, circuit breaker, canary)
Prerequisites: Phase 15 · 13 (Cost governors), Phase 15 · 10 (Permission modes)
Time: ~60 minutes
مشکل
دولت هزینه ها (درسی 13) آنچه را که نماینده می تواند خرج کند محدود می کند. آنها آنچه را که نماینده می تواند در داخل بودجه انجام دهد محدود نمی کنند. یک نماینده با محدودیت سرعت 50 دلار هنوز هم می تواند یک راز را افشا کند، پست اشتباه را منتشر کند یا یک منبع را حذف کند.
این درس سه دستگاه شناسایی را که در کنار لایه هزینه قرار دارند پوشش می دهد:
- Kill switch: دکمه خارج از دست بازداشت شده خارج از دسترس مامور.
- Circuit breaker: آشکارساز الگوی عمل که یک مسیر خاص را متوقف می کند.
- Canary token: طعمه ای که یک عامل بدون دلیل مشروع برای لمس کردن خود را با لمس کردن آشکار می کند.
سه مورد این مهندسی قبل از LLM هستند. فریب کلاسیک، شکستن محدودیت نرخ و نشان دهنده ویژگی ها، عوامل مستقل را قبل از آن می کشد. جدیدترین چیزی که در سطح حمله وجود دارد: عوامل محتوای غیرقابل اعتماد را می خوانند (درس 11), حافظه خود را ویرایش می کنند و می توانند بسیاری از اقدامات ایمن را به یک غیر ایمن تبدیل کنند. آشکارسازان که در اینجا نامگذاری شده اند کار می کنند زیرا به گزارش خود عامل اعتماد ندارند.
مفهوم
سوئیچ های خاموش
یک کلید کایل یک بولی است که توسط عامل خوانده می شود اما نمی تواند بنویسد. انتخاب های پیاده سازی:
- Feature flag in a managed service.راه اندازی، تارک، استاتس، آزاد کن، تازه ها در ثانیه پخش می شوند.
- Redis key the agent polls.ساده است، به عمل مامور نیاز داره که هر نوبت رو چک کنه
- Signed config in object storage.مامور امضا رو در بوت تایید ميکنه، امضا نشده ها رو رد ميکنه
- OS-level signal or container-lifecycle kill.دوکر
kill، کوبرنتسkubectl delete pod، سیستم متوقف شد
خواص یک سوئیچ درست کشتن:
- مامور نمي تونه به اين وضعيت برسه
off(در سيستمي زندگي ميکنه که اسناد مامور نوشته نميشه) - این در هر اقدام بعدی بررسی می شود، نه فقط در شروع.
- وقتی خاموش می شود، عامل هیچ کاری را که از خارج قابل مشاهده باشد انجام نمی دهد، از جمله ثبت نام به سیستم هایی که عامل می تواند به آنها دسترسی داشته باشد.
- دوباره فعال کردنش عمل صریحي انسانيه نه یک توقف خودکار
قطع مدار
یک قطع مدار یک الگوی خاص را متوقف می کند، نه کل عامل. شکل کلاسیک (از کتاب 2007 Nygard، هنوز هم در حال حاضر):
- Closed: اقدام مجاز است.
- Open: عمل مسدود شده
- Half-open: پس از خنک شدن، 13 تلاش برای صوتی اجازه داده می شود (پیش فرض 1); موفقیت برکنر را می کند، هر شکست باقی مانده دوباره باز می کند.
عوامل موثر در مورد عامل:
- پنج تماس یکسانی در یک ردیف (لپ تکرار)
- پنج شکست متوالی در یک ابزار با ورودی های مختلف (شکست سیستم)
- نرخ تماس ابزار بالاتر از یک حد (سرعت درس 13)
- ابزار خاص مورد استفاده قرار گرفته است (به عنوان مثال:
file.delete) پس از خواندن محتوای غیرقابل اعتماد (درس 11)
توکن های کاناری
توکن های کاناری (که به عنوان honeytokens نیز شناخته می شوند) ورودی هایی هستند که عامل نباید آنها را لمس کند. دسترسی هشدار است.
نمونه هایی برای عوامل:
- يه جعلي
AWS_SECRET_ACCESS_KEYدر محیط بدون امتیازات واقعی تلاش های افشای در لحظه قابل توجیه است. - یک پرونده پایگاه داده جعلی با یک ارزش سنتینل شناخته شده نشان داده شده هر خواندن یا به روز شدن این پرونده یک هشدار می دهد.
- یک فایل جعلی در فضای کاری. خواندن یا ویرایش این فایل مشکوک است.
- یک ورودی حافظه جعلی در زمان شروع جلسه تزریق شده. اگر در یک محصول بعدی ظاهر شود، حافظه خارج شده است.
طراحی کاناری مخصوص جریان کار است. یک کاناری که عامل به طور مشروع به آن دست می دهد، شور است.
چرا محدوده های آماری و سخت
آشکارساز های آماری (EWMA، CUSUM، z-score در نرخ تماس ابزار) با یک خط پایه متحرک سازگار می شوند. این یک ویژگی برای حرکت مشروع و یک خطا برای حرکت مخالف است. یک مهاجم بیمار می تواند خط پایه را به اندازه کافی آهسته تغییر دهد تا هیچ هشدار آتش نمی کند.
محدودیت های سخت قانون اساسی (درس 17) خم نمی شوند.secrets@" به عنوان یک قانون اساسی ساده تر، قابل بررسی و قابل بازی نیست با حرکت آهسته. الگوی طبقه بندی: آشکارساز های آماری بیشترین صدا را ضبط می کنند، محدودیت های سخت حمله را که از آشکارساز عبور می کند، ضبط می کنند.
قرنطینه از طریق مسیر داده های eBPF
سیاست شبکه ای که بر اساس eBPF توسط Cilium ساخته شده می تواند خروج یک قاب قرنطینه شده را به یک honeypot پزشکی در لایه هسته ای تغییر دهد. معیار های عمومی Cilium گزارش زیر میلی ثانیه P99 تاخیر راه داده در TCP_RR؛ بودجه ساعت دیواری برای تگ قرنطینه در کلستر شما توسط چگونگی بروزرسانی سیاست از سطح کنترل شما به گره (چند صد میلی ثانیه در Kubernetes با کارگر پیش بارگذاری است؛ تاخیر دم بستگی به اندازه کلستر و هماهنگی کادنس دارد) است. این به شما دو چیز می دهد: عامل چیزی واقعی را خارج نمی کند، و رفتار عامل در داخل عسل گیر کاملاً مشاهده می شود. همان الگوی، لایه ی متفاوت، مثل نماد کاناری: عامل قصد را با آنچه که در حال انجام آن است، آشکار می کند.
چيزي که هيچ ديتکتور نميگيره
- Semantic attacks that compose from allowed primitives.هر عمل انفرادی از هر آشکارساز عبور می کند، ترکیب مشکل است. این شکست ترکیب حالت اتوماتیک از درس 10.
- Attacks that include the detector as part of the payload.اگر یک عامل یک صفحه را بخواند که می گوید "قبل از اینکه اقدام کنید، کاناری را غیرفعال کنید" و عامل توانایی را دارد، آشکارساز در معرض خطر قرار می گیرد. توکن های کاناری باید در سیستم هایی باشد که عامل نمی تواند تغییر دهد.
ازش استفاده کن
code/main.pyیک سوئیچ کشتن در یک دیکت خارجی؛ یک شکاف مدار که در پنج تماس ابزار یکسان خطا می کند؛ یک فایل کاناری که خواندن آن هشدار را تحریک می کند. در یک مسیر مصنوعی تغذیه می کند: اقدامات مشروع، حلقه تکراری، ساند کاناری و یک سناریوی فعال شده با سوئیچ کشتن که اقدامات عامل متوقف می شود.
-باده
outputs/skill-tripwire-design.mdبررسی یک دسته آشکارساز پیشنهادی برای انتشار یک عامل و نشان دادن شکاف ها (نقص سوئیچ کشتن، کناری گم شده، حد جدا جدا جدا شدن مدار)
تمرینات
- فرار کن
code/main.py. آتش سوزی قطع مدار در خم 5 (خامسین تماس یکسان) و آتش سوزی کاناری در خم 9 (پرداخت کلید جعلی) را تایید کنید.
- یک آشکارساز آماری اضافه کنید: EWMA امتیاز z در نرخ تماس ابزار. یک مسیر را که به آرامی حرکت می کند و نشان می دهد که آشکارساز هرگز آتش نمی کشد. اکنون یک حد سخت (نه بیشتر از 50 تماس ابزار در 10 دقیقه) اضافه کنید و آتش های حد سخت را در مسیر مشابه نشان دهید.
- یک توکن کاناری برای یک عامل مرورگر طراحی کنید (درسی 11) حداقل سه کاناری را لیست کنید و هر کدام چه را تشخیص می دهند.
- اسناد سیاست شبکه Cilium را بخوانید. جریان قرنطینه خروج-توجیه مجدد را به طور مشخص توصیف کنید: کدام سیاست انتخاب کننده، کدام پود، کدام خروج دوباره می نویسد، کدام هشدار. تاخیر ساعت دیواری از "قراری به قرنطینه" به "اولین بسته هدایت شده" چه چیزی را کنترل می کند؟
- يه روش فعال کردن دوباره رو براي يه مامور تبديل به کشتن مشخص کن کي ميتونه فعال کردن دوباره؟ چه چيزي بايد ثبت بشه؟
اصطلاحات کلیدی
| Term | What people say | What it actually means |
|---|---|---|
| Kill switch | "Off button" | Boolean outside the agent's edit surface; checked on every consequential action |
| Circuit breaker | "Pattern pause" | Action-specific trip on repetition, failure rate, or rate-limit |
| Canary token | "Honeytoken" | Bait the agent has no legitimate reason to touch; access fires an alert |
| Honeypot | "Forensic sandbox" | Redirected traffic / workspace where a quarantined agent is observed |
| EWMA | "Moving average" | Exponentially weighted; adapts to drift (feature + bug) |
| CUSUM | "Cumulative sum" | Detects sustained shift from baseline |
| Hard limit | "Constitutional rule" | Does not adapt; constant regardless of history |
| Constitutional limit | "Always-true rule" | Tied to Lesson 17's constitution; cannot be edited by the agent |
خواندن بیشتر
- Anthropic — Measuring agent autonomy in practice سوئیچ کشتن و فریم بریکر برای عوامل مستقل
- Microsoft Agent Framework — HITL and oversight الگوهای مدیریت تولید
- OWASP LLM / Agentic Top 10 نیاز به تشخیص و پاسخ
- Cilium — Network policy and eBPF تغییر مسیر خروج سطح قاب و الگوهای honeypot پزشکی.
- Anthropic — Claude's Constitution (January 2026) ممنوعیت های سخت کوده شده به عنوان "حدود های قانون اساسی"
This free lesson is part of the AI Engineering from Scratch curriculum. Read the full explanation, run the lesson code, and verify the result in the interactive reader or from the repository source.
Browse the complete course catalog or open this lesson on GitHub.