강화 MCP 서버
이 프로젝트는 제공된 옵저버블을 기반으로 인리치먼트를 수행하는 모델 컨텍스트 프로토콜(MCP) 서버입니다. 구성된 서비스와 제공된 옵저버블의 조합에 따라 호출할 인리치먼트 서비스가 결정됩니다.
이 도구는 일반적인 서비스(예: VirusTotal, Hybrid Analysis 등)를 사용하여 타사 보강을 수행하는 간단한 MCP 서버 구현을 제공하며 , security-cli Python 패키지를 사용하여 다양한 서비스와 보강/통신을 수행합니다.
MCP 서버
이 enrichment-mcp MCP 서버 구현은 다음 도구를 제공합니다.
lookup-observable - 주어진 관찰 가능 항목을 조사하여 올바른 도구로 라우팅하는 일반적인 엔드포인트입니다.
Related MCP server: IR Toolshed MCP Server
지원 서비스
현재 지원되는 서비스와 관찰 가능한 유형은 다음과 같습니다.
제안할 사항이 있거나 다른 서비스를 구현해야 한다고 생각하시는 경우, 이슈를 생성하거나 풀 리퀘스트를 제출해 주세요!
이름 | API 키가 필요합니다 | IP 지원 | 도메인 지원 | URL 지원 | 이메일 지원 |
바이러스 토탈 | 예 | 예 | 예 | 예 | 아니요 |
하이브리드 분석 | 예 | 예 | 예 | 예 | 아니요 |
에일리언볼트 | 예 | 예 | 예 | 예 | 아니요 |
쇼단 | 예 | 예 | 예 | 예 | 아니요 |
Urlscan.io | 예 | 예 | 예 | 예 | 아니요 |
IPDB 남용 | 예 | 예 | 아니요 | 아니요 | 아니요 |
HaveIBeenPwned | 예 | 아니요 | 아니요 | 아니요 | 예 |
요구 사항
이 MCP 서비스는 security-cli 와 사용자 정의 config.yaml.example 파일을 사용하여 관찰 가능한 조회에 대해 어떤 타사 강화 서비스가 지원되는지 확인합니다.
로컬 Mac/시스템에서 이를 실행하는 가장 쉬운 방법은 다음과 같습니다.
지엑스피1
이렇게 하려면 제공된 템플릿 .env.example 을 사용하고 비밀을 포함하는 새 .env 파일을 만들어야 합니다.
참고: 다양한 서비스 구성에 대한 자세한 내용은 security-cli 설명서를 참조하세요. 대부분의 사용 사례에서는 기본값을 사용해도 충분합니다.
환경 변수
참고: 이 서비스를 구현할 때는 비밀을 환경 변수로 설정하는 것이 좋습니다. 비밀을 저장하는 건 이제 그만하세요.
security-cli 패키지가 이러한 변수를 감지하려면 변수가 특정 형식이어야 합니다. 현재 지원되는 변수 목록은 다음과 같습니다.
강화_MCP_바이러스_전체_키
강화_MCP_하이브리드_분석_키
강화_MCP_외계인_보관_키
강화_MCP_쇼단_키
강화_MCP_URLSCAN_키
강화_MCP_남용_IPDB_키
강화_MCP_HIBP_키
강화 구성
각 강화 서비스는 securiy-cli 설정 파일에 정의되어 있습니다. 또한, 수행 가능한 다양한 강화 유형을 구분했습니다. 즉, 현재 구현에서는 enrich 라는 단일 작업 유형만 있지만, 향후 scans 이나 queries 등으로 확장될 수 있습니다.
이러한 상위 수준 작업 아래에는 관찰 가능 유형과 해당 유형을 지원하는 서비스 목록이 나열되어 있습니다. 현재 지원되는 관찰 가능 유형은 다음과 같습니다.
ipaddress - IPv4 주소
도메인 - 도메인 또는 netloc
url - 스키마 등을 포함한 완전한 URL
이메일 - 표준 이메일 주소
다음 유형도 지원하지만 현재 구현되지 않았습니다.
md5 - 파일 MD5 해시
sha1 - 파일 SHA1 해시
sha256 - 파일 SHA256 해시
각 서비스에는 name 과 template 있어야 합니다. apikey 필드를 제공할 수도 있지만 환경 변수를 사용하는 것이 좋습니다.
프롬프트 템플릿
각 서비스와 Observable 유형은 자체 응답 템플릿을 가질 수 있습니다. 이 템플릿들은 security-cli 템플릿 디렉터리에 있으며, 모든 템플릿은 여기에 있어야 합니다.
정의된 각 서비스에는 jinja2 템플릿을 사용하는 프롬프트 템플릿이 있습니다. 필요에 따라 템플릿을 수정할 수 있지만, 파일 이름 형식은 동일하게 유지해야 합니다.
이러한 파일은 다음과 같은 파일 이름 패턴을 갖습니다.
응답 개체에 템플릿 자체의 필드가 올바른지 확인하세요. 그렇지 않으면 오류가 발생합니다.
다음은 몇 가지 오류가 섞인 Enrich this IP 91.195.240.94 라는 프롬프트에 대한 출력 예시입니다.
MCP 서버 사용
미리 구축된 서버를 사용하려면 다음 지침을 따르세요: https://modelcontextprotocol.io/quickstart/user
데스크톱용 Claude 다운로드
uv 설치
이 리포를 다운로드하고 Claude for Desktop 구성에 추가하세요.
데스크톱용 Claude > 설정 > 개발자 > 구성 편집
제공된 .desktop_config.example.json 파일을 복사할 수 있습니다.
직접 만들고 싶다면 Claude Desktop에 대한 경로는 다음과 같습니다.
텍스트 편집기에서 구성 파일을 엽니다. 파일 내용을 다음과 같이 바꾸세요.
데스크톱용 Claude 다시 시작
이제 채팅 창에 두 개의 아이콘이 표시됩니다. 도구를 표시하는 망치와 정의된 프롬프트와 필요한 입력을 표시하는 연결 아이콘입니다.
기여하다
기여를 환영합니다! 풀 리퀘스트도 자유롭게 제출해 주세요.