일반 소개
mcp-is-dangerous는 Shaojie Jiang이 GitHub에서 개발한 오픈 소스 도구입니다. 이 도구는 사용자가 간단한 Python 코드를 통해 AI 도구를 사용할 때 MCP(모델 컨텍스트 프로토콜) 서비스의 보안 위험을 감지할 수 있도록 도와줍니다. 이 도구는 외부 도구가 환경 변수나 파일에 액세스할 수 있는 잠재적 위협을 표시하고 사용자에게 보안 문제를 경고하는 것을 목표로 합니다. 이 도구는 저자의 확장 가능한 에이전트 프로젝트 관련, 도구 공유의 용이성과 함께 위험성을 강조합니다. 프로젝트는 교육 및 테스트 목적으로만 사용되며 악의적인 사용은 지원하지 않습니다.

기능 목록
- 감지 MCP 서비스가 악의적인 목적으로 악용될 수 있는지 여부.
- 도구 기능 제공
get_environment_variables
를 클릭하여 환경 변수에 대한 액세스를 표시합니다. - 코드 예제를 통해 MCP 서비스의 보안 취약점을 공개합니다.
- 서비스 보안을 테스트하기 위해 사용자 지정 MCP 클라이언트를 연결할 수 있도록 지원합니다.
- 사용자에게 격리된 환경에서 실행하여 위험을 확인하도록 상기시킵니다.
도움말 사용
설치 및 실행 방법
이 도구를 사용하려면 기본적인 Python 환경이 필요합니다. 자세한 단계는 다음과 같습니다:
- Python 환경 확인
Python 3.8 이상이 설치되어 있는지 확인합니다. 터미널에 입력합니다:
python --version
설치되어 있지 않은 경우 Python 웹사이트에서 다운로드할 수 있습니다.
- 도구 다운로드
터미널에서 다음 명령을 실행하여 로컬로 복제합니다:
git clone https://github.com/ShaojieJiang/mcp-is-dangerous.git
그런 다음 카탈로그로 이동합니다:
cd mcp-is-dangerous
- 종속성 설치
필요fastmcp
라이브러리를 사용하여 MCP 서비스를 실행합니다. 설치 방법:
pip install fastmcp
보안상의 이유로 가상 환경을 사용할 수 있습니다:
python -m venv venv
source venv/bin/activate # Windows 用 venv\Scripts\activate
를 실행한 다음 pip install fastmcp
.
- 스타터 키트
디렉토리에서 실행합니다:
python main.py
터미널에 "서버 실행 중..."이라는 메시지가 표시되면 도구가 시작됩니다. 터미널에 "서버 실행 중..."이라는 메시지가 표시되면 도구가 시작됩니다.
- 테스트 기능
명령줄로 감지합니다:
uvx mcp-is-dangerous
출력 예시:
Here are what I could find:
PATH /usr/***
HOME /home/***
주요 기능
- 환경 변수 액세스 감지
핵심 기능은 다음과 같습니다.get_environment_variables
이 코드는 MCP 서비스가 환경 변수를 가져올 수 있는지 확인하는 데 사용됩니다. 코드는 다음과 같습니다:
@server.tool()
async def get_environment_variables() -> str:
result = ["Here are what I could find:"]
for key, value in os.environ.items():
result.append(f"{key:<30} {value[:5]}***")
return "\n".join(result)
출력에는 변수 이름과 값의 일부(처음 5자, 이후는 "***"로 숨김)가 표시되며 코드를 수정하여 전체 데이터를 볼 수 있지만 보안 환경에서 작업해야 합니다.
- 확장 가능한 에이전트 탐지 기능과의 결합
사용하는 경우 확장 가능한 에이전트선택PoliceAgent
모드로 전환하여 이 도구를 연결하세요. 실행 후 출력을 관찰하고 잠재적인 위험을 감지할 수 있습니다. - 맞춤형 클라이언트 테스트
자체 MCP 클라이언트로 감지하는 경우 다음과 같이 구성합니다:{ "mcpServers": { "dangerous-mcp": { "command": "python", "args": ["main.py"] } } }
이를 JSON 파일로 저장하고 클라이언트를 실행하여 감지합니다.
보안 테스트 권장 사항
- 격리된 환경 운영
Docker 컨테이너 테스트를 권장합니다:docker run -it --rm python:3.8 bash
로컬 시스템에 영향을 주지 않도록 컨테이너 내에서 설치 및 실행하세요.
- 민감한 데이터 정리
예를 들어 실행하기 전에 환경 변수에서 민감한 정보를 제거하세요:unset OPENAI_API_KEY
- 소스 코드 검토
사용 전 검사main.py
이 코드는 짧고 MCP 서비스의 보안을 검증하는 데 적합합니다.
보충 참고 사항
이 도구는 환경 변수에 대한 MCP 서비스 액세스를 시뮬레이션하여 사용자가 잠재적인 취약점을 탐지할 수 있도록 도와줍니다. 관계자들은 이 도구는 탐지 도구이므로 코드 검토 및 격리 실행과 같은 보안 관행과 함께 사용해야 한다고 강조합니다.
애플리케이션 시나리오
- MCP 서비스 보안 탐지
개발자는 이를 사용하여 MCP 서비스의 유출 위험을 테스트할 수 있습니다. - 도구 보안 검증
보안팀은 이를 사용하여 액세스 동작을 시뮬레이션하고 보호 조치를 검증합니다. - 교육 데모
교육 기관에서는 이를 통해 MCP 서비스의 위험성을 설명하고 안전 의식을 고취할 수 있습니다.
QA
- 이 도구의 기능은 무엇인가요?
MCP 서비스가 환경 변수에 액세스하기 위해 악용될 수 있는지 여부를 감지하고 사용자가 보안 위험을 식별할 수 있도록 도와줍니다. - 실행해도 안전한가요?
이 도구 자체는 테스트용으로 사용되며 악의적이지 않습니다. 하지만 실제 환경에서 실행하면 데이터가 노출될 수 있으므로 격리된 환경을 사용하는 것이 좋습니다. - 보안을 강화하려면 어떻게 사용하나요?
소스 코드를 확인하고, 실행을 격리하고, 민감한 데이터를 정리하고, 도구 동작을 확인합니다.
© 저작권 정책
기사 저작권 AI 공유 서클 모두 무단 복제하지 마세요.
관련 문서
댓글 없음...