
harishsg993010/damn-vulnerable-mcp-server
Developer tools이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요. 원문 보기
젠장, 취약한 MCP 서버
개요
교육 목적으로 의도적으로 취약하게 구현된 모델 컨텍스트 프로토콜(MCP)입니다. Damn 취약점 모델 컨텍스트 프로토콜(DVMCP)은 MCP 구현에서 보안 취약점을 입증하기 위해 설계된 교육 프로젝트입니다. 이 프로토콜에는 다양한 취약점과 공격 벡터를 보여주는 10개의 난이도가 점점 높아지는 도전 과제가 포함되어 있습니다. 이 프로젝트는 보안 연구자, 개발자, AI 안전 전문가들이 MCP 구현에서 발생할 수 있는 잠재적 보안 문제와 이를 완화하는 방법을 배우도록 설계되었습니다. 모델 컨텍스트 프로토콜(MCP)은 애플리케이션이 대형 언어 모델(LLM)에 대해 구조화된 방식으로 맥락을 제공할 수 있도록 하는 표준화된 프로토콜입니다. 이 프로토콜은 맥락 제공과 실제 LLM 상호작용을 분리하여 애플리케이션이 자원, 도구, 프롬프트를 LLM에 노출할 수 있도록 합니다.
개요(AI 번역)
교육 목적으로 의도적으로 취약하게 구현된 모델 컨텍스트 프로토콜(MCP)입니다.
개요
Damn 취약점 모델 컨텍스트 프로토콜(DVMCP)은 MCP 구현에서 보안 취약점을 입증하기 위해 설계된 교육 프로젝트입니다. 이 프로토콜에는 다양한 취약점과 공격 벡터를 보여주는 10개의 난이도가 점점 높아지는 도전 과제가 포함되어 있습니다.
이 프로젝트는 보안 연구자, 개발자, AI 안전 전문가들이 MCP 구현에서 발생할 수 있는 잠재적 보안 문제와 이를 완화하는 방법을 배우도록 설계되었습니다.
MCP란 무엇인가?
모델 컨텍스트 프로토콜(MCP)은 애플리케이션이 대형 언어 모델(LLM)에 대해 구조화된 방식으로 맥락을 제공할 수 있도록 하는 표준화된 프로토콜입니다. 이 프로토콜은 맥락 제공과 실제 LLM 상호작용을 분리하여 애플리케이션이 자원, 도구, 프롬프트를 LLM에 노출할 수 있도록 합니다.
추천 MCP 클라이언트
CLINE - VSCode 확장 Cline과 MCP 서버를 연결하는 방법에 대해서는 Connecting to a Remote Server - Cline을 참고하세요
퀵 스타트
저장소를 복제한 후에는 다음 명령어를 실행하세요:
면책 조항
윈도우 환경에서는 안정적이지 않습니다.
이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요.
README
원문 README의 일부입니다. 원문 보기.
Damn Vulnerable Model Context Protocol (DVMCP)
A deliberately vulnerable implementation of the Model Context Protocol (MCP) for educational purposes.
Overview
The Damn Vulnerable Model Context Protocol (DVMCP) is an educational project designed to demonstrate security vulnerabilities in MCP implementations. It contains 10 challenges of increasing difficulty that showcase different types of vulnerabilities and attack vectors.
This project is intended for security researchers, developers, and AI safety professionals to learn about potential security issues in MCP implementations and how to mitigate them.
What is MCP?
The Model Context Protocol (MCP) is a standardized protocol that allows applications to provide context for Large Language Models (LLMs) in a structured way. It separates the concerns of providing context from the actual LLM interaction, enabling applications to expose resources, tools, and prompts to LLMs.
Recommended MCP Clients
CLINE - VSCode Extension
Refer to this Connecting to a Remote Server - Cline for connecting Cline with MCP server
Quick Start
Once you have cloned the repository, run the following commands:
docker build -t dvmcp .
docker run -p 9001-9010:9001-9010 dvmcp
Disclaimer
It’s not stable in a Windows environment. If you don’t want to use Docker then please use Linux environment. I recommend Docker to run the LAB and I am 100% percent sure it works well in the Docker environment
Security Risks
While MCP provides many benefits, it also introduces new security considerations. This project demonstrates various vulnerabilities that can occur in MCP implementations, including:
- Prompt Injection: Manipulating LLM behavior through malicious inputs
- Tool Poisoning: Hiding malicious instructions in tool descriptions
- Excessive Permissions: Exploiting overly permissive tool access
- Rug Pull Attacks: Exploiting tool definition mutations
- Tool Shadowing: Overriding legitimate tools with malicious ones
- Indirect Prompt Injection: Injecting instructions through data sources
- Token Theft: Exploiting insecure token storage
- Malicious Code Execution: Executing arbitrary code through vulnerable tools
- Remote Access Control: Gaining unauthorized system access
- Multi-Vector Attacks: Combining multiple vulnerabilities
Project Structure
damn-vulnerable-MCP-server/
├── README.md # Project overview
├── requirements.txt # Python dependencies
├── challenges/ # Challenge implementations
│ ├── easy/ # Easy difficulty challenges (1-3)
│ │ ├── challenge1/ # Basic Prompt Injection
│ │ ├── challenge2/ # Tool Poisoning
│ │ └── challenge3/ # Excessive Permission Scope
│ ├── medium/ # Medium difficulty challenges (4-7)
설치
docker run -p 9001-9010:9001-9010 dvmcp