Kodlama ajanlarına güvenlik denetimi yaptırma fikri yeni değil. Yeni olan, bu işin tek bir istemle değil, birbirine bağlı aşamalardan oluşan bir hat olarak tarif edilmesi.
Google, Mantis adını verdiği bu hattı açık kaynak yaptı. Araç yığından bağımsız: mevcut ajanınıza yüklediğiniz bir dizi beceri ve bu ajanın kodu nerede çalıştırabileceğine dair katı bir kurallar kümesi.
Bu rehber Mantis'in ne yaptığını, küçük bir ekibin onu nasıl güvenle deneyebileceğini ve nerede durması gerektiğini anlatıyor. Kurulum komutlarından çok, aracı denemeden önce alınması gereken kararlara odaklanıyor: nerede çalıştırılacağı, hangi aşamanın atlanamayacağı ve çıkan raporun ne kadarına güvenilebileceği. Bunlar yanlış kurulduğunda araç zarar vermiyor ama zaman kaybettiriyor.
Mantis nedir, ne değildir
Mantis, bir depoya doğrultup başından kalktığınız bir tarayıcı değil. Her aşama ayrı bir beceri dizini olarak yayımlanıyor ve eğik çizgi komutu şeklinde çağrılıyor. Aşamalar sırayla zincirleniyor; isterseniz bir denetleyici beceri olan meta ajan bütün döngüyü uzun soluklu bir oturumda kendisi sürüyor.
Depoyu klonlayıp Gemini CLI, Antigravity CLI, Google ADK ya da benzer bir ajan çerçevesiyle çalıştırabilirsiniz. Google aracı Apache 2.0 ile yayımlıyor, ancak belgelerinde açıkça gösterim amaçlı olduğunu ve üretimde kullanılmasının önerilmediğini söylüyor.
- Bir ürün değil, referans uygulama. Google'ın desteklediği bir hizmet olarak konumlanmıyor.
- Model bağımsız değil ama yığın bağımsız: dili ve çerçeveyi kendi belirlemiyor.
- Aşamalar arası sözleşmeler yayımlanmış durumda, yani belirlenimci bir koşum takımına sarılabiliyor.
- Yerel ve şirket içi değerlendirme için uygun; müşteri kodunda otomatik çalıştırmak için değil.
Boru hattı: öğren, bul, kanıtla
Aşamalar üç kümede toplanıyor. İlk küme hedefi öğreniyor, ikincisi aday bulguları çıkarıp eliyor, üçüncüsü bulguyu kanıtlayıp yamalıyor. Bu ayrım rehberin geri kalanının da iskeleti.
| Küme | Yaptığı iş | Öne çıkan beceriler |
|---|---|---|
| Öğrenme | Depoyu ve tehdit yüzeyini çıkarıyor | Sürüm geçmişi taraması, dizin haritası, mimari notu, tehdit modeli, plan |
| Bulma ve eleme | Adayları üretip yanlış pozitifleri düşürüyor | Araştırmacı, tekilleştirme, gözden geçirme, eleştirmen |
| Kanıtlama ve düzeltme | Açığı üretiyor, yamalıyor, riski puanlıyor | Yeniden üretim, zincirleme, yama, kalibrasyon, rapor |
Öğrenme kümesindeki en ilginç adım sürüm geçmişi taraması. Bir depoda geçmişte kapatılmış güvenlik hataları, aynı sınıf hatanın nerede tekrar edeceğine dair en güçlü ipucu. Mantis bu geçmişi okuyup sonraki aşamaların planını buna göre daraltıyor.
Aşamaların ayrı dizinler hâlinde yayımlanması ilk bakışta ayrıntı gibi görünüyor ama pratikte en kullanışlı özellik. İhtiyacınız olmayan aşamayı çıkarabiliyor, kendi kurallarınızı içeren bir aşamayı araya ekleyebiliyorsunuz. Şirket içinde daha önce yazılmış bir kontrol listeniz varsa onu hattın eleme adımına bir beceri olarak bağlamak mümkün.
Başlamadan önce çizilecek üç sınır
Bir ajana açık aratmak, ona kod çalıştırma yetkisi vermek anlamına geliyor. Hattın kanıtlama aşaması payload çalıştırıyor; bu adımı ciddiye almadan kurulum yapmak, denetim yapayım derken kendi makinenizi hedefe çevirmek demek.
- Yürütme yalnızca gVisor ya da ağı kapatılmış bir sanal makine içinde olmalı. Mantis'in kendi kuralları da bunu şart koşuyor.
- Depo kopyası salt okunur bağlanmalı; yamalar ayrı bir dala yazılmalı ve insan onayı olmadan birleştirilmemeli.
- Sırlar ve üretim kimlik bilgileri ortamda hiç bulunmamalı. Bir tarama sırasında sızan anahtar, bulunan açıktan pahalıya patlar.
Bu üç sınır teknik bir tercih değil, aracın çalışma varsayımı. Google belgelerinde yürütmenin nerede yapılabileceğini beceri düzeyinde tanımlıyor; bu tanımı gevşetmek aracın güvenlik modelini ortadan kaldırıyor.
İlk geçiş adım adım
Küçük bir depoyla başlayın. İlk hedef açık bulmak değil, hattın sizin yığınızda uçtan uca çalıştığını görmek olmalı.
- Depoyu klonlayın ve becerileri ajan çerçevenizin komut dizinine bağlayın.
- Önce yalnızca öğrenme aşamalarını çalıştırın; çıkan mimari notunu ve tehdit modelini kendiniz okuyun.
- Notta yanlış anlaşılmış bir bileşen varsa düzeltip tekrar üretin; sonraki her aşama bu metne dayanıyor.
- Araştırmacı aşamasını dar bir dizinle sınırlayın, tüm depoya birden salmayın.
- Eleme aşamalarını atlamayın; ham bulgu listesi neredeyse her zaman kullanılamaz durumda geliyor.
- Yeniden üretim aşamasını yalnızca kum havuzu hazırsa açın ve ilk turda tek bir bulguyla deneyin.
Bu sırayı bozmanın bedeli zaman. Öğrenme aşaması zayıf kalırsa araştırmacı gereksiz dosyalara bakıyor, eleme aşaması daha çok yanlış pozitif düşürmek zorunda kalıyor ve token maliyeti hızla artıyor.
Asıl fark: yamayı yeniden saldırıya sokmak
Ajanlı güvenlik araçlarının çoğu bulgu üretmekle yetiniyor. Mantis'i ayıran şey, yeniden üretimi ve yamaya yeniden saldırıyı güven sınırı sayması. Yani bir bulgu, ancak kum havuzunda çalıştırılıp gösterilebildiğinde bulgu sayılıyor.
Aynı mantık düzeltme tarafında da işliyor. Yama uygulandıktan sonra hat aynı payload'u tekrar deniyor; geçerse yama kabul edilmiyor. Bu, modelin kendine olan güvenine değil, gözlenebilir bir sonuca dayanan bir ölçüt ve pratikte en çok zaman kazandıran kısım burası.
Bunun bir bedeli var: kanıtlanamayan bulgular listeden düşüyor ve aralarında gerçek olanlar da bulunabiliyor. Karşılığında elinize gelen liste kısa ve her maddesi gösterilebilir durumda. Bir denetimin değeri, ürettiği madde sayısıyla değil kaç maddesinin işleme alındığıyla ölçüldüğü için bu takas çoğu ekip için doğru tarafta duruyor.
Google'ın verdiği iki sayı
Google, aracın çözmeye çalıştığı sorunu tek bir rakamla tarif ediyor: saf yapay zeka kod taramasında doğru pozitif oranı %7'nin altında. Yani üretilen bulguların büyük çoğunluğu incelemeye değmiyor ve asıl maliyet, tarama değil bu listeyi elemek için harcanan insan saati.
İkinci sayı maliyet tarafında. Şirkete göre hiyerarşik özet ağacı, ajanın depoyu anlamak için harcadığı token yükünü %85'in üzerinde azaltıyor. Bu rakam, büyük depolarda hattın çalıştırılabilir kalıp kalmadığını belirleyen şey.
Riski puanlamak ve raporu okumak
Hattın sonundaki kalibrasyon aşaması her bulguya 1 ile 10 arasında bir risk puanı veriyor. Bu puan mutlak bir ölçü değil; aynı depodaki bulguları birbirine göre sıralamak için var ve raporu okuyan kişinin nereden başlayacağını belirliyor.
- Puanı yüksek ama yeniden üretimi olmayan bir bulgu, listenin başında değil sonunda durmalı.
- Zincirleme aşamasının birleştirdiği bulgular tek tek düşük puanlı görünebilir; birlikte değerlendirin.
- Yansıma aşaması çıkardığı dersleri sonraki geçişe yazıyor, bu yüzden ilk raporu saklamak gerekiyor.
- Rapor paketi insan okuması için üretiliyor; onu bilet sistemine dökmeden önce başlıklarını kendiniz sadeleştirin.
Yeni eklenen bir beceri olan tavsiye aşaması ise akışı tersine çeviriyor. Kod yazılmadan önce biriken tehdit modelini, geçmiş hata soylarını ve doğrulanmış yama desenlerini sorguluyor. Amaç aynı sınıf hatanın ikinci kez girmesini engellemek. Bir denetim aracının en zor kısmı zaten bu: bulduğunu kapatmak değil, aynı hatanın bir sonraki sürümde tekrar girmesini önlemek. Mantis bunu ayrı bir aşama olarak tanımlayarak en azından ölçülebilir hâle getiriyor.
Bir geçiş ne kadar tutuyor
Maliyet sorusunun tek bir cevabı yok, çünkü fatura depo büyüklüğüne değil ajanın kaç dosyayı okumak zorunda kaldığına bağlı. Öğrenme aşaması iyi çalıştığında sonraki aşamalar dar bir yüzeye bakıyor ve maliyet öngörülebilir kalıyor.
Pratik ölçüm şu: ilk geçişte harcanan token miktarını kaydedin, ikinci geçişte aynı depoda ne kadar düştüğünü görün. Hiyerarşik özet ağacı ikinci turdan itibaren devreye giriyor ve asıl tasarruf orada ortaya çıkıyor. Bu ölçümü yapmadan aracı haftalık bir alışkanlığa çevirmeye kalkmak, faturayı sonradan görmek demek.
Küçük bir ekip için gerçekçi plan
Mantis'i haftalık bir alışkanlığa çevirmek küçük ekipler için henüz gerçekçi değil. Daha uygun kullanım, belirli anlarda devreye alınan bir denetim.
- Yeni bir dış bağımlılık eklendiğinde, yalnızca o bağımlılığın dokunduğu yüzeyde çalıştırın.
- Kimlik doğrulama ya da ödeme akışında değişiklik yaptığınızda tam hattı bir kez geçirin.
- Bir güvenlik hatası kapattığınızda, aynı sınıfın başka yerde tekrar edip etmediğine bakın.
- Sürüm öncesinde değil, sürümden birkaç gün önce çalıştırın; çıkan yamaların insan tarafından okunması gerekiyor.
Son maddedeki tavsiye ayrıntı gibi görünse de rehberdeki en önemli kısım. Ajanın ürettiği yama, üretim koduna otomatik giren bir şey olarak değil, gözden geçirilecek bir öneri olarak ele alınmalı.
Nerede durmalı
Mantis, güvenlik denetimini bir insan işi olmaktan çıkarmıyor. Yaptığı şey, bir denetçinin saatlerini yiyen üç işi devralmak: depoyu tanımak, aday listesini elemek ve bir açığın gerçekten çalıştığını göstermek.
Bu üç iş, bir denetim gününün büyük bölümünü kaplayan ve tekrar eden kısım. Ajanın burada kazandırdığı zaman, ekibin asıl karar gerektiren konulara ayırabildiği zamana dönüşüyor.
Buna karşılık tehdit modelinin doğru olup olmadığı, riskin iş açısından ne anlama geldiği ve yamanın ürünü bozup bozmadığı hâlâ insana kalıyor. Aracın üretim için önerilmemesinin sebebi de bu; hattın çıktısı bir karar değil, karar için hazırlanmış bir dosya.