Security Java ★ 9,310

LaurieWired/GhidraMCP

Ghidra için bir Model Context Protocol sunucusu olup LLM'lerin uygulamaları özerk şekilde ters mühendislik yapmasını sağlar. Binary dosyaları derlemesini açma, metod ve veri adlandırma, metod/sınıf/import/export listeleme araçlarını sunar.

Claude Desktop config.json'a ekle

{
  "mcpServers": {
    "lauriewired-ghidramcp": {
      "command": "node",
      "args": [
        "~/.mcp/GhidraMCP/index.js"
      ]
    }
  }
}

License GitHub release (latest by date) GitHub stars GitHub forks GitHub contributors Follow @lauriewired

ghidra_MCP_logo

ghidraMCP

ghidraMCP, LLM'lerin uygulamaları otonom olarak tersine mühendislik yapmasını sağlayan bir Model Context Protocol sunucusudur. Ghidra'nın temel işlevselliğinden MCP istemcilerine çok sayıda araç sunar.

https://github.com/user-attachments/assets/36080514-f227-44bd-af84-78e29ee1d7f9

Özellikler

MCP Sunucusu + Ghidra Plugin'i

  • Ghidra'da ikili dosyaları decompile ve analiz edin
  • Method ve veri adlarını otomatik olarak yeniden adlandırın
  • Method, class, import ve export'ları listeleyin

Kurulum

Ön Koşullar

Ghidra

İlk olarak, bu depodan en son release'i indirin. Bu, Ghidra plugin'ini ve Python MCP istemcisini içerir. Ardından plugin'i doğrudan Ghidra'ya aktarabilirsiniz.

  1. Ghidra'yı çalıştırın
  2. File -> Install Extensions seçin
  3. + düğmesine tıklayın
  4. İndirilen release'ten GhidraMCP-1-2.zip (veya seçtiğiniz sürüm) seçin
  5. Ghidra'yı yeniden başlatın
  6. GhidraMCPPlugin'in File -> Configure -> Developer içinde etkinleştirildiğinden emin olun
  7. İsteğe Bağlı: Ghidra'da Edit -> Tool Options -> GhidraMCP HTTP Server ile portu yapılandırın

Video Kurulum Kılavuzu:

https://github.com/user-attachments/assets/75f0c176-6da1-48dc-ad96-c182eb4648c3

MCP İstemcileri

Teorik olarak, herhangi bir MCP istemcisi ghidraMCP ile çalışmalıdır. Aşağıda üç örnek verilmiştir.

Örnek 1: Claude Desktop

Claude Desktop'u Ghidra MCP istemcisi olarak kurmak için Claude -> Settings -> Developer -> Edit Config -> claude_desktop_config.json sayfasına gidin ve aşağıdakini ekleyin:

{
  "mcpServers": {
    "ghidra": {
      "command": "python",
      "args": [
        "/ABSOLUTE_PATH_TO/bridge_mcp_ghidra.py",
        "--ghidra-server",
        "http://127.0.0.1:8080/"
      ]
    }
  }
}

Alternatif olarak, bu dosyayı doğrudan düzenleyin:

/Users/YOUR_USER/Library/Application Support/Claude/claude_desktop_config.json

Sunucu IP'si ve portu yapılandırılabilir ve hedef Ghidra örneğine işaret edecek şekilde ayarlanmalıdır. Ayarlanmazsa, her ikisi de localhost:8080'e varsayılan olarak atanır.

Örnek 2: Cline

Cline ile GhidraMCP'yi kullanmak için, MCP sunucusunu da el ile çalıştırmanız gerekir. İlk olarak aşağıdaki komutu çalıştırın:

python bridge_mcp_ghidra.py --transport sse --mcp-host 127.0.0.1 --mcp-port 8081 --ghidra-server http://127.0.0.1:8080/

Tek gerekli argüman transport'tur. Diğer tüm argümanlar belirtilmezse, yukarıdakilere varsayılan olarak atanır. MCP sunucusu çalıştıktan sonra Cline'ı açın ve üstteki MCP Servers seçeneğini seçin.

Cline select

Ardından Remote Servers seçin ve aşağıdakini ekleyin, URL'nin MCP host ve portu ile eşleştiğinden emin olun:

  1. Sunucu Adı: GhidraMCP
  2. Sunucu URL'si: http://127.0.0.1:8081/sse

Örnek 3: 5ire

Backend'de birden fazla modeli destekleyen başka bir MCP istemcisi 5ire'dir. GhidraMCP'yi kurmak için 5ire'yi açın ve Tools -> New sayfasına gidin ve aşağıdaki konfigürasyonları ayarlayın:

  1. Tool Key: ghidra
  2. Name: GhidraMCP
  3. Command: python /ABSOLUTE_PATH_TO/bridge_mcp_ghidra.py

Kaynaktan Oluşturma

  1. Ghidra dizininizden bu projenin lib/ dizinine aşağıdaki dosyaları kopyalayın:
  • Ghidra/Features/Base/lib/Base.jar
  • Ghidra/Features/Decompiler/lib/Decompiler.jar
  • Ghidra/Framework/Docking/lib/Docking.jar
  • Ghidra/Framework/Generic/lib/Generic.jar
  • Ghidra/Framework/Project/lib/Project.jar
  • Ghidra/Framework/SoftwareModeling/lib/SoftwareModeling.jar
  • Ghidra/Framework/Utility/lib/Utility.jar
  • Ghidra/Framework/Gui/lib/Gui.jar
  1. Maven ile oluşturun:

mvn clean package assembly:single

Oluşturulan zip dosyası, yapılandırılmış Ghidra plugin'ini ve kaynaklarını içerir. Bu dosyalar Ghidra'nın yeni uzantıyı tanıması için gereklidir.

  • lib/GhidraMCP.jar
  • extensions.properties
  • Module.manifest

Benzer MCP sunucuları

mrexodia/ida-pro-mcp Security

IDA Pro için MCP sunucusu, AI asistanları ile binary analiz yapmanızı sağlar. Plugin decompilation, disassembly işlemlerini gerçekleştirir ve malware analiz raporlarını otomatik olarak oluşturmanıza imkan tanır.

mrexodia/ida-pro-mcp ★ 9,564
zinja-coder/jadx-ai-mcp Security

JADX-AI-MCP, JADX decompiler için bir plugin ve MCP Server olup Model Context Protocol (MCP) ile entegre edilerek Claude gibi LLM'lerle canlı reverse engineering desteği sağlar.

zinja-coder/jadx-ai-mcp ★ 2,350
beelzebub-labs/beelzebub Security

Beelzebub, MCP kullanarak honeypot araçları oluşturmanızı sağlayan bir framework'tür. Prompt injection ve kötü niyetli agent davranışlarını tespit etmek için tasarlanmıştır. Temel konsept, agente normal çalışmasında asla kullanmayacağı araçlar sunarak tehditli aktiviteleri yakalamaktır.

beelzebub-labs/beelzebub ★ 2,054
safedep/vet Security

vet-mcp, yapay zeka kodlama araçları tarafından önerilen npm ve PyPI paketleri gibi açık kaynak paketleri güvenlik açıkları ve kötü amaçlı kodlar açısından kontrol eder. Docker üzerinde veya bağımsız bir binary olarak yerel olarak çalışarak hızlı ve otomatik doğrulama sağlar.

safedep/vet ★ 1,080
semgrep/mcp Security

AI ajanlarının Semgrep kullanarak kodda güvenlik açıklarını taramasına izin verir.

semgrep/mcp ★ 672
symgraph/GhidrAssistMCP Security

Ghidra için native Model Context Protocol sunucusu. GUI konfigürasyon ve logging içerir, 31 güçlü tool ve harici bağımlılık yok.

symgraph/GhidrAssistMCP ★ 644
Daha fazla: Security →