f1tz/mcp-for-security-python
요약
FastMCP 라이브러리를 사용하여 JavaScript/TypeScript 기반의 보안 도구 MCP 서버를 Python으로 리팩토링한 프로젝트입니다. nmap, nuclei, sqlmap 등 20개의 보안 도구를 MCP 서버 형태로 구현하여 AI 에이전트가 보안 진단에 활용할 수 있도록 지원합니다.
핵심 포인트
- 기존 JS/TS 보안 MCP 서버를 Python으로 완전 리팩토링
- nmap, nuclei, sqlmap 등 20개 보안 도구 포함
- Claude 4 AI를 활용한 코드 변환 및 구현
- AI 에이전트의 사이버 보안 도구 활용성 강화
이 프로젝트는 FastMCP 라이브러리를 사용하여 구현된, 보안 도구 MCP (Model Context Protocol) 서버 컬렉션의 Python 리팩토링 버전입니다.
이 프로젝트는 cyproxio/mcp-for-security JavaScript/TypeScript 버전을 기반으로 한 완전한 Python 리팩토링 결과물입니다. 사이버 보안 도구의 표준화에 중요한 기여를 하는 이 훌륭한 보안 도구 MCP 서버 컬렉션을 오픈 소스로 공개해 준 cyproxio에 감사를 표합니다.
중요 선언:
- 이 프로젝트는 Claude 4 AI에 의해 완전히 리팩토링되었으며, JavaScript/TypeScript에서 Python으로 변환되었습니다. 실제 기기에서의 수동 테스트를 거치지 않았으므로, 런타임 오류나 기능적 결함이 포함될 수 있습니다.
- 코드 로직은 원본 버전을 번역하고 적응시킨 것에 기반하지만, 이해의 편향이 포함될 수 있습니다.
- 코드를 직접 분석하시기 바라며, 운영 환경에서는 주의해서 사용하십시오.
- 문제가 발견될 경우, 프로젝트 개선을 위해 PR (Pull Request) 또는 Issue 제출을 환영합니다.
20개의 JavaScript 버전 보안 도구 MCP 서버를 다음 사항을 유지하며 Python 버전으로 완전 리팩토링하였습니다:
- ✅ 100% API 호환성 (이론적으로)
- ✅ 동일한 기능 및 파라미터 (Parameters)
- ✅ 상호 의존성 없는 독립적 작동
- ✅ 상세한 중국어 문서
mcp-for-security-python/
├── README.md # 이 파일
├── sqlmap-mcp/ # SQL 인젝션 (SQL injection) 테스트 도구
...
assetfinder-mcp
-
서브도메인 (Subdomain) 발견 도구
-
기능: 대상 도메인의 서브도메인을 빠르게 발견
-
특징: 자동 ANSI 색상 코드 정리
waybackurls-mcp
-
과거 URL 발견 도구
-
기능: Wayback Machine에서 과거 URL 검색
-
특징: 서브도메인 포함/제외 옵션 지원
crtsh-mcp
-
SSL 인증서 로그 쿼리 도구
-
기능: 인증서 투명성 (Certificate Transparency) 로그에서 서브도메인 발견
-
특징: API 호출 방식, 로컬 도구 불필요
shuffledns-mcp
-
DNS 브루트 포스 (Brute force) 도구
-
기능: 효율적인 DNS 해석 및 브루트 포싱
-
특징: massdns 통합, 다양한 모드 지원
alterx-mcp- 도메인 변이 생성 도구 (Domain mutation generation tool)
-
기능: 서브도메인 발견을 위한 도메인 변이 생성
-
특징: 다양한 변이 모드 및 커스텀 템플릿 지원
httpx-mcp- HTTP 서비스 탐지 도구 (HTTP service detection tool)
-
기능: 빠른 HTTP/HTTPS 서비스 발견
-
특징: 풍부한 탐지 옵션 및 병렬 처리 지원
nmap-mcp- 네트워크 스캐닝 도구 (Network scanning tool)
-
기능: 포괄적인 네트워크 발견 및 포트 스캐닝
-
특징: 완전한 nmap 파라미터 지원
masscan-mcp- 고속 포트 스캐닝 도구 (High-speed port scanning tool)
-
기능: 고속 대규모 포트 스캐닝
-
특징: 커스텀 속도 및 포트 범위 지원
nuclei-mcp- 취약점 스캐닝 도구 (Vulnerability scanning tool)
-
기능: 템플릿 기반 취약점 스캐닝
-
특징: 태그 검색 API를 포함한 다양한 도구 기능 지원
sslscan-mcp- SSL/TLS 보안 스캐닝 도구 (SSL/TLS security scanning tool)
-
기능: SSL/TLS 설정 및 취약점 탐지
-
특징: 다양한 SSL/TLS 테스트 옵션 지원
ffuf-mcp- 웹 퍼징 도구 (Web fuzzing tool)
-
기능: 고성능 웹 디렉토리 및 파라미터 퍼징
-
특징: 완전한 파라미터 설정 지원
arjun-mcp- HTTP 파라미터 발견 도구 (HTTP parameter discovery tool)
- 기능: 숨겨진 HTTP GET/POST 파라미터 발견
- 특징: 다양한 탐지 모드 및 커스텀 사전 지원
katana-mcp- 웹 크롤러 도구 (Web crawler tool)
-
기능: 빠른 웹 크롤링 및 엔드포인트 발견
-
특징: JavaScript 렌더링 및 딥 크롤링 (Deep crawling) 지원
sqlmap-mcp- SQL 인젝션 테스트 도구 (SQL injection testing tool)
-
기능: 자동화된 SQL 인젝션 탐지 및 익스플로잇 (Exploitation)
-
특징: 풍부한 파라미터 설정 지원
smuggler-mcp- HTTP 요청 스머글링 취약점 탐지 (HTTP request smuggling vulnerability detection)
-
기능: HTTP 요청 스머글링 (HTTP Request Smuggling) 취약점 탐지
-
특징: CL.TE 및 TE.CL 유형 탐지 지원
wpsscan-mcp- WordPress 보안 스캐닝 도구 (WordPress security scanning tool)
-
기능: WordPress 웹사이트 보안 취약점 스캐닝
-
특징: 플러그인, 테마, 사용자 열거 (Enumeration) 등 지원
http-headers-security-mcp
-
HTTP 헤더 보안 점검 도구 (HTTP header security check tool)
-
기능: HTTP 응답 헤더의 보안 설정 분석 (Analyze security configuration of HTTP response headers)
-
특징: OWASP 표준 기반의 보안 평가 (Security assessment based on OWASP standards)
mobsf-mcp
-
모바일 앱 보안 분석 도구 (Mobile app security analysis tool)
-
기능: Android/iOS 모바일 앱 보안 분석 (Android/iOS mobile app security analysis)
-
특징: API 통합, 정적 및 동적 분석 지원 (API integration, support static and dynamic analysis)
scoutsuite-mcp
-
클라우드 보안 감사 도구 (Cloud security audit tool)
-
기능: 멀티 클라우드 플랫폼 보안 설정 감사 (Multi-cloud platform security configuration audit)
-
특징: AWS, Azure, GCP 및 기타 클라우드 플랫폼 지원 (Support AWS, Azure, GCP and other cloud platforms)
amass-mcp
- 네트워크 자산 발견 도구 (Network asset discovery tool)
- 기능: 종합적인 네트워크 자산 발견 및 정찰 (Comprehensive network asset discovery and reconnaissance)
- 특징: 다중 데이터 소스 및 심층 정찰 지원 (Support multiple data sources and deep reconnaissance)
프레임워크 (Framework): FastMCP 2.0+
언어 (Language): Python 3.8+
비동기 처리 (Async Processing): asyncio
타입 어노테이션 (Type Annotations): typing 모듈
도구 기능 (Tool Functions): @mcp.tool() 데코레이터 (decorator)
비동기 실행 (Async Execution): subprocess + asyncio
에러 처리 (Error Handling): 통합 예외 캡처 및 반환 (Unified exception capture and return)
문서화 지원 (Documentation Support): 완전한 docstring 및 파라미터 설명 (Complete docstring and parameter descriptions)
@mcp.tool()
async def tool_name(target: str, args: List[str] = None) -> str:
cmd = [tool_command] + construct_args(target, args)
...
@mcp.tool()
async def api_tool(target: str) -> str:
async with aiohttp.ClientSession() as session:
...
@mcp.tool()
async def primary_function(...) -> str:
# 주요 기능 (Main functionality)
...
# Python 환경 (Python environment)
python >= 3.8
# FastMCP 설치 (Install FastMCP)
...
도구 디렉토리 진입 (Enter tool directory)
cd mcp-for-security-python/[tool-name]-mcp/
의존성 설치 (Install dependencies)
pip install -r requirements.txt
서버 시작 (Start server)
# 커맨드 라인 도구용 (대부분) (For command line tools (most))
python server.py [tool-binary-path]
# API 도구용 (mobsf-mcp와 같은) (For API tools (like mobsf-mcp))
...
MCP 클라이언트 설정 (Configure MCP client)
{
"mcpServers": {
"tool-name-mcp": {
...
API 호환성 (API Compatibility): JavaScript 버전과 정확히 동일한 인터페이스를 유지합니다.
함수 설명 (Function Description): 원본 docstring 내용을 직접 사용합니다.
매개변수 처리 (Parameter Handling): 동일한 매개변수 타입과 구조를 지원합니다.
에러 처리 (Error Handling): 통합된 예외 처리 및 반환 형식을 사용합니다.
문서 완성도 (Documentation Completeness): 각 도구는 상세한 README.md를 포함합니다.
#!/usr/bin/env python3
"""
Tool MCP Server
...
"""
실제 기기 테스트 미실시 (Not real-machine tested): 모든 코드는 AI에 의해 리팩토링되었으며, 실제 실행을 통해 검증되지 않았습니다.
의존성 호환성 (Dependency compatibility): Python 라이브러리 버전 호환성 문제가 발생할 수 있습니다.
매개변수 파싱 (Parameter parsing): 명령줄 매개변수(Command line parameter) 구성에 오류가 포함될 수 있습니다.
예외 처리 (Exception handling): 에러 처리 로직이 충분히 포괄적이지 않을 수 있습니다.
성능 최적화 (Performance optimization): Python 특화 기능에 최적화되어 있지 않습니다.
이 프로젝트의 개선을 위한 커뮤니티의 기여를 환영합니다:
테스트 검증 (Testing verification): 실제 환경에서 도구 기능을 테스트하십시오.
이슈 보고 (Issue reporting): 발견된 문제는 GitHub Issues를 통해 보고하십시오.
코드 수정 (Code fixes): 발견된 오류를 수정하기 위해 PR(Pull Request)을 제출하십시오.
기능 개선 (Feature improvements): 성능을 최적화하거나 새로운 기능을 추가하십시오.
문서 개선 (Documentation improvement): 문서와 사용 예시를 개선하십시오.
중요 보안 경고 (Important Security Warning)
이 도구들은 오직 합법적인 보안 테스트 및 연구 목적으로만 사용되어야 합니다:
승인된 사용 (Authorized use): 본인이 소유하거나 테스트에 대한 명시적인 권한을 가진 시스템에서만 사용하십시오.
법적 준수 (Legal compliance): 모든 관련 법률 및 규정을 준수하십시오.
책임 있는 공개 (Responsible disclosure): 발견된 취약점은 책임감 있게 공개되어야 합니다.
윤리적 사용 (Ethical use): 악의적인 공격이 아닌 보안 향상을 목표로 해야 합니다.
테스트 검증 (Testing verification): 실제 기기 테스트가 부족하므로, 먼저 안전한 환경에서 기능을 검증하십시오.
이 프로젝트는 MIT 라이선스 하에 배포됩니다.
원본 프로젝트인 cyproxio/mcp-for-security 또한 MIT 라이선스 하에 있습니다.
프로젝트 개선을 위한 코드 기여를 환영합니다:
- 프로젝트를 Fork 하십시오.
- 기능 브랜치(feature branch)를 생성하십시오.
- 변경 사항을 테스트하십시오.
- Pull Request를 제출하십시오.
특히 다음 사항들을 환영합니다:
- 실제 환경 테스트 피드백
- 버그 수정 (Bug fixes)
- 성능 최적화 (Performance optimizations)
- 문서 개선 (Documentation improvements)
질문이나 제안 사항이 있다면 GitHub Issues를 통해 연락해 주십시오.
- 감사 인사
cyproxio가 원본 JavaScript MCP 서버 컬렉션을 오픈 소스로 공개해 주신 것에 감사드립니다. - 이 훌륭한 보안 도구들을 제공해 주신 모든 보안 도구 원작자분들께 감사드립니다. - MCP 프로토콜 및 FastMCP 라이브러리 개발자분들께 감사드립니다.
MCP for Security - Python Version | 보안 도구를 더욱 접근하기 쉽고 강력하게 만듭니다 🚀
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub AI Tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기