VirusTotal MCP Server

Integrations

  • Provides comprehensive security analysis tools for querying the VirusTotal API, including URL analysis, file analysis, IP analysis, domain analysis, relationship analysis, and advanced search capabilities across the VirusTotal dataset.

VirusTotal MCP 서버

VirusTotal API 쿼리를 위한 모델 컨텍스트 프로토콜(MCP) 서버입니다. 이 서버는 자동 관계 데이터 가져오기 기능을 갖춘 포괄적인 보안 분석 도구를 제공합니다. Claude Desktop 과 같은 MCP 호환 애플리케이션과 완벽하게 통합됩니다.

빠른 시작(TBD)

Smithery를 통해 설치

Smithery를 통해 Claude Desktop에 대한 Virustotal-mcp를 자동으로 설치하려면 다음을 수행합니다.

지엑스피1

수동 설치

미정

특징

  • 종합 분석 보고서 : 각 분석 도구는 기본 보고서와 함께 관련 관계 데이터를 자동으로 가져와 단일 요청으로 완전한 보안 개요를 제공합니다.
  • URL 분석 : 연락된 도메인, 다운로드된 파일 및 위협 행위자를 자동으로 가져오는 보안 보고서
  • 파일 분석 : 동작, 삭제된 파일, 네트워크 연결을 포함한 파일 해시의 상세 분석
  • IP 분석 : 과거 데이터, 해결 방법 및 관련 위협을 포함하는 보안 보고서
  • 도메인 분석 : DNS 정보, WHOIS 데이터, SSL 인증서 및 하위 도메인
  • 상세 관계 분석 : 페이지네이션 지원을 통해 특정 유형의 관계를 쿼리하기 위한 전용 도구
  • 고급 검색 : VirusTotal 데이터 세트 전반에 걸친 복잡한 쿼리에 대한 VT Intelligence 검색 기능
  • 풍부한 포맷팅 : 분석 결과 및 관계 데이터의 명확한 분류 및 표현

도구

보고서 도구(자동 관계 가져오기 포함)

1. URL 보고 도구

  • 이름: get_url_report
  • 설명: 보안 검사 결과 및 주요 관계(통신 파일, 연락된 도메인/IP, 다운로드된 파일, 리디렉션, 위협 행위자)를 포함하는 포괄적인 URL 분석 보고서를 받으세요.
  • 매개변수:
    • url (필수): 분석할 URL
  • 예:
await get_url_report(url="http://example.com/suspicious")

2. 파일 보고 도구

  • 이름: get_file_report
  • 설명: 해시(MD5/SHA-1/SHA-256)를 사용하여 포괄적인 파일 분석 보고서를 받으세요. 탐지 결과, 파일 속성 및 주요 관계(동작, 삭제된 파일, 네트워크 연결, 내장 콘텐츠, 위협 행위자)가 포함됩니다.
  • 매개변수:
    • hash (필수): 파일의 MD5, SHA-1 또는 SHA-256 해시
  • 예:
await get_file_report(hash="44d88612fea8a8f36de82e1278abb02f")

3. IP 보고 도구

  • 이름: get_ip_report
  • 설명: 지리적 위치, 평판 데이터, 주요 관계(파일 통신, 과거 인증서/WHOIS, 해결 방법)를 포함한 포괄적인 IP 주소 분석 보고서를 받으세요.
  • 매개변수:
    • ip (필수): 분석할 IP 주소
  • 예:
await get_ip_report(ip="8.8.8.8")

4. 도메인 보고 도구

  • 이름: get_domain_report
  • 설명: DNS 레코드, WHOIS 데이터, 주요 관계(SSL 인증서, 하위 도메인, 기록 데이터)를 포함한 포괄적인 도메인 분석 보고서를 받으세요.
  • 매개변수:
    • domain (필수): 분석할 도메인 이름
  • 예:
await get_domain_report(domain="example.com")

관계 도구(상세 분석용)

1. URL 관계 도구

  • 이름: get_url_relationship
  • 설명: 페이지 매김 지원을 통해 URL에 대한 특정 관계 유형을 쿼리합니다.
  • 매개변수:
    • url (필수): 관계를 가져올 URL
    • relationship (필수): 쿼리에 대한 관계 유형
      • 사용 가능한 관계: 분석, 댓글, 통신 파일, 연락 도메인, 연락 IP, 다운로드 파일, 그래프, 마지막 제공 IP 주소, 네트워크 위치, 참조 파일, 참조 URL, 리디렉션 URL, 리디렉션 대상, 관련 댓글, 관련 참조, 관련 위협 행위자, 제출
    • limit (선택 사항, 기본값: 10): 검색할 관련 객체의 최대 개수(1-40)
    • cursor (선택 사항): 페이지 매김을 위한 연속 커서
  • 예:
await get_url_relationship( url="http://example.com/suspicious", relationship="communicating_files", limit=20 )

2. 파일 관계 도구

  • 이름: get_file_relationship
  • 설명: 페이지 매김 지원이 있는 파일의 특정 관계 유형을 쿼리합니다.
  • 매개변수:
    • hash (필수): 파일의 MD5, SHA-1 또는 SHA-256 해시
    • relationship (필수): 쿼리에 대한 관계 유형
      • 사용 가능한 관계: 분석, 동작, bundled_files, carbonblack_children, carbonblack_parents, ciphered_bundled_files, ciphered_parents, 단서, 컬렉션, 댓글, compressed_parents, contacted_domains, contacted_ips, contacted_urls, dropped_files, email_attachments, email_parents, embedded_domains, embedded_ips, embedded_urls, execution_parents, 그래프, itw_domains, itw_ips, itw_urls, memory_pattern_domains, memory_pattern_ips, memory_pattern_urls, overlay_children, overlay_parents, pcap_children, pcap_parents, pe_resource_children, pe_resource_parents, related_references, related_threat_actors, similar_files, 제출, 스크린샷, urls_for_embedded_js, 투표
    • limit (선택 사항, 기본값: 10): 검색할 관련 객체의 최대 개수(1-40)
    • cursor (선택 사항): 페이지 매김을 위한 연속 커서
  • 예:
await get_file_relationship( hash="44d88612fea8a8f36de82e1278abb02f", relationship="behaviours", limit=20 )

3. IP 관계 도구

  • 이름: get_ip_relationship
  • 설명: 페이지 매김 지원을 통해 IP 주소에 대한 특정 관계 유형을 쿼리합니다.
  • 매개변수:
    • ip (필수): 분석할 IP 주소
    • relationship (필수): 쿼리에 대한 관계 유형
      • 사용 가능한 관계: comments, communicating_files, downloaded_files, graphs, historical_ssl_certificates, historical_whois, related_comments, related_references, related_threat_actors, referrer_files, resolutions, urls
    • limit (선택 사항, 기본값: 10): 검색할 관련 객체의 최대 개수(1-40)
    • cursor (선택 사항): 페이지 매김을 위한 연속 커서
  • 예:
await get_ip_relationship( ip="8.8.8.8", relationship="communicating_files", limit=20 )

4. 도메인 관계 도구

  • 이름: get_domain_relationship
  • 설명: 페이지네이션 지원이 있는 도메인에 대한 특정 관계 유형을 쿼리합니다.
  • 매개변수:
    • domain (필수): 분석할 도메인 이름
    • relationship (필수): 쿼리에 대한 관계 유형
      • 사용 가능한 관계: caa_records, cname_records, comments, communicating_files, downloaded_files, historical_ssl_certificates, historical_whois, immediate_parent, mx_records, ns_records, parent, referrer_files, related_comments, related_references, related_threat_actors, resolves, soa_records, brothers, subdomains, urls, user_votes
    • limit (선택 사항, 기본값: 10): 검색할 관련 객체의 최대 개수(1-40)
    • cursor (선택 사항): 페이지 매김을 위한 연속 커서
  • 예:
await get_domain_relationship( domain="example.com", relationship="historical_ssl_certificates", limit=20 )

5. 고급 검색 도구

  • 이름: advanced_corpus_search
  • 설명: VT Intelligence 쿼리 구문을 사용하여 VirusTotal 데이터 세트에서 고급 검색을 수행합니다.
  • 매개변수:
    • query (필수): VT Intelligence 검색 쿼리 문자열
    • limit (선택 사항, 기본값: 20): 페이지당 반환할 최대 결과 수
    • cursor (선택 사항): 페이지 매김을 위한 연속 커서
    • descriptors_only (선택 사항): true인 경우 전체 객체 대신 객체 설명자만 검색합니다.
  • 예:
await advanced_corpus_search( query="type:peexe size:100kb+ positives:5+", limit=20, cursor=None )

요구 사항

  • 파이썬 >= 3.11
  • 유효한 VirusTotal API 키
  • 필요한 Python 패키지:
    • aiohttp >= 3.9.0
    • mcp[cli] >= 1.4.1
    • 파이썬-dotenv >= 1.0.0
    • 타이핑 확장 >= 4.8.0

오류 처리

서버에는 다음에 대한 포괄적인 오류 처리 기능이 포함되어 있습니다.

  • 잘못된 API 키
  • 속도 제한
  • 네트워크 오류
  • 잘못된 입력 매개변수
  • 잘못된 해시 형식
  • 잘못된 IP 형식
  • 잘못된 URL 형식
  • 잘못된 관계 유형
  • 페이지 매김 오류

개발

개발 모드에서 실행하려면:

python -m virustotal_mcp

기여하다

  1. 저장소를 포크하세요
  2. 기능 브랜치를 생성합니다( git checkout -b feature/amazing-feature )
  3. 변경 사항을 커밋하세요( git commit -m 'Add amazing feature' )
  4. 브랜치에 푸시( git push origin feature/amazing-feature )
  5. 풀 리퀘스트 열기

특허

이 프로젝트는 Apache License 2.0에 따라 라이선스가 부여되었습니다. 자세한 내용은 LICENSE 파일을 참조하세요.

감사의 말

  • API 및 위협 인텔리전스 플랫폼을 제공하는 VirusTotal
  • 서버 프레임워크를 위한 MCP 프로젝트
  • 기여자 및 유지 관리자

지원하다

지원을 원하시면 다음을 클릭하세요.

  1. 문서를 확인하세요
  2. 기존 이슈 검색
  3. 필요한 경우 새로운 이슈를 생성하세요

보안

  • API 키나 중요한 자격 증명을 절대 커밋하지 마세요.
  • 구성을 위해 환경 변수를 사용하세요
  • 위협 인텔리전스 데이터를 처리할 때 보안 모범 사례를 따르세요.
ID: mt97dddrwp