1 puan yazan foundcake21 2026-04-13 | Henüz yorum yok. | WhatsApp'ta paylaş

Merhaba. Bilgi güvenliği bölümünde okuyan bir üniversite öğrencisiyim.

Sızma testi / trafik testi / CTF otomasyon çalışmalarında kali-mcp'yi sıkça kullanıyordum; ancak birden fazla ajanı aynı anda bağladığım ortamlarda darboğaz yaşamaya başlayınca bunu Go ile kendim yeniden uygulamayı denedim.

GitHub: https://github.com/found-cake/kali-mcp-go


Mevcut kali-mcp yapısı ve sınırları

Orijinal sürüm Flask + Python ile uygulanmış ve CommandExecutor sınıfı, her istek için subprocess.Popen oluşturduktan sonra stdout/stderr'i ayrı ayrı okumak için ek olarak 2 daemon thread başlatan bir yapıya sahip.

Tek bir ajan için yeterli olsa da, multi-agent ortamında eşzamanlı istekler yığıldığında şu sorunlar ortaya çıkıyor.

  • Flask'ın varsayılan tek worker yapısı — ajanlar birbirini blokluyor
  • Her istekte process + thread oluşturma ek yükü
  • Ajanların yanıt gecikmesini timeout sanıp aynı işi yeniden denemesi

Başlıca değişiklikler

Sunucu

  • Önceki: Flask (varsayılan tek worker)
  • Değişiklik: Fiber v3 / fasthttp — tam eşzamanlılık

Çıktı toplama

  • Önceki: 2 daemon thread ile readline döngüsü
  • Değişiklik: 2 goroutine + WaitGroup ile senkronizasyon; stdout/stderr toplama zamanlaması net biçimde eşlenerek çıktı kaybı olmadan işleniyor

timeout/cancel

  • Önceki: process.wait(timeout=...) + zorla kill
  • Değişiklik: context tabanlı — pipe'lar da doğru şekilde kapanıyor

Metasploit geçici dosyası

  • Önceki: /tmp/mks_msf_resource.rc sabit kodlu — eşzamanlı isteklerde race condition riski
  • Değişiklik: os.CreateTemp — her istek için benzersiz dosya adıyla güvenli işlem

tshark desteği

  • Önceki: yok
  • Değişiklik: özel endpoint eklendi

Mimari

İç yapıyı değiştirirken mevcutla aynı 2 katmanlı yapıyı korudum.

[AI Client]  →(MCP stdio)→  [mcp-client]  →(HTTP + Bearer token)→  [kali-server]  →(exec)→  [nmap, tshark, ...]  

Henüz yorum yok.

Henüz yorum yok.