deniz.in

Piyasalar

Hava durumu

Hava durumu yükleniyor

· kaynak dev.to (home feed)

Airlock guardrail açığı, Hermes ajan eylemlerinin insan onayını atlamasına izin veriyordu; 0.2.3'te düzeltildi

Bir güvenlik araştırmacısı, Hermes ajanları için tasarlanan airlock prompt injection guardrail'ındaki bir hatanın tam hesabını yayımladı; hatada gözetimsiz çalıştırmalar yanlış okunuyor ve onay gerektiren eylemler insan imzası olmadan yürütülüyordu.

Airlock guardrail açığı, Hermes ajan eylemlerinin insan onayını atlamasına izin veriyordu; 0.2.3'te düzeltildi

Ne oldu

Bir güvenlik araştırmacısı, Hermes ajan platformunun plugin kataloğu üzerinden dağıtılan bir prompt injection guardrail'ı olan airlock'taki bir güvenlik açığının tam koordineli ifşasını yayımladı. Cleiton Augusto Correa Bezerra tarafından yazılan ve dev.to'da yayımlanan ifşa yazısına göre, guardrail'ın varsayılan block modu — onay gerektiren her eylemi bir insan onaylayana kadar bekletmek üzere tasarlanmıştı — gözetimsiz çalıştırmalarda tamamen atlanabiliyordu.

Bakıcı (maintainer) raporu önceliklendirdi ve airlock 0.2.3'te bir düzeltme yayımladı. Yazıya göre yama, PR #144871 altında Hermes plugin kataloğuna merge edildi ve danışma belgesi GHSA-mgf8-gh7g-q4rg olarak kamuya açık. Correa Bezerra, ifşanın koordineli olduğunu, danışma belgesinde kendisine atıf yapıldığını ve bunun, tamamen yayımlayabildiği ilk bulgusu olduğunu söylüyor.

Kontrol nasıl aşıldı

Hata, iki iç sinyal arasındaki uyuşmazlığa dayanıyordu. Hermes gateway'i bir hermes -z turu çalıştırdığında, oturum bir yerde — gateway.session_finite içinde — gözetimsiz olarak işaretleniyordu, ancak airlock'un okuduğu bayrak olan HERMES_YOLO_MODE bunu yansıtmıyordu. Airlock her zamanki sinyaline baktı, block modunun korumalarının devreye girmesi gerektiğine dair hiçbir gösterge almadı ve onay gerektiren bir eylem hiçbir insan onayı olmadan yürütülebildi — modun var olma amacını oluşturan senaryonun ta kendisi bu.

Düzeltme, korumanın sorduğu soruyu değiştiriyor: yazıya göre airlock 0.2.3 artık Hermes'in neden otomatik onay vereceğini onay katısına soruyor ve delege altında çalışan CLI subagent'ları da kapsıyor.

Tek seferlik değil, bir hata sınıfı

Correa Bezerra, hatanın kendisinin "stringly-typed guardrail" adını verdiği daha geniş bir örüntünün tek bir örneği olduğunu savunuyor. Onun anlatımına göre çoğu ajan guardrail'ı, bir eylemi yalnızca önerildiği anda bir kez denetler: bekleyen çağrıyı bir şey okur, bir sinyalle — bir mod bayrağı, bir regex, bir yol listesi, bir YARA kuralı — eşleştirir ve sonra ya izin verir ya durdurur. Araç daha sonra zaten sahip olduğu erişimle çalışır.

Bu kategoride bulduğu her hatanın, yazısına göre, korumanın okuduğu sinyal ile gerçekte gerçekleşen etki arasındaki bir boşluk olduğunu belirtiyor: eylem tehlikelidir ama sinyal gözetimli olarak okunur; yol bir secret'a işaret eder ama eşleştiricinin tanımadığı bir biçimde yazılmıştır; girdi bir injection'dır ama kuralın kapsamadığı bir biçimde ifade edilmiştir. Bu tür korumalar fail-open biçiminde başarısız olur — eşleşme yoksa engelleme yoktur ve eylem çalışır — böylece etkiyi değiştirmeden temsili değiştiren her şey sıyrılıp geçer. Airlock'un düzeltmesinin yaptığı gibi tek bir boşluğu daraltmak, tasarımı değiştirmez, diye savunuyor; çünkü tehlikeli bir eylemin her zaman başka bir yazımı mevcut kalır.

Yazarın alternatifi

Yazı açıkça tanıtımcı da: Correa Bezerra, bu başarısızlık modunu ortadan kaldırmak için inşa ettiğini söylediği açık kaynak bir proje olan CleiMesh'in yazarı. Yazının bağımsız doğrulama olmadan sunduğu iddiaları şunlar: izinlerin bir sandbox olarak uygulanması — ajan, hangi araçları çağırabileceğini ve hangi dizinlere ya da network uç noktalarına dokunabileceğini belirleyen imzalı, devredilebilir bir token altında, default-deny bir WebAssembly sandbox içinde çalışıyor; subagent'ların yalnızca daha dar, asla daha geniş token alması; ve her araç çağrısının, çevrimdışı doğrulanabilen ve sonuçları bayt bayt karşılaştırmak için yeniden oynatılabilen imzalı, hash zincirli bir makbuz üretmesi. Ön kontrolleri ve sandbox'ı tamamlayıcı olarak çerçeveliyor; sandbox, araca baştan yetkisiz erişim verilmediği için tehlikeli bir eylemi gözden kaçırması mümkün olmayan katman olarak.

Diğer bakıcılarla süren koordineli ifşalarının bulunduğunu ve yamalar yayımlandıkça bunları yayımlayacağını ekliyor.

Neden önemli

Kodlama ve operasyonel ajanlar gerçek dosyalara, secret'lara ve network uç noktalarına erişim kazandıkça, eylemleri bayrak ve dizgi inceleyerek geçiten guardrail'lar fiili bir güvenlik katmanı haline geliyor. Bu ifşa, iki iç bayrak arasındaki bir uyuşmazlığının insan onayını sessizce nasıl etkisiz kılabileceğini somut biçimde gösteriyor — ve başarısızlığın yapısal olduğunu: bir eylemin gerçek yetenekleri yerine onun bir vekili üzerinden akıl yürüten bir kontrol, boşluklar üretmeye devam eder. Ajan çalıştıran ekipler — yazı Claude Code, Cursor, OpenClaw ve Hermes'i sayıyor arasında — airlock kullanıyorlarsa 0.2.3'ü uygulamalı, guardrail'larının runtime'ın gözetimsiz oturumları işaretlemek için gerçekte kullandığı sinyalin aynısını okuduğunu doğrulamalı ve herhangi bir tekil ön kontrolü fail-open olabilecek bir savunma olarak görmelidir. Yazarın yanıtı — yetenekleri temsillerden çıkarsamak yerine yürütme anında zorunlu kılmak — bu tasarımı satan birinden gelen bir tasarım argümanı; ama arkasındaki hata gerçek, ifşa edilmiş ve yamalanmış durumda.

  • #security
  • #ai-agents
  • #prompt-injection
  • #vulnerability-disclosure
  • #guardrails

İlgili yazılar