Skip to main content
Glama

쇼단 MCP 서버

Shodan APIShodan CVEDB 쿼리를 위한 모델 컨텍스트 프로토콜(MCP) 서버입니다. 이 서버는 IP 정찰, DNS 운영, 취약점 추적, 기기 검색 등 Shodan의 네트워크 인텔리전스 및 보안 서비스에 대한 포괄적인 액세스를 제공합니다. 모든 도구는 손쉬운 분석 및 통합을 위해 구조화되고 형식화된 출력을 제공합니다.

빠른 시작(권장)

Smithery를 통해 설치

Smithery를 통해 Claude Desktop에 Shodan Server를 자동으로 설치하려면:

지엑스피1

수동 설치

  1. npm을 통해 서버를 전역으로 설치합니다.
npm install -g @burtthecoder/mcp-shodan
  1. Claude Desktop 구성 파일에 다음을 추가합니다.
{ "mcpServers": { "shodan": { "command": "mcp-shodan", "env": { "SHODAN_API_KEY": "your-shodan-api-key" } } } }

구성 파일 위치:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  1. Claude Desktop을 다시 시작하세요

대체 설정(소스에서)

소스에서 실행하거나 코드를 수정해야 하는 경우:

  1. 복제 및 빌드:
git clone https://github.com/BurtTheCoder/mcp-shodan.git cd mcp-shodan npm install npm run build
  1. Claude Desktop 구성에 다음을 추가합니다.
{ "mcpServers": { "shodan": { "command": "node", "args": ["/absolute/path/to/mcp-shodan/build/index.js"], "env": { "SHODAN_API_KEY": "your-shodan-api-key" } } } }

특징

  • 네트워크 정찰 : 열려 있는 포트, 서비스, 취약점을 포함하여 IP 주소에 대한 자세한 정보를 쿼리합니다.
  • DNS 작업 : 도메인 및 IP 주소에 대한 정방향 및 역방향 DNS 조회
  • 취약성 인텔리전스 : 자세한 취약성 정보, CPE 조회 및 제품별 CVE 추적을 위한 Shodan의 CVEDB에 액세스
  • 장치 검색 : 고급 필터링을 통해 인터넷에 연결된 장치의 Shodan 데이터베이스 검색

도구

1. IP 조회 도구

  • 이름: ip_lookup
  • 설명: 지리적 위치, 열려 있는 포트, 실행 중인 서비스, SSL 인증서, 호스트 이름 및 클라우드 공급자 세부 정보(사용 가능한 경우)를 포함하여 IP 주소에 대한 포괄적인 정보를 검색합니다.
  • 매개변수:
    • ip (필수): 조회할 IP 주소
  • 보고:
    • IP 정보(주소, 조직, ISP, ASN)
    • 위치(국가, 도시, 좌표)
    • 서비스(포트, 프로토콜, 배너)
    • 클라우드 공급자 세부 정보(사용 가능한 경우)
    • 연관된 호스트 이름 및 도메인
    • 태그

2. 쇼단 검색 도구

  • 이름: shodan_search
  • 설명: 인터넷에 연결된 기기의 Shodan 데이터베이스 검색
  • 매개변수:
    • query (필수): Shodan 검색 쿼리
    • max_results (선택 사항, 기본값: 10): 반환할 결과 수
  • 보고:
    • 전체 결과가 포함된 검색 요약
    • 국가 기반 분포 통계
    • 다음을 포함한 자세한 장치 정보:
      • 기본 정보(IP, 조직, ISP)
      • 위치 데이터
      • 서비스 세부 정보
      • 웹 서버 정보
      • 연관된 호스트 이름 및 도메인

3. CVE 조회 도구

  • 이름: cve_lookup
  • 설명: Shodan의 CVEDB에서 자세한 취약성 정보를 쿼리합니다.
  • 매개변수:
    • cve (필수): CVE-YYYY-NNNNN 형식의 CVE 식별자(예: CVE-2021-44228)
  • 보고:
    • 기본 정보(ID, 게시일, 요약)
    • 심각도 점수:
      • 심각도 수준이 있는 CVSS v2 및 v3
      • EPSS 확률 및 순위
    • 영향 평가:
      • KEV 상태
      • 제안된 완화책
      • 랜섬웨어 협회
    • 영향을 받는 제품(CPE)
    • 참고문헌

4. DNS 조회 도구

  • 이름: dns_lookup
  • 설명: Shodan의 DNS 서비스를 사용하여 도메인 이름을 IP 주소로 변환합니다.
  • 매개변수:
    • hostnames (필수): 확인할 호스트 이름 배열
  • 보고:
    • 호스트 이름을 IP에 매핑하는 DNS 확인
    • 총 조회 및 쿼리된 호스트 이름 요약

5. 역방향 DNS 조회 도구

  • 이름: reverse_dns_lookup
  • 설명: IP 주소와 연결된 호스트 이름을 찾기 위해 역방향 DNS 조회를 수행합니다.
  • 매개변수:
    • ips (필수): 조회할 IP 주소 배열
  • 보고:
    • IP를 호스트 이름에 매핑하는 역방향 DNS 확인
    • 전체 조회 및 결과 요약

6. CPE 조회 도구

  • 이름: cpe_lookup
  • 설명: 제품 이름으로 CPE(Common Platform Enumeration) 항목을 검색합니다.
  • 매개변수:
    • product (필수): 검색할 제품의 이름
    • count (선택 사항, 기본값: false): true인 경우 일치하는 CPE의 개수만 반환합니다.
    • skip (선택 사항, 기본값: 0): 건너뛸 CPE 수(페이지 매김용)
    • limit (선택 사항, 기본값: 1000): 반환할 CPE의 최대 수
  • 보고:
    • count가 참인 경우: 일치하는 CPE의 총 수
    • count가 false인 경우: 페이지 번호 세부 정보가 포함된 CPE 목록

7. 제품별 CVE 도구

  • 이름: cves_by_product
  • 설명: 특정 제품 또는 CPE에 영향을 미치는 취약점 검색
  • 매개변수:
    • cpe23 (선택 사항): CPE 2.3 식별자(형식: cpe:2.3:part:vendor:product:version)
    • product (선택 사항): CVE를 검색할 제품 이름
    • count (선택 사항, 기본값: false): true인 경우 일치하는 CVE의 개수만 반환합니다.
    • is_kev (선택 사항, 기본값: false): true인 경우 KEV 플래그가 설정된 CVE만 반환합니다.
    • sort_by_epss (선택 사항, 기본값: false): true인 경우 CVE를 EPSS 점수별로 정렬합니다.
    • skip (선택 사항, 기본값: 0): 건너뛸 CVE 수(페이지 매김용)
    • limit (선택 사항, 기본값: 1000): 반환할 CVE의 최대 수
    • start_date (선택 사항): CVE 필터링 시작 날짜(형식: YYYY-MM-DDTHH:MM:SS)
    • end_date (선택 사항): CVE 필터링 종료 날짜(형식: YYYY-MM-DDTHH:MM:SS)
  • 참고사항:
    • cpe23 또는 제품 중 하나만 제공해야 하며 둘 다 제공하면 안 됩니다.
    • 날짜 필터링은 CVE의 게시된 시간을 사용합니다.
  • 보고:
    • 쿼리 정보
    • 페이지 번호 세부 정보가 포함된 결과 요약
    • 다음을 포함한 자세한 취약성 정보:
      • 기본 정보
      • 심각도 점수
      • 영향 평가
      • 참고문헌

요구 사항

문제 해결

API 키 문제

API 키 관련 오류(예: "요청이 상태 코드 401로 실패했습니다")가 표시되는 경우:

  1. API 키를 확인하세요:
    • 계정 설정 에서 유효한 Shodan API 키여야 합니다.
    • 키에 작업에 필요한 충분한 크레딧/권한이 있는지 확인하세요.
    • 구성에서 키 주위에 추가 공백이나 따옴표가 있는지 확인하세요.
    • SHODAN_API_KEY 환경 변수에 키가 올바르게 설정되었는지 확인하세요.
  2. 일반적인 오류 코드:
    • 401 인증되지 않음: 잘못된 API 키 또는 인증 누락
    • 402 지불 필요: 쿼리 크레딧 없음
    • 429 요청이 너무 많음: 속도 제한을 초과했습니다.
  3. 구성 단계: a. Shodan 계정 에서 API 키를 가져옵니다. b. 구성 파일에 추가합니다.
    { "mcpServers": { "shodan": { "command": "mcp-shodan", "env": { "SHODAN_API_KEY": "your-actual-api-key-here" } } } }
    c. 구성 파일을 저장합니다. d. Claude Desktop을 다시 시작합니다.
  4. 키 테스트:
    • 먼저 간단한 쿼리를 시도해 보세요(예: "google.com"에 대한 dns_lookup).
    • Shodan 계정 대시보드에서 신용 상태를 확인하세요.
    • curl에서 키가 직접 작동하는지 확인하세요.
      curl "https://api.shodan.io/dns/resolve?hostnames=google.com&key=your-api-key"

모듈 로딩 문제

모듈 로딩 오류가 표시되는 경우:

  1. 글로벌 설치의 경우: 빠른 시작에 표시된 간단한 구성을 사용하세요.
  2. 소스 설치의 경우: Node.js v18 이상을 사용하고 있는지 확인하세요.

개발

핫 리로딩을 사용하여 개발 모드에서 실행하려면:

npm run dev

오류 처리

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

  • 잘못된 API 키
  • 속도 제한
  • 네트워크 오류
  • 잘못된 입력 매개변수
  • 잘못된 CVE 형식
  • 잘못된 CPE 조회 매개변수
  • 잘못된 날짜 형식
  • 상호 배타적 매개변수 검증

버전 기록

  • v1.0.12: 역방향 DNS 조회 추가 및 출력 형식 개선
  • v1.0.7: 제품 검색 기능을 통해 CVE를 추가하고 취약성 도구 이름을 cve_lookup으로 변경했습니다.
  • v1.0.6: 향상된 CVE 조회 및 CPE 검색 기능을 위한 CVEDB 통합 추가
  • v1.0.0: 핵심 기능이 포함된 초기 릴리스

기여하다

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

특허

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

-
security - not tested
A
license - permissive license
-
quality - not tested

local-only server

The server can only run on the client's local machine because it depends on local resources.

Shodan API 및 Shodan CVEDB 쿼리를 위한 MCP 서버입니다. 이 서버는 IP 조회, 기기 검색, DNS 조회, 취약점 쿼리, CPE 조회 등을 위한 도구를 제공합니다.

  1. 빠른 시작(권장)
    1. Smithery를 통해 설치
    2. 수동 설치
  2. 대체 설정(소스에서)
    1. 특징
      1. 도구
        1. IP 조회 도구
        2. 쇼단 검색 도구
        3. CVE 조회 도구
        4. DNS 조회 도구
        5. 역방향 DNS 조회 도구
        6. CPE 조회 도구
        7. 제품별 CVE 도구
      2. 요구 사항
        1. 문제 해결
          1. API 키 문제
          2. 모듈 로딩 문제
        2. 개발
          1. 오류 처리
            1. 버전 기록
              1. 기여하다
                1. 특허

                  Related MCP Servers

                  • A
                    security
                    A
                    license
                    A
                    quality
                    A MCP server for querying the VirusTotal API. This server provides tools for scanning URLs, analyzing file hashes, and retrieving IP address reports.
                    Last updated -
                    7
                    44
                    17
                    TypeScript
                    MIT License
                    • Apple
                  • -
                    security
                    A
                    license
                    -
                    quality
                    MCP server for using various search tools like Tavily API. Planning to support various search tools (i.e. wiki search, searxng, etc)
                    Last updated -
                    1
                    Python
                    MIT License
                    • Apple
                    • Linux
                  • A
                    security
                    A
                    license
                    A
                    quality
                    An MCP server that provides a comprehensive interface to Semgrep, enabling users to scan code for security vulnerabilities, create custom rules, and analyze scan results through the Model Context Protocol.
                    Last updated -
                    6
                    178
                    Python
                    MIT License
                    • Linux
                    • Apple
                  • -
                    security
                    A
                    license
                    -
                    quality
                    An MCP server for interacting with Google's Chronicle Security Operations suite, enabling users to search security events, get alerts, look up entities, list security rules, and retrieve IoC matches.
                    Last updated -
                    5
                    Python
                    Apache 2.0

                  View all related MCP servers

                  MCP directory API

                  We provide all the information about MCP servers via our MCP API.

                  curl -X GET 'https://glama.ai/api/mcp/v1/servers/BurtTheCoder/mcp-shodan'

                  If you have feedback or need assistance with the MCP directory API, please join our Discord server