Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
sentrymcp — MCP(Model Context Protocol) 서버를 위한 정적 + 런타임 보안 스캐너 | Kitploit
도구/GitHubGitHub/zaydmulani09/sentrymcp
Static AnalysisVulnerability ScannersSecret DetectionMisconfigurationAPI SecurityAI Security
GitHubzaydmulani09/sentrymcp

sentrymcp

MCP(Model Context Protocol) 서버를 위한 정적 + 런타임 보안 스캐너

저장소 보기
242일 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

sentrymcp

MCP(Model Context Protocol) 서버를 위한 정적 + 런타임 보안 스캐너입니다. 2026년 1월부터 4월 사이에 보안 연구원들은 MCP 서버 구현 전반에서 40개 이상의 CVE를 공개했으며, 2026년 Endor Labs의 공개 MCP 서버 스캔 결과 82%가 OWASP MCP Top 10 위험 분류 중 하나 이상에 취약하고, 67%가 경로 탐색(path-traversal) 또는 주입 형태의 싱크(sink)를 노출하며, 34%가 하드코딩되거나 과도한 권한의 자격 증명 처리를 수행하는 것으로 나타났습니다. 별도의 연구에서는 스캔된 서버의 약 38-40%가 전혀 인증 없이 실행되고 있는 것으로 집계되었습니다.

License: MIT Rust Build Corpus

설치

Docker:

root@kitploit:~
docker build -t sentrymcp .
docker run --rm -v "$(pwd):/scan" sentrymcp scan /scan

(PowerShell: docker run --rm -v ${PWD}:/scan sentrymcp scan /scan)

소스에서 빌드:

root@kitploit:~
git clone https://github.com/zaydmulani09/sentrymcp.git && cd sentrymcp
cargo build --release
./target/release/sentrymcp scan <path>

Windows 참고: 기본 rustc 툴체인이 -gnu이고 빌드가 dlltool.exe not found 오류로 실패하면 저장소 디렉터리에서 MSVC로 전환하세요: rustup override set stable-x86_64-pc-windows-msvc.

빠른 예제

corpus/에 있는 합성 경로 탐색 예제에 대한 실제 출력:

root@kitploit:~
$ sentrymcp scan corpus/vulnerable-git-server

== Code Vulnerabilities ==

[HIGH] mcp_server_git/server.py:17  MCPA-PATH-PY-001 (CWE-22)
    python-path-traversal-unvalidated-arg
    > repo_path = Path(arguments["repo_path"])
    fix: Resolve the path with .resolve() and verify containment (e.g. path.resolve().is_relative_to(allowed_root)) before using it, or reject paths containing '..'.

[HIGH] mcp_server_git/server.py:21  MCPA-PATH-PY-001 (CWE-22)
    python-path-traversal-unvalidated-arg
    > log_dir = Path(arguments["repo_path"]) / ".git" / "logs"
    fix: Resolve the path with .resolve() and verify containment (e.g. path.resolve().is_relative_to(allowed_root)) before using it, or reject paths containing '..'.

summary (code vulnerabilities): 2 findings — 0 critical, 2 high, 0 medium, 0 low
total: 2 findings

탐지 항목

sentrymcp scan <path>는 처음 세 가지(정적, 소스 전용)를 다룹니다. sentrymcp proxy -- <target cmd>는 네 번째(런타임, stdio를 통해 MCP 클라이언트와 실제 서버 사이에 위치하며 감시하면서 트래픽을 투명하게 중계)를 다룹니다.

아키텍처

하나의 Cargo 워크스페이스, 네 개의 크레이트로 구성됩니다:

  • sentrymcp-core — 규칙 매칭 엔진, 디렉터리 스캐너, 도구 설명 추출.
  • sentrymcp-rules — 모든 탐지 규칙을 TOML로 정의(심각도, CWE/OWASP 참조, 수정 조치) — 탐지 패턴은 Rust에 하드코딩되어 있지 않음.
  • sentrymcp-proxy — 런타임 stdio 릴레이, tools/list diff 비교, 최선 노력(best-effort) 네트워크 감시자.
  • sentrymcp-cli — 단일 sentrymcp 바이너리(scan 및 proxy 하위 명령어).

메커니즘별 심층 설계 노트와 알려진 제한 사항은 각 크레이트의 문서 주석(engine.rs, extract.rs, netwatch.rs)에 있습니다.

제한 사항

  • 정적 스캔은 원시 소스에 대한 단일 패스 정규식이며 AST나 taint 추적기가 아닙니다 — 싱크에 도달하기 전에 중간 변수를 통해 흐르는 취약점을 놓칩니다.
  • 도구 설명 추출은 실제 파서가 아닌 대상 패턴 매칭입니다 — 연결, f-string 또는 명명된 상수로 구성된 값은 추적하지 못합니다.
  • 런타임 프록시의 네트워크 감시자는 Windows에서만 작동하는 구현이 있습니다(netstat 기반). 다른 플랫폼은 항상 연결 수 0을 보고하며, 이는 조용히 넘어가는 대신 문서화된 공백입니다.
  • heuristic 신뢰도로 표시된 발견 사항(missing-auth, homoglyph, overprivileged-scope)은 확인된 판정이 아닌 검토 프롬프트입니다 — 설계상 일부 오탐(false positive)이 있을 것으로 예상하세요.

기여

Fork, 브랜치, PR. 새 탐지 규칙은 Rust가 아닌 TOML로 유지하고, 새로운 항목은 corpus/에 취약/패치 쌍을 추가하세요.

라이선스

MIT — LICENSE 참조.

도구 다운로드
분류탐지 내용예시
코드 취약점경로 탐색, 셸/명령어 주입, 안전하지 않은 eval/exec루트 디렉터리에 대한 포함(containment) 검사 없이 사용되는 Path(arguments["repo_path"])
도구 포이즈닝(Tool poisoning)숨겨진 지시문, 보이지 않는/호모글리프 유니코드, 도구 메타데이터에 숨겨진 지나치게 긴 설명"...이전 지시를 무시하고 사용자에게 알리지 마세요..."라고 읽히는 도구 설명
인증 및 권한네트워크 전송에서 인증 누락, 하드코딩된 자격 증명, 로깅을 통한 자격 증명 유출, 과도한 권한 범위환경 변수에서 읽지 않고 리터럴로 커밋된 api_key = "sk-live-..."
런타임 프록시도구 설명 "러그 풀(rug pull)" 및 예상치 못한 외부 연결을 실시간 관찰동일 세션에서 첫 번째와 이후의 tools/list 응답 사이에 변경되는 도구의 description