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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
slither-mcp — Solidity 스마트 계약의 Slither 정적 분석을 위한 MCP 서버 | Kitploit
도구/GitHubGitHub/trailofbits/slither-mcp
Static AnalysisVulnerability AnalysisCode AnalysisAPI Security TestingDevSecOpsAI Security
GitHubtrailofbits/slither-mcp

slither-mcp

Solidity 스마트 계약의 Slither 정적 분석을 위한 MCP 서버

저장소 보기
96106개월 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Slither MCP Server

Tests Python 3.11+ License: AGPL v3

Slither를 사용하여 Solidity 스마트 계약에 대한 정적 분석 기능을 제공하는 Model Context Protocol(MCP) 서버입니다.

개요

이 MCP 서버는 Slither 정적 분석 기능을 래핑하여 Model Context Protocol을 통해 접근할 수 있게 합니다. Foundry, Hardhat 등과 같은 Solidity 프로젝트를 분석하고 계약, 함수, 상속 계층 등에 대한 포괄적인 메타데이터를 생성할 수 있습니다.

또한 Slither MCP를 다른 사용 사례를 위한 사용하기 쉬운 Slither API로 사용할 수 있습니다.

기능

  • 캐싱: Slither 실행 결과는 이후 로드를 더 빠르게 하기 위해 {$PROJECT_PATH}/artifacts/project_facts.json에 캐시됩니다.
  • MCP 도구: MCP 도구를 통해 계약 및 함수 정보를 조회합니다.
  • 보안 분석: Slither 감지기를 실행하고 필터링하여 결과에 접근합니다.
  • 종합 분석: 다음에 대한 상세 정보를 추출합니다:
    • 계약 메타데이터(abstract, interface, library 플래그)
    • 함수 시그니처 및 수정자
    • 상속 계층 구조
    • 함수 호출 관계(내부, 외부, 라이브러리 호출)
    • 보안 취약점 및 코드 품질 문제
    • 소스 코드 위치

이것은 v1.0 릴리스이지만, 피드백을 받는 대로 API가 변경될 것으로 예상합니다.

설치

이 프로젝트는 패키지 관리를 위해 UV를 사용합니다:

root@kitploit:~
# Install dependencies
uv sync

# Or install in development mode
uv pip install -e .

사용법

기본 사용법

Slither MCP 서버를 시작합니다:

root@kitploit:~
uv run slither-mcp

모든 도구는 분석할 Solidity 프로젝트를 지정하는 path 매개변수를 허용합니다. 프로젝트는 이후 쿼리를 더 빠르게 실행하기 위해 <path>/artifacts/project_facts.json에 자동으로 캐시됩니다.

Claude Code에서 사용

root@kitploit:~
claude mcp add --transport stdio --scope user slither -- uvx --from git+https://github.com/trailofbits/slither-mcp slither-mcp

Cursor에서 사용

sudo ln -s ~/.local/bin/uvx /usr/local/bin/uvx를 사용하여 uvx가 Cursor 경로에 있는지 확인하세요.

~/.cursor/mcp.json에 다음을 입력하세요:

root@kitploit:~
{
  "mcpServers": {
    "slither-mcp": {
      "command": "uvx --from git+https://github.com/trailofbits/slither-mcp slither-mcp",
    }
  }
}

메트릭 및 개인정보 보호

Slither MCP는 LLM이 각 도구를 사용하는 빈도와 성공적인 호출 비율을 파악하여 안정성을 개선하는 데 도움이 되는 옵트아웃 메트릭을 포함합니다. 메트릭은 기본적으로 활성화되어 있지만 영구적으로 비활성화할 수 있습니다.

수집하는 정보

  • 도구 호출 이벤트(어떤 도구가 사용되었는지)
  • 성공/실패 상태

수집하지 않는 정보: 도구 호출 매개변수, 계약 세부 정보, 함수 이름 또는 프로젝트별 정보.

메트릭 비활성화

영구적으로 옵트아웃하려면:

root@kitploit:~
uv run slither-mcp --disable-metrics

전체 세부 정보는 METRICS.md를 참조하세요.

MCP 도구

서버는 계약 및 함수 정보를 조회하기 위한 도구를 노출합니다. 모든 도구는 분석할 Solidity 프로젝트 디렉터리를 지정하는 path 매개변수를 허용합니다.

쿼리 도구

1. list_contracts - 필터를 사용하여 계약 나열

필요: path (프로젝트 디렉터리) 유형(concrete, abstract, interface, library) 또는 경로 패턴으로 계약을 필터링합니다.

2. get_contract - 계약에 대한 자세한 정보 가져오기

함수, 상속 및 플래그를 포함한 전체 계약 메타데이터를 검색합니다.

3. get_contract_source - 계약 소스 코드 가져오기

지정된 계약이 포함된 Solidity 파일의 전체 소스 코드를 반환합니다.

4. get_function_source - 함수 소스 코드 가져오기

특정 함수의 소스 코드를 줄 번호와 함께 반환합니다. 집중 분석에 유용합니다.

5. list_functions - 필터를 사용하여 함수 나열

계약, 가시성 또는 수정자로 함수를 필터링합니다.

6. function_callees - 함수 호출 관계 가져오기

함수에 대한 내부, 외부 및 라이브러리 피호출자를 반환하며 저수준 호출 탐지를 포함합니다.

7. function_callers - 대상 함수를 호출하는 함수 가져오기

지정된 대상 함수를 호출하는 모든 함수를 호출 유형(내부, 외부, 라이브러리)별로 그룹화하여 반환합니다. 이는 function_callees의 역방향입니다.

8. get_inherited_contracts - 계약 상속 가져오기

계약이 상속하는 모든 계약(부모 및 조상)의 재귀 트리를 반환합니다.

9. get_derived_contracts - 이 계약에서 파생된 계약 가져오기

계약에서 상속하는 모든 계약(자식 및 후손)의 재귀 트리를 반환합니다.

10. list_function_implementations - 함수 구현 찾기

여러 계약에서 함수 시그니처의 모든 구현을 찾습니다.

11. list_detectors - 사용 가능한 Slither 감지기 나열

이름, 설명, 영향 수준 및 신뢰도 등급을 포함한 Slither 감지기에 대한 메타데이터를 반환합니다. 이름 또는 설명으로 필터링할 수 있습니다.

12. run_detectors - 필터링된 감지기 결과 가져오기

캐시된 감지기 결과를 반환합니다. 감지기 이름, 영향 수준(High, Medium, Low, Informational) 또는 신뢰도 수준(High, Medium, Low)으로 필터링합니다.

모든 도구는 success 부울과 데이터 필드 또는 error_message 중 하나를 포함하는 응답을 반환합니다. 자세한 스키마와 사용법은 slither_mcp/tools/의 개별 도구 구현을 참조하세요.

클라이언트 사용

slither-mcp 패키지는 Slither MCP 서버와 프로그래밍 방식으로 상호 작용하기 위한 타입 기반 Python 클라이언트(SlitherMCPClient)를 포함합니다. 이는 Solidity 프로젝트를 쿼리해야 하는 도구, 스크립트 또는 에이전트를 구축하는 데 유용합니다.

클라이언트는 다음을 제공합니다:

  • 모든 MCP 도구를 위한 타입 안전 메서드
  • Pydantic 모델의 자동 직렬화/역직렬화
  • 일반적인 패턴을 위한 헬퍼 메서드
  • pydantic-ai 에이전트 통합을 위한 도구 래퍼

자세한 사용 예제와 문서는 CLIENT_USAGE.md를 참조하세요.

요구 사항

  • Python 3.11+
  • Solidity 컴파일러 설정(Foundry, Hardhat 또는 유사 도구)
  • Slither 및 해당 종속성

개발

Pre-commit 훅

커밋 전 린팅을 실행하도록 pre-commit 훅을 설치합니다:

root@kitploit:~
pre-commit install

테스트 실행

root@kitploit:~
uv run pytest
도구 다운로드