Phase 15: Autonomous Systems

سوئیچ ها، شکاف مدارها و توکن های کاناری را بکشید

یک کلید کایل یک بولی است که خارج از سطح ویرایش عامل قرار دارد یک کلید Redis، یک پرچم ویژگی، یک پیکربندی امضا شده که عامل را کاملا غیرفعال می کند. یک قطع مدار بسیار دقیق تر است: روی یک الگوی خاص (پنج دستگاه یکسان در یک ردیف) ، مسیر مخالف را متوقف می کند و به یک انسان می رسد. یک توکن کاناری از فریب کلاسیک به ارث می رود: یک اعتبارنامه جعلی یا رکورد هنیپوت یک عامل هیچ دلیلی مشروع برای لمس کردن ندارد، که دسترسی به آن هشدار را تحریک می کند. راه های داده مبتنی بر eBPF (به عنوان مثال: سیلیوم) می تواند خروج یک قاب قرنطینه شده را به یک honeyypot قانونی در لایه هسته ای تغییر دهد. شاخص های مرجع Cilium منتشر شده گزارش زیر میلی ثانیه P99 تاخیر مسیر داده تحت بار (بودج پخش شما بستگی به چگونگی بروزرسانی سیاست به گره می رسد، نه خود مسیر داده). آشکارسازهای آماری (EWMA، CUSUM) که با خط پایه حرکت پذیر می شوند به طور آرام حرکت را پذیرفته اند آنها را با محدودیت های اساسی سخت که خم نمی شوند، لایه می کنند.

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 دلار هنوز هم می تواند یک راز را افشا کند، پست اشتباه را منتشر کند یا یک منبع را حذف کند.

این درس سه دستگاه شناسایی را که در کنار لایه هزینه قرار دارند پوشش می دهد:

  1. Kill switch: دکمه خارج از دست بازداشت شده خارج از دسترس مامور.
  2. Circuit breaker: آشکارساز الگوی عمل که یک مسیر خاص را متوقف می کند.
  3. 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بررسی یک دسته آشکارساز پیشنهادی برای انتشار یک عامل و نشان دادن شکاف ها (نقص سوئیچ کشتن، کناری گم شده، حد جدا جدا جدا شدن مدار)

تمرینات

  1. فرار کنcode/main.py. آتش سوزی قطع مدار در خم 5 (خامسین تماس یکسان) و آتش سوزی کاناری در خم 9 (پرداخت کلید جعلی) را تایید کنید.
  1. یک آشکارساز آماری اضافه کنید: EWMA امتیاز z در نرخ تماس ابزار. یک مسیر را که به آرامی حرکت می کند و نشان می دهد که آشکارساز هرگز آتش نمی کشد. اکنون یک حد سخت (نه بیشتر از 50 تماس ابزار در 10 دقیقه) اضافه کنید و آتش های حد سخت را در مسیر مشابه نشان دهید.
  1. یک توکن کاناری برای یک عامل مرورگر طراحی کنید (درسی 11) حداقل سه کاناری را لیست کنید و هر کدام چه را تشخیص می دهند.
  1. اسناد سیاست شبکه Cilium را بخوانید. جریان قرنطینه خروج-توجیه مجدد را به طور مشخص توصیف کنید: کدام سیاست انتخاب کننده، کدام پود، کدام خروج دوباره می نویسد، کدام هشدار. تاخیر ساعت دیواری از "قراری به قرنطینه" به "اولین بسته هدایت شده" چه چیزی را کنترل می کند؟
  1. يه روش فعال کردن دوباره رو براي يه مامور تبديل به کشتن مشخص کن کي ميتونه فعال کردن دوباره؟ چه چيزي بايد ثبت بشه؟

اصطلاحات کلیدی

TermWhat people sayWhat 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

خواندن بیشتر

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.