Ana içeriğe geç

Runtime Niyet Denetimi, Agent Çıkışı için Statik İzin Listelerini Geçer

Statik izin listeleri, çalışma zamanında birleştirilen agent tool call'larına yetişemez. Runtime niyet denetimi, hedef filtrelemenin kaçırdıklarını yakalar — yeter ki kontrol hot path için yeterince ucuz kalsın.

Perspective of multiple yellow pipes in Beijing creating a geometric pattern.

Statik politika agent'lara neden dar gelir

Statik bir çıkış politikası, hedef kümesinin agent çalışmadan önce bilinebilir olduğunu varsayar. İnsan iş akışlarında bu varsayım çoğunlukla geçerlidir: bir servis hesabı sabit bir host kümesine erişir, bir geliştirici bilinen bir paket kayıt defterine erişir, bir cron job tek bir veritabanıyla konuşur. Liste sonludur, gözden geçirilebilir ve yavaş değişir.

Agent'lar bu varsayımı kırar çünkü tool call'lar çalışma zamanında birleştirilir. Hedef sıklıkla bildirilmek yerine türetilir. Bir retrieval adımı bir URL döndürür, bir özetleme adımı o URL'den bir hostname çıkarır ve bir fetch adımı onu çağırır. Hiçbir mühendis o hostname'i bir politika dosyasına yazmamıştır, çünkü hiçbir mühendis yazım anında onu bilmiyordu. Çağrı, yapısı gereği meşrudur ve önceden onaylanmış bir liste için görünmezdir.

Olağan yanıt, liste engellemeyi bırakana kadar genişletmektir. Bu da ters hatayı üretir: türetilen her hedefi kabul edecek kadar geniş bir izin listesi, fazladan adımlarla her şeye izin veren bir kuraldan ibarettir. Politika hâlâ bir kontrol gibi görünür ama artık ayrım yapmaz. İki hata modu arasında işleyen bir statik ayar yoktur, çünkü politikadan göremediği bir soruyu yanıtlaması istenmektedir.

Daha derin sorun, hedefin yanlış yargı birimi olmasıdır. Aynı endpoint, payload'a ve onu üreten adıma bağlı olarak iyi huylu ya da düşmanca olabilir. Bir iç metadata servisine yapılan çağrı, konfigürasyon çektiğinde rutin, argüman bir credential path olduğunda ciddi bir sorundur. Bir partner API'sine yapılan istek, gövde bir durum sorgusu olduğunda sorun değildir, gövde agent'ın bu oturumda okuduğu her şeyin bir birleşimini içerdiğinde sorundur. Yalnızca host üzerinden filtrelemek, bu durumları ayırt eden bilgiyi çöpe atar.

Runtime niyet denetimi aslında neyi inceler

Runtime niyet denetimi, kararı çağrının nereye gittiğinden neyi başarmaya çalıştığına taşır. Bu da hedeften fazlasına bakmayı gerektirir.

Detailed view of a liquid cooling system inside a desktop computer.

Yalnızca hedefler değil, argümanlar. Parametreler, payload şekli ve değerlerin provenance'ı. Provenance en çok önem taşıyan ve statik araçların genellikle eksik bıraktığı kısımdır. Bir argüman bir kullanıcı mesajına kadar izleniyorsa, bu bir tür değerdir. Güvenilmeyen içerik okuyan bir tool'un çıktısına kadar izleniyorsa, bu başka bir türdür. Bu soy kütüğünü trajectory boyunca takip etmek, bir kontrolün kullanıcının sağladığı bir parametreyi enjekte edilmiş bir belgenin sağladığından ayırt etmesini sağlar.

Sıra konumu. Bir çağrı, onu üreten trajectory'ye göre şüphelidir. Başarısız bir kimlik doğrulama denemesinden hemen sonra bir secrets store okumak, onu bir provisioning çalışmasının ilk adımı olarak okumaktan farklı bir olaydır. Aynı çağrı, farklı bir konumda farklı anlam taşır. Bu yüzden niyet kontrolleri yalnızca tek tool call'ı değil, son trajectory'yi de girdi olarak almalıdır.

Hız ve tekrar. Aynı iyi huylu çağrının arka arkaya kırk kez yapılması, aynı çağrının bir kez yapılmasından farklı bir olaydır. Tekrar, çoğu zaman enumeration'ı tek bir lookup'tan ayıran sinyaldir ve ölçülmesi ucuzdur çünkü sayaç zaten orkestrasyon katmanında mevcuttur.

Bunları birbirine bağlayan somut bir mekanizma: her değerin hangi kaynakların katkıda bulunduğunu kaydeden bir taint etiketi taşıdığı, çalışma başına bir provenance grafiği tutun. Bir tool call tetiklenmek üzereyken guard, çağrının argümanlarından, bu argümanlardaki taint etiketlerinden, çağrının trajectory içindeki konumundan ve o hedefe yönelik son çağrı hızından bir feature vector oluşturur. Küçük bir classifier bu vector'ü puanlar. Politikanın üzerinde işlediği şey hostname değil, bu puandır. Taint yayılımı yük taşıyan kısımdır; o olmadan classifier yüzey sözdiziminden tahmin yürütür.

Latency bütçesi

Niyet kontrolleri model ile tool arasında oturur, dolayısıyla her milisaniye adım başına ödenir. Görev başına düzinelerce tool call yapan bir agent, guard maliyetini düzinelerce kez öder ve bu maliyet critical path üzerindedir. Çağrı başına fark edilir gecikme ekleyen bir guard, yalnızca güvenlik duruşunu değil, ürünü değiştirir.

Pratik yapı katmanlıdır. Önce ucuz sezgisel kurallar çalışır: hedef sınıfı, argüman şekli, taint etiketi varlığı, çağrı hızı eşikleri. Bunlar tablo aramaları ve karşılaştırmalardır ve çağrıların büyük çoğunluğunu döngüye bir model sokmadan çözer. Pahalı sınıflandırma yalnızca ucuz katmanın karar veremediği belirsizlik durumunda çalışır. Eskalasyon kuralı örtük değil, yayımlanmış olmalıdır, çünkü sistemin neyi yakalayıp neyi yakalamayacağını tanımlar. Kural "herhangi bir argüman güvenilmeyen bir taint etiketi taşıyorsa ve hedef iç sınıfın dışındaysa eskalasyon yap" ise, bu bir operatörün üzerinde akıl yürütebileceği ve bir gözden geçirenin itiraz edebileceği bir ifadedir.

Dürüst ödünleşim, katmanlamanın latency'yi kapsama karşılığı satın almasıdır. Ucuz katmanın temizlediği bir çağrı classifier'a asla ulaşmaz, dolayısıyla sezgisel kuralların kör olduğu her şey tasarım gereği kaçar. Daha fazlasını yakalamak için eskalasyon kuralını sıkılaştırmak, classifier maliyetini daha sık ödemek anlamına gelir. Hem azami hızlı hem azami hassas olan bir ayar yoktur; seçim açıkça yapılmalı ve agent'ın davr

Close-up of an advanced audio mixing panel with slide controls and knobs in a studio setting.

Yanlış yapmanın maliyeti de, alert tabanlı düşüncenin gizlediği bir biçimde asimetriktir. False positive'leri alert'lerde değil, agent adımlarında ölçün. Engellenen bir adım bütün bir çalışmayı geçersiz kılabilir: agent bir tool sonucunu kaybeder, trajectory raydan çıkar ve görev ya başarısız olur ya da kullanıcının doğru sonuçtan ayırt edemeyeceği bozuk bir sonuçla tamamlanır. Çok sık tetiklenen bir guard, ayıklanacak bir alert kuyruğu üretmez; model hataları gibi görünen sessiz başarısızlıklar üretir. Bu yüzden bir agent guard'ının false-positive bütçesi geleneksel bir ağ kontrolünden daha dardır ve guard'ın kararlarının run trace'te görünür olması gerekir.

Modeli işletmek

Classifier tek seferlik bir artefakt değildir. Niyet modelini agent ile birlikte sürümleyin. Politika değişikliği bir deployment'tır: agent sürümüyle birlikte gönderilir, run trace'e kaydedilir ve aynı şekilde geri alınabilir. Politikayı agent'tan bağımsız olarak sürüklenen konfigürasyon saymak, guard'ların kimsenin yazdığını hatırlamadığı kuralları uygulamasına yol açar.

Engelleme yapmadan engellenecekleri kaydeden bir shadow mode tutun ve farkı haftalık gözden geçirin. Shadow mode, guard'ın false-positive oranını çalışmalara mal olmaya başlamadan önce öğrenmenin tek yoludur. Haftalık gözden geçirme, eskalasyon kuralının ayarlandığı ve agent'ın tool kullanım kalıplarındaki sürüklenmenin bir olaya dönüşmeden önce göründüğü yerdir.

Doğrulanmış olayları etiketli trajectory'ler olarak geri besleyin. Classifier'ın eğitim kümesi olay kaydıdır, yani olay inceleme süreci ile model eğitim süreci aynı süreçtir. Doğrulanan her olay, trajectory'si ekli bir pozitif örnek olur; incelemenin bozduğu her shadow-mode engellemesi bir negatif olur. Bu döngüyü kapatır ve kimsenin sürdürmediği ayrı bir veri toplama çabası olmadan modeli güncel tutar.

Buradaki ödünleşim operasyonel yüktür. Olaylardan öğrenen bir guard, olay incelemesinin zamanında ve tutarlı olmasını gerektirir ve bu bir proje değil, süregelen bir taahhüttür. Bunu sürdüremeyen ekipler için, sessizce eskimiş hale gelen bir classifier'dan çok, daha basit ve iyi anlaşılmış bir sezgisel kural katmanı daha iyi hizmet eder.

Bundan ne çıkarılmalı

Statik izin listeleri yanlış değildir; dar gelirler. Risk argümanlarda, provenance'da ve sıralamada yaşarken onlar hedeflere dair bir soruyu yanıtlar. Runtime niyet denetimi doğru soruyu yanıtlar, ama ancak niyet sinyali hot path üzerinde değerlendirilecek kadar ucuzsa. Kontrolleri katmanlayın, eskalasyon kuralını yayımlayın, false positive'leri alert'lerde değil geçersiz kılınan çalışmalarda ölçün ve modeli agent ile birlikte sürümleyin. Güvenlik özelliği, her çağrının önceden onaylanmış olması değildir. Her çağrının, agent'ın her adımda ödemeyi göze alabileceği bir maliyetle, bağlam içinde yargılanmasıdır.

İlgili okumalar

Bunun yanıtladığı sorular

Why do static allowlists fail for agent tool calls?

Agent tool calls are composed at runtime, so the destination is often derived from earlier steps rather than declared in advance. An allowlist sized for human workflows either blocks legitimate composition or has to be widened until it admits nearly everything, at which point it no longer discriminates.

What does runtime intent inspection look at beyond the destination?

It examines arguments and their provenance, the position of the call in the trajectory that produced it, and the rate and repetition of similar calls. The same endpoint can be benign or hostile depending on the payload and the step that generated it.

How do you keep an intent check fast enough for the hot path?

Use a tiered structure: cheap heuristics such as destination class, argument shape, taint labels and call-rate thresholds resolve most calls, and expensive classification runs only on ambiguity. The escalation rule should be published so its coverage limits are explicit.

Why measure false positives in agent steps rather than alerts?

A blocked step can invalidate an entire run, causing the agent to fail or produce a degraded result the user cannot distinguish from a correct one. That makes the false-positive budget tighter than for a conventional network control, and it means guard decisions need to be visible in the run trace.