Show HN: MCP 보안 스위트 (MCP Security Suite)
요약
MCP(Model Context Protocol) 서버 설치 전 보안 취약점을 스캔하는 'MCP Security Suite'를 소개합니다. 커맨드 인젝션, SSRF, 파일 유출 등 악성 MCP 서버의 위협을 탐지하고 실시간 모니터링 대시보드를 제공합니다.
핵심 포인트
- MCP 서버의 커맨드 인젝션 및 SSRF 등 보안 취약점 탐지
- ML/LLM 분석을 활용한 교묘한 공격 패턴 식별
- 실시간 위협 분석 및 감사 추적을 위한 React 기반 대시보드 제공
- 오탐율을 약 5%까지 낮춘 문맥 인식 필터링 적용
MCP 서버를 설치하기 전에 해당 서버가 사용자의 컴퓨터를 해킹(pwn)하려고 시도하는지 확인합니다.
MCP 서버는 사용자의 컴퓨터에서 무엇이든 할 수 있습니다. 말 그대로 무엇이든 가능합니다. 저희가 500개 이상의 서버를 스캔한 결과... 네, 상황이 좋지 않습니다:
- 거의 절반에서 커맨드 인젝션 (Command Injection) 버그가 발견되었습니다.
- 3분의 1은 내부 네트워크에 대한 SSRF (Server-Side Request Forgery) 공격을 수행합니다.
- 수많은 서버가 유출해서는 안 될 파일을 유출합니다.
- GitHub의 MCP가 프라이빗 저장소(private repos)를 유출했던 사건을 기억하시나요? 바로 그런 상황입니다.
저희는 악성 MCP 서버로 인해 피해를 입은 후 이 도구를 만들었습니다. 여러분은 고생하며 배우고 싶지 않으실 겁니다.
python3 mighty_mcp.py check https://github.com/some/mcp-server
# 무엇이 수상한지 정확히 알려줍니다:
🚨 CRITICAL: Command injection in tool.py:45
...
저희는 커맨드 인젝션 (Command Injection), 자격 증명 탈취 (Credential Theft), 경로 탐색 (Path Traversal)과 같은 명백한 문제들을 잡아냅니다. 여기에 더해 ML/LLM 분석을 통한 교묘한 공격까지 잡아냅니다. 매일 성능이 개선되고 있습니다.
git clone https://github.com/NineSunsInc/mighty-security.git
cd secure-toolings
uv sync # Python 3.13+ 필요
...
💡
처음이신가요? 상세한 설정 안내는 QUICK_START.md를 확인하세요.
실시간 모니터링 기능이 포함된 아름다운 React 기반 보안 대시보드:
# 🛠️ 개발 모드 (React dev server + API proxy)
cd src/dashboard
npm install
...
🔐 보안 기능 (Security Features):
- 경로 탐색 (Path Traversal) 방지
- 속도 제한 (Rate Limiting) (5분당 로컬 스캔 5회 / GitHub 스캔 3회)
- 입력값 검증 및 정화 (Input Validation & Sanitization)
- 도메인 화이트리스트를 통한 URL 검증
- 안전한 에러 처리 (정보 노출 방지)
- 보안 헤더 (XSS, 클릭재킹 방지)
대시보드 기능 (Dashboard Features):
- 🔍 스캐너 (Scanner) - 실시간 진행 상황을 보여주는 대화형 스캔 모드 선택
- 📊 리포트 (Reports) - 필터링 및 내보내기 기능이 포함된 상세 위협 분석
- 📜 히스토리 (History) - 모든 보안 작업에 대한 완전한 감사 추적 (Audit Trail)
- ⚡ 태스크 (Tasks) - 실행 중인 스캔 및 작업 큐 모니터링
- 📚 정보 (About) - MCP 위협 및 저희의 보호 방법에 대해 알아보기
아름다운 UI:
- 글래스모피즘 (Glass morphism) 효과 및 네온 글로우
- 애니메이션 진행 바 및 플로팅 카드
- 반응형 디자인 (모바일/태블릿/데스크톱)
- 실시간 통계 및 상태 표시기
지어낸 이야기가 아닙니다. 실제 MCP 서버들의 사례입니다:
# "네가 보내는 건 뭐든 그냥 실행할게"
def handle(params):
os.system(params["command"]) # 200개 이상의 서버가 이렇게 동작합니다
...
솔직히 말씀드리면:
- 악성 요소의 약 75-85%를 포착합니다 (LLM (Large Language Model) 활성화 시 더 향상됨)
- 문맥 인식 필터링 (Context-aware filtering)을 통해 오탐 (False positives)을 ~5%까지 낮춥니다
- Python/JS/TS/Go/Rust 모두 지원합니다 (하지만 Python이 가장 잘 작동합니다)
- 난독화된 코드 (Obfuscated code)는 여전히 저희를 곤란하게 만듭니다
- 런타임 모니터링 (Runtime monitoring) 기능이 있지만 기초적인 수준입니다
이 중 어떤 것이든 해결할 방법을 아신다면, 부디 도와주세요.
이 문제는 저희만의 문제가 아닙니다. 아이디어가 있다면:
도와주실 수 있는 가장 쉬운 방법:
-
src/analyzers/comprehensive/patterns.py에 탐지 패턴 추가 -
examples/에 테스트 케이스 작성 -
(안전한 악성 코드) - 저희의 형편없는 JavaScript 탐지 기능 수정
-
안전한 코드를 위험하다고 잘못 표시(Flag)했을 때 저희에게 알려주기
설정 (Setup):
git clone your-fork
cd secure-toolings
uv sync && source .venv/bin/activate
...
진심으로, 아주 작은 수정이라도 도움이 됩니다. 무엇이든 환영합니다.
구조는 매우 단순합니다:
mighty_mcp.py # 여기서 시작하세요
src/analyzers/comprehensive/ # 탐지 로직 (Detection logic)
patterns.py # <-- 여기에 패턴을 추가하세요
나머지는 대부분 기반 작업 (Plumbing)입니다.
"이 저장소는 위험합니다!"
네, 테스트용 악성코드가 포함되어 있습니다. --profile production을 사용하여 이를 건너뛰세요.
"Module not found"
source .venv/bin/activate를 실행하세요.
"오탐 (False positives)이 너무 많아요!"
--profile production을 사용하여 테스트/예제 코드를 제외하세요. 테스트 중이라면 --profile development를 사용하세요.
"정확도가 어느 정도인가요?"
75-85%의 탐지율을 보입니다. LLM을 활성화하면 훨씬 더 좋아집니다. 완벽하지는 않지만 상당히 훌륭한 수준입니다.
**"CI/CD 지원이 되나요?"
악성 요소를 발견하면 종료 코드(Exit code) 1을 반환합니다. GitHub Actions에 적합합니다.
이미 작동 중인 기능들:
- 문맥 인식 스캐닝 (Context-aware scanning) (운영 환경 vs 개발 환경 vs 보안 도구 코드 구분)
- 다국어 지원 (Python/JS/TS/Go/Rust)
- 더 나은 탐지를 위한 ML 앙상블 스코어링 (ML ensemble scoring)
- 런타임 프록시 모니터링 (Runtime proxy monitoring) (기초적이지만 기능함)
- 데이터 흐름 추적을 위한 오염 분석 (Taint analysis)
- Cerebras GPT를 활용한 LLM 심층 분석
이상적인 상태 (Dream state):
- 모든 MCP 서버가 자동으로 스캔됨
- "보안 검증됨 (Security verified)" 배지
- 수상한 항목을 설치하기 전에 경고를 보내는 VSCode 확장 프로그램 (extension)
- 커뮤니티에서 보고된 취약점 (vulnerabilities)
- 실시간 런타임 보호 (Runtime protection) (단순 모니터링이 아님)
목표에 가까워지고 있습니다. 그곳에 도달할 수 있도록 도와주세요.
버그 (Bugs): Issues
보안 관련 문의 (Security stuff): security@ninesuns.com
기타 의견 (Random thoughts): Discussions
MIT 라이선스. 마음대로 사용하세요.
이것은 하나의 도구일 뿐입니다. 맹목적으로 신뢰하지 마세요. 코드를 읽으세요. 샌드박스 (sandboxes)를 사용하세요. 항상 경계하십시오.
AI 자동 생성 콘텐츠
본 콘텐츠는 HN OpenAI Codex의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기