Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
slither-mcp — MCP-сервер для статического анализа смарт-контрактов Solidity с помощью Slither | Kitploit
Инструменты/GitHubGitHub/trailofbits/slither-mcp
Статический анализАнализ уязвимостейАнализ КодаТестирование безопасности APIDevSecOpsБезопасность ИИ
GitHubtrailofbits/slither-mcp

slither-mcp

MCP-сервер для статического анализа смарт-контрактов Solidity с помощью Slither

Репозиторий
961046 месяцев назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Slither MCP сервер

Tests Python 3.11+ License: AGPL v3

Сервер Model Context Protocol (MCP), предоставляющий возможности статического анализа смарт-контрактов Solidity с помощью Slither.

Обзор

Этот MCP-сервер оборачивает функциональность статического анализа Slither, делая её доступной через Model Context Protocol. Он может анализировать Solidity-проекты (Foundry, Hardhat и т.д.) и генерировать подробные метаданные о контрактах, функциях, иерархиях наследования и многом другом.

Вы также можете использовать Slither MCP как простой в использовании API Slither для других сценариев.

Возможности

  • Кэширование: Результаты запусков 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
    

    Все инструменты принимают параметр path, который указывает, какой Solidity-проект анализировать. Проекты автоматически кэшируются в <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

    Убедитесь, что uvx находится в пути Cursor, используя sudo ln -s ~/.local/bin/uvx /usr/local/bin/uvx

    В вашем ~/.cursor/mcp.json:

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

    Метрики и конфиденциальность

    Slither MCP включает метрики с возможностью отказа (opt-out), которые помогают повысить надёжность, позволяя нам знать, как часто LLM используют каждый инструмент и какова доля успешных вызовов. Метрики включены по умолчанию, но их можно отключить навсегда.

    Что мы собираем

    • События вызовов инструментов (какие инструменты используются)
    • Статус успеха/неудачи

    Мы не собираем: параметры вызовов инструментов, детали контрактов, имена функций или любую информацию, специфичную для проекта.

    Отключение метрик

    Чтобы отказаться навсегда:

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

    Подробные сведения см. в METRICS.md.

    Инструменты MCP

    Сервер предоставляет инструменты для запроса информации о контрактах и функциях. Все инструменты принимают параметр path, который указывает каталог Solidity-проекта для анализа.

    Инструменты запросов

    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 - Получить связи вызовов функции

    Возвращает внутренние, внешние и библиотечные вызываемые функции (callees) для функции, включая обнаружение низкоуровневых вызовов.

    7. function_callers - Получить функции, которые вызывают целевую функцию

    Возвращает все функции, которые вызывают указанную целевую функцию, сгруппированные по типу вызова (internal, external, library). Это обратная операция к 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 включает типизированный Python-клиент (SlitherMCPClient) для программного взаимодействия с сервером Slither MCP. Это полезно для создания инструментов, скриптов или агентов, которым необходимо запрашивать 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
    
    Скачать инструмент