MCP 서비스의 보안 위험을 탐지하기 위한 오픈 소스 도구

최신 AI 리소스5개월 전에 게시 됨 AI 공유 서클
1.8K 00

일반 소개

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

检测MCP服务安全风险的开源工具

 

기능 목록

  • 감지 MCP 서비스가 악의적인 목적으로 악용될 수 있는지 여부.
  • 도구 기능 제공 get_environment_variables를 클릭하여 환경 변수에 대한 액세스를 표시합니다.
  • 코드 예제를 통해 MCP 서비스의 보안 취약점을 공개합니다.
  • 서비스 보안을 테스트하기 위해 사용자 지정 MCP 클라이언트를 연결할 수 있도록 지원합니다.
  • 사용자에게 격리된 환경에서 실행하여 위험을 확인하도록 상기시킵니다.

 

도움말 사용

설치 및 실행 방법

이 도구를 사용하려면 기본적인 Python 환경이 필요합니다. 자세한 단계는 다음과 같습니다:

  1. Python 환경 확인
    Python 3.8 이상이 설치되어 있는지 확인합니다. 터미널에 입력합니다:
python --version

설치되어 있지 않은 경우 Python 웹사이트에서 다운로드할 수 있습니다.

  1. 도구 다운로드
    터미널에서 다음 명령을 실행하여 로컬로 복제합니다:
git clone https://github.com/ShaojieJiang/mcp-is-dangerous.git

그런 다음 카탈로그로 이동합니다:

cd mcp-is-dangerous
  1. 종속성 설치
    필요 fastmcp 라이브러리를 사용하여 MCP 서비스를 실행합니다. 설치 방법:
pip install fastmcp

보안상의 이유로 가상 환경을 사용할 수 있습니다:

python -m venv venv
source venv/bin/activate  # Windows 用 venv\Scripts\activate

를 실행한 다음 pip install fastmcp.

  1. 스타터 키트
    디렉토리에서 실행합니다:
python main.py

터미널에 "서버 실행 중..."이라는 메시지가 표시되면 도구가 시작됩니다. 터미널에 "서버 실행 중..."이라는 메시지가 표시되면 도구가 시작됩니다.

  1. 테스트 기능
    명령줄로 감지합니다:
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 서비스 액세스를 시뮬레이션하여 사용자가 잠재적인 취약점을 탐지할 수 있도록 도와줍니다. 관계자들은 이 도구는 탐지 도구이므로 코드 검토 및 격리 실행과 같은 보안 관행과 함께 사용해야 한다고 강조합니다.

 

애플리케이션 시나리오

  1. MCP 서비스 보안 탐지
    개발자는 이를 사용하여 MCP 서비스의 유출 위험을 테스트할 수 있습니다.
  2. 도구 보안 검증
    보안팀은 이를 사용하여 액세스 동작을 시뮬레이션하고 보호 조치를 검증합니다.
  3. 교육 데모
    교육 기관에서는 이를 통해 MCP 서비스의 위험성을 설명하고 안전 의식을 고취할 수 있습니다.

 

QA

  1. 이 도구의 기능은 무엇인가요?
    MCP 서비스가 환경 변수에 액세스하기 위해 악용될 수 있는지 여부를 감지하고 사용자가 보안 위험을 식별할 수 있도록 도와줍니다.
  2. 실행해도 안전한가요?
    이 도구 자체는 테스트용으로 사용되며 악의적이지 않습니다. 하지만 실제 환경에서 실행하면 데이터가 노출될 수 있으므로 격리된 환경을 사용하는 것이 좋습니다.
  3. 보안을 강화하려면 어떻게 사용하나요?
    소스 코드를 확인하고, 실행을 격리하고, 민감한 데이터를 정리하고, 도구 동작을 확인합니다.
© 저작권 정책

관련 문서

댓글 없음

댓글에 참여하려면 로그인해야 합니다!
지금 로그인
없음
댓글 없음...