Skip to main content
Glama

shodan-mcp

Shodan 기반의 수동 정찰 MCP 서버입니다. nuclei-mcp와 동일한 게이트를 사용하여 HackerOne 스냅샷을 기준으로 스코프를 제한합니다.

수동 전용 — Shodan 쿼리는 대상에게 패킷을 전혀 전송하지 않습니다. 모든 데이터는 Shodan의 기존 인터넷 전체 스캔 인덱스에서 가져옵니다.


아키텍처

Claude/copilot (AI agent)
    │
    │  MCP (stdio)
    ▼
shodan-mcp container
    ├── reads scope ──► /data/snapshots/*.json  ◄─── h1-scope-watcher
    └── queries     ──► api.shodan.io  (passive, no target contact)

Related MCP server: Shodan MCP Server

스코프 게이트

모든 도구는 nuclei-mcp와 동일한 게이트를 실행합니다:

  1. /data/snapshots에서 모든 *.json 로드

  2. 정확히 일치 → 와일드카드 → 퍼지 키워드 매칭

  3. eligible_for_bountyeligible_for_submission 확인

  4. 둘 중 하나라도 false이면 차단 — 재정의 불가

H1-Scope-Watcher


빠른 시작

1. 빌드

cd shodan-mcp
docker build -t shodan-mcp .

2. Claude/Copilot MCP 설정에 추가

{
  "mcpServers": {
    "h1-scope-watcher": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-v", "D:/projects/H1-Scope-Watcher/snapshots:/data/snapshots",
        "-e", "SNAPSHOTS_DIR=/data/snapshots",
        "mcp/h1-scope"
      ]
    },
    "shodan-mcp": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-v", "D:/projects/H1-Scope-Watcher/snapshots:/data/snapshots",
        "-e", "SNAPSHOTS_DIR=/data/snapshots",
        "-e", "SHODAN_API_KEY=YOUR_KEY_HERE",
        "shodan-mcp"
      ]
    }
  }
}

YOUR_KEY_HEREhttps://account.shodan.io에서 발급받은 키로 교체하세요.


MCP 도구

shodan_host

대상 확인 → IP → 전체 Shodan 호스트 보고서.

매개변수

타입

기본값

설명

target

string

도메인, URL 또는 퍼지 이름

show_banners

bool

false

원시 서비스 배너 포함 (처음 3줄)

IP당 제공되는 정보:

  • 열린 포트 + 전송 프로토콜

  • 서비스 / 제품 / 버전 핑거프린트

  • CPE 식별자

  • CVSS 점수 및 요약이 포함된 CVE 목록

  • ASN, ISP, 조직, 지리적 위치, OS

  • Shodan 태그 (예: cloud, self-signed, vpn)

예시 프롬프트:

  • "dummy-target에 대해 shodan 실행"

  • "api.tile.com이 Shodan에서 노출하는 포트는 무엇인가요?"

  • "배너와 함께 production.tile-api.com에 대해 shodan 확인"


Shodan의 hostname: 인덱스 검색 — 오래된/그림자 인프라를 포함하여 해당 호스트 이름을 서비스한 적이 있는 모든 IP의 레코드를 찾습니다.

매개변수

타입

기본값

설명

target

str

도메인, URL 또는 키워드

max_results

int

5

최대 호스트 수 (최대: 20)

예시 프롬프트:

  • "dummy-target에 대해 Shodan 검색 — 결과 10개 보여줘"

  • "Shodan에 tile.com에 대해 잊혀진 인프라가 있나요?"


shodan_dns

Shodan의 수동 DNS 레코드 가져오기 — Shodan이 루트 도메인에 대해 관찰한 모든 서브도메인, A/CNAME/MX/TXT 레코드.

매개변수

타입

설명

target

str

도메인 또는 키워드

예시 프롬프트:

  • "dummy-target에 대해 Shodan이 알고 있는 서브도메인은 무엇인가요?"

  • "tile.com에 대한 Shodan DNS 레코드 보여줘"


check_scope

API 호출 없이 스코프 게이트를 미리 확인합니다.


list_programs

바운티 자격 여부에 따라 그룹화된 모든 H1 스코프 자산을 나열합니다.


Shodan 플랜 참고 사항

플랜

shodan_host

shodan_search

shodan_dns

Free

✅ (제한됨)

Membership

API (유료)

shodan_dns는 유료 Shodan 플랜이 필요합니다. 서버는 시작 시 키와 플랜을 검증하고 결과를 기록합니다.


체인 워크플로우 예시

You: "Full passive recon on dummy-target"

Claude/Copilot:
  1. check_scope("dummy-target")
    → ✅ api.dummy-target.com, api-cloudfront.dummy-target.com

  2. shodan_dns("dummy-target")
    → 14 subdomains discovered passively

  3. shodan_host("api.dummy-target.com")
    → Port 443 (nginx 1.18), Port 8443 (unknown)
    → CVE-2021-23017 CVSS 7.7 (nginx)

  4. shodan_search("dummy-target", max_results=10)
    → 3 IPs, one on non-standard port 9200 (Elasticsearch!)

  5. nuclei_scan("api.dummy-target.com")
    → Confirms Elasticsearch exposure

5단계 전까지는 더미 대상에게 패킷이 전혀 전송되지 않습니다.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    MCP server for querying the Shodan API and Shodan CVEDB. This server provides tools for IP lookups, device searches, DNS lookups, vulnerability queries, CPE lookups, and more.
    7
    520 npm
    171
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    A WebSocket server that provides MCP interface for searching and retrieving information about internet-connected devices, IP addresses, DNS data, and CVE vulnerabilities through the Shodan API.
    3
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    This is a Model Context Protocol (MCP) server that provides access to the Shodan API. It allows you to programmatically query Shodan for information about devices, vulnerabilities, and more.
    2
    -