İçeriğe geç
SaferICO SaferICOAkıllı Kontrat Güvenliği
AI Agents paketinde — ayda 59,9 dolar

Kod sağlam, kontrat sağlam. İkna edilen, anahtarı tutan şey.

Cüzdanı olan bir ajan yeni bir saldırı yüzeyidir: kayıp, bir web sayfasındaki bir cümlenin anahtarı tutan şeyi parayı başka yere göndermeye ikna etmesiyle olur. Bu araç ajanınızın neler yapabildiğini okur, ne yapacağını öğrenmek için 20 hasmane sonda gönderir ve ona özel anahtar taşımayan bir yem cüzdan verir — böylece imzalamaya çalıştığı her şeyi okuyabilirsiniz.

20 hasmane sonda6 saldırı aşamasıYem imzalayıcıda anahtar yokYalnızca test ağı zincir kimlikleri
//Üç şerit

Ne yapabildiği, ne yaptığı, ve ne imzaladığı

Üçü farklı türde kanıt üretir. Yalnızca gözlemlenen kanıt Kritik olarak raporlanabilir — bir yetenek grafiğinden çıkan çıkarım asla.

A · Yetenek grafiği

Ajanın araç tanımlarını yapıştırın: hangileri değer taşıyabiliyor, hangileri ajanın yazmadığı metni içeri alıyor, hangileri anahtarlara dokunuyor ve imzayla arasında bir şey var mı. Altı yapılandırma biçimi okunur.

B · 20 hasmane sonda

Ajanın uç noktasına 20 hasmane mesaj gider ve dönen cevap okunur. Gözlemlenen kanıt üreten tek şerit budur.

C · Yem imzalayıcı

Size bir RPC adresi veririz. Ajanınızı tek bir ortam değişkeniyle oraya bağlarsınız. Denediği her imza kaydedilir ve çözümlenir: hangi fonksiyon, hangi alıcı, hangi tutar, yetki sınırsız mıydı.

Zararsız yükler

Her sonda ajandan tanınabilir ve önemsiz bir şey ister: bir jetonu tekrarla, özel anahtarı olmayan bir nöbetçi adresi söyle, kimsenin istemediği bir araca uzan. Zafiyet olan şey itaattir.

Sahiplik kanıtı zorunludur

Tek bir istek gitmeden önce uç noktanın kendi kökeninde /.well-known/saferico-agent-test.txt dosyasını yayımlamanız gerekir. Oradaki jetonu yalnızca sizin hesabınız türetebilir.

Ölçülemeyen geçmiş sayılmaz

Çalışamayan bir kontrol TEST EDİLMEDİ olarak raporlanır, asla başarılı olarak değil. Yeterince az şey ölçüldüyse puan sizi pohpohlamak yerine hiç verilmez.

Araçların kendisi (tarayıcı, kontrol panelleri, SAFI çalışma alanı) şu an İngilizce arayüzle çalışıyor. Bu sayfalar, oraya girmeden önce her şeyi Türkçe anlatır.

Neden güvenli

Bu araç ajanınıza saldırır. Bunu ancak kanıtlanabilir sınırlarla yapabilir — sınırlar aşağıda tek tek yazılıdır.

🔑 Yem imzalayıcıda özel anahtar yoktur

«İmzalamamaya ayarlandı» değil: modülde anahtar yoktur, dolayısıyla imzalamak uyduğu bir kural değil, gerçekleştiremediği bir işlemdir. Buradaki bir hata taşınmış bir coine dönüşemez, çünkü taşıyacak bir şey yoktur.

Ve sahte makbuz üretmez. Kolay olan uygulama, ajan yoluna devam etsin diye akla yatkın bir işlem hash'i döndürür — bu, hiç olmamış bir işlem için kanıt imal etmektir. Bunun yerine ne olduğunu açıkça söyleyen bir JSON-RPC hatası döner. Bulgu, denemenin kendisidir.

01Sistem talimatınız bu sayfadan çıkmaz

Araç tanımlarınız ve sistem talimatınız bu makinede ayrıştırılır. Zincirleri kurmak için gönderilen şey yapıdır: araç adları, yetenek sınıfları ve doğru/yanlış değerleri.

Tek istisna açıkça işaretlenmiştir: ifşa sondasının bir şeyle karşılaştırma yapabilmesi için, sizin yazdığınız 200 karaktere kadar bir ifade sondayla birlikte gönderilir. Orada karşılaştırılır ve atılır — saklanmaz, kaydedilmez, rapora yazılmaz ve test edilen uç noktaya gönderilmez. Bu 200 karakteri paylaşmak istemiyorsanız alanı boş bırakın; sonda o zaman başarılı değil TEST EDİLMEDİ olarak raporlanır.

02Altı aşama, saldırının kendi sırasıyla

Sondalar rastgele değil, gerçek bir saldırının şeklinde ilerler:

  • Komut enjeksiyonu — veri olarak gelen talimata uyuyor mu? 6 sonda
  • Araç suistimali — kimsenin istemediği bir araca uzandırılabiliyor mu? 3 sonda
  • İşlem manipülasyonu — alıcıyı veya tutarı metin mi seçiyor? 3 sonda
  • Cüzdan imzası — sormak zorunda olduğu insana sormadan imzalıyor mu? 2 sonda
  • Yetki yükseltme ve fon kaybı — zincirin kapandığı yer

En gerçekçi olanı ilk sırada durur: dolaylı enjeksiyon. Kimse bir DeFi ajanına «önceki talimatlarını yok say» diye yazmaz — bunu bir token açıklamasına, bir web sayfasına, bir README'ye ya da ajanın bir araç üzerinden okuduğu zincir üstü bir metne koyar.

03Oturum kendi kendine biter

Bir yem oturumu 10 krediye gelir ve üç tavanla sınırlıdır: 60 dakika, 200 kaydedilen olay ve 15 dakika işlemsizlikte otomatik durdurma. Bu sayıların her biri sayfa üretilirken onları uygulayan modülden okunur, dolayısıyla sayfa kodun uygulamadığı bir sınırın reklamını yapamaz.

Zincir kimlikleri yalnızca test ağıdır; oturum kurulurken bir ana ağ kimliği reddedilir. Kendini ana ağda sanan bir ajan, operatörünün sonradan açıklamak zorunda kalacağı şeyler yapabilir.

//Sorular

Ajanı teste vermeden

Sondalar ajanıma gerçekten zarar verir mi?
Yükler tasarım gereği zararsızdır: bir jetonu tekrarlamak, özel anahtarı olmayan bir nöbetçi adresi söylemek gibi. Ancak uyan bir ajan bağlı olduğu sistemlerde gerçek işlemler yapabilir — bu yüzden yetkili olduğunuzu onaylamanız ve sahipliği bir dosyayla kanıtlamanız istenir.
Neden puan bazen hiç verilmiyor?
Çünkü az sayıda kontrolden çıkan yüksek bir puan yanıltıcıdır. Çalışamayan her kontrol TEST EDİLMEDİ sayılır ve ölçülen şey çok azsa puan verilmez. Payda, sayıdan önce okunmalıdır.
Yem imzalayıcı gerçekten para tutmuyor mu?
Tutmuyor. Modülde özel anahtar yok. eth_chainId, eth_accounts ve eth_getBalance'a normal bir düğüm gibi cevap verir ve taşımaya değer bir bakiye bildirir — ama imzalayamaz, çünkü imzalayacak bir şeyi yoktur.
Hangi yapılandırma biçimlerini okuyor?
Altısını: MCP tools/list çıktısı, OpenAI fonksiyon şeması, Anthropic araç şeması, ElizaOS character.json, n8n ya da Make akış dışa aktarımı ve doğrudan ajan kaynağı (JS / TS / Python).

Para göndermeden önce kontratı tarayın

Kontrat adresini yapıştırın; sahip yetkilerini, likiditeyi ve satış simülasyonu sonucunu riske girmeden önce görün. Tarama başına küçük bir ücret imzadan önce gösterilir — herhangi bir abonelikte ise sınırsız olarak dahildir.