VirusTotal API'sini sorgulamak için MCP sunucusu. Bu sunucu, URL'leri taramak, dosya hash'lerini analiz etmek ve IP adresi raporlarını almak için araçlar sağlar.
Claude Desktop config.json'a ekle
{
"mcpServers": {
"burtthecoder-mcp-virustotal": {
"command": "node",
"args": [
"~/.mcp/mcp-virustotal/index.js"
]
}
}
} Kaynak kodu al ve yerel olarak çalıştır
git clone https://github.com/BurtTheCoder/mcp-virustotal.git ~/.mcp/mcp-virustotal
cd ~/.mcp/mcp-virustotal VirusTotal API sorgulama için bir Model Context Protocol (MCP) sunucusu. Bu sunucu, otomatik ilişki veri getirme özelliğine sahip kapsamlı güvenlik analiz araçları sağlar. Claude Desktop gibi MCP uyumlu uygulamalarla sorunsuz bir şekilde entegre edilir.
claude mcp add --transport stdio --env VIRUSTOTAL_API_KEY=your-key virustotal -- npx -y @burtthecoder/mcp-virustotal
codex mcp add virustotal --env VIRUSTOTAL_API_KEY=your-key -- npx -y @burtthecoder/mcp-virustotal
gemini mcp add -e VIRUSTOTAL_API_KEY=your-key virustotal npx -y @burtthecoder/mcp-virustotal
VirusTotal Server'ı Claude Desktop'ta otomatik olarak Smithery aracılığıyla kurmak için:
npx -y @smithery/cli install @burtthecoder/mcp-virustotal --client claude
npm install -g @burtthecoder/mcp-virustotal
{
"mcpServers": {
"virustotal": {
"command": "mcp-virustotal",
"env": {
"VIRUSTOTAL_API_KEY": "your-virustotal-api-key"
}
}
}
}
Konfigürasyon dosyası konumu:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.jsonBu MCP sunucusunu VS Code'da GitHub Copilot ile kullanmak için:
npm install -g @burtthecoder/mcp-virustotal
VS Code MCP konfigürasyon dosyanızı şu konumda oluşturun veya güncelleyin:
~/.vscode/mcp.json%USERPROFILE%\.vscode\mcp.jsonAşağıdaki konfigürasyonu ekleyin:
{
"servers": {
"virustotal": {
"command": "mcp-virustotal",
"env": {
"VIRUSTOTAL_API_KEY": "your-virustotal-api-key"
}
}
}
}
Daha sonra VS Code'da GitHub Copilot aracılığıyla VirusTotal araçlarını kullanabilirsiniz.
Kaynaktan çalıştırmayı veya kodu değiştirmeyi tercih ederseniz:
git clone <repository_url>
cd mcp-virustotal
npm install
npm run build
{
"mcpServers": {
"virustotal": {
"command": "node",
"args": ["/absolute/path/to/mcp-virustotal/build/index.js"],
"env": {
"VIRUSTOTAL_API_KEY": "your-virustotal-api-key"
}
}
}
}
Sunucu, varsayılan stdio transport'a ek olarak HTTP streaming transport'u destekler. Bu, sunucuyu birden fazla istemcinin bağlanabileceği bağımsız bir HTTP hizmeti olarak çalıştırmak için kullanışlıdır.
MCP_TRANSPORT ortam değişkenini httpStream olarak ayarlayın:
MCP_TRANSPORT=httpStream MCP_PORT=3000 VIRUSTOTAL_API_KEY=your-key node build/index.js
| Değişken | Varsayılan | Açıklama |
|---|---|---|
VIRUSTOTAL_API_KEY |
(gerekli) | VirusTotal API anahtarınız |
MCP_TRANSPORT |
stdio |
Transport modu: stdio veya httpStream |
MCP_PORT |
3000 |
HTTP sunucu portu (yalnızca httpStream için) |
MCP_ENDPOINT |
/mcp |
HTTP endpoint yolu (yalnızca httpStream için) |
docker build -t mcp-virustotal .
docker run -p 3000:3000 \
-e VIRUSTOTAL_API_KEY=your-key \
-e MCP_TRANSPORT=httpStream \
mcp-virustotal
Sunucu, HTTP streaming modunda çalışırken /health konumunda bir sağlık kontrolü endpoint'i açığa çıkarır.
?relationships= sorgusunu kullanarak ilgili ilişki verilerini temel raporla birlikte getirir, API çağrılarını en aza indirmek için toplu işleme yapılırtype:peexe positives:5+)get_url_reporturl (gerekli): Analiz edilecek URLget_file_reporthash (gerekli): Dosyanın MD5, SHA-1 veya SHA-256 hash'iget_ip_reportip (gerekli): Analiz edilecek IP adresiget_domain_reportdomain (gerekli): Analiz edilecek etki alanı adırelationships (isteğe bağlı): Rapora dahil edilecek belirli ilişkiler dizisiget_url_relationshipurl (gerekli): İlişkileri almak istediğiniz URLrelationship (gerekli): Sorgulanacak ilişki türü
limit (isteğe bağlı, varsayılan: 10): Alınacak ilişkili nesne sayısı üst sınırı (1-40)cursor (isteğe bağlı): Sayfalandırma için devam işaretçisiget_file_relationshiphash (gerekli): Dosyanın MD5, SHA-1 veya SHA-256 hash'irelationship (gerekli): Sorgulanacak ilişki türü
limit (isteğe bağlı, varsayılan: 10): Alınacak ilişkili nesne sayısı üst sınırı (1-40)cursor (isteğe bağlı): Sayfalandırma için devam işaretçisiget_ip_relationshipip (gerekli): Analiz edilecek IP adresirelationship (gerekli): Sorgulanacak ilişki türü
limit (isteğe bağlı, varsayılan: 10): Alınacak ilişkili nesne sayısı üst sınırı (1-40)cursor (isteğe bağlı): Sayfalandırma için devam işaretçisiget_domain_relationshipdomain (gerekli): Analiz edilecek etki alanı adırelationship (gerekli): Sorgulanacak ilişki türü
limit (isteğe bağlı, varsayılan: 10): Alınacak ilişkili nesne sayısı üst sınırı (1-40)cursor (isteğe bağlı): Sayfalandırma için devam işaretçisisearch_vtquery (gerekli): Arama sorgusu. Örnekler: SHA-256 hash, evil.com, 8.8.8.8, type:peexe size:90kb+ tag:signed positives:5+limit (isteğe bağlı, varsayılan: 20): Maksimum sonuç sayısı (1-300)cursor (isteğe bağlı): Sayfalandırma için devam işaretçisiget_file_behaviour_summaryhash (gerekli): Dosyanın MD5, SHA-1 veya SHA-256 hash'iget_collectionrelated_threat_actors ve collections ilişkilerinden başvurulur. İsteğe bağlı olarak üye IOC'leri aynı çağrıda getirmek için ilişkileri ekleyinid (gerekli): Koleksiyon ID'si (örneğin threat-actor--<uuid>, malware-family--<id>)relationships (isteğe bağlı): Dahil edilecek ilişki adlarının dizisi
"Yanlış API anahtarı" hataları görürseniz:
/tmp/mcp-virustotal-server.log konumundaki günlük dosyasını kontrol edinSıcak yeniden yükleme ile geliştirme modunda çalıştırmak için:
npm run dev
Biçimlendirici test paketini çalıştırın (API anahtarı yok, ağ yok):
npm test
Tüm 11 aracı gerçek VirusTotal API'sine karşı uçtan uca test edin:
VIRUSTOTAL_API_KEY=your-key npm run smoke
Smoke test çağrıları 20 saniyede bir hızlandırarak 4 istek/dakika genel katman hız sınırı altında kalır. Çok azaltılmış ücretsiz katmanlarla uyumlu değildir (örneğin 1 arama/gün) — bunlar için scripts/smoke-test.mjs dosyasını düzenleyerek ve doğrulamak istediğiniz aracı seçerek tek bir araç çalıştırın.
Sunucu şunlar için kapsamlı hata işleme içerir:
search_vt, get_file_behaviour_summary, get_collection ve get_domain_relationship araçları eklendi; ilişki listeleri güncel VirusTotal v3 doklariyle senkronize edildi (kaldırılan clues, uygulanabilir yerlere collections/votes/user_votes/embedded_js_files/urls_related_by_tracker_id eklendi); get_url_report artık her çağrıda yeniden taramak yerine mevcut olduğunda önbelleğe alınmış raporu döndürür; rapor araçları API çağrılarını önemli ölçüde azaltmak için toplu ?relationships= sorguları kullanırgit checkout -b feature/amazing-feature)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)Bu proje MIT Lisansı altında lisanslanmıştır - ayrıntılar için LICENSE dosyasına bakın.
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.
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.
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.
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.
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.
AI ajanlarının Semgrep kullanarak kodda güvenlik açıklarını taramasına izin verir.