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

Репозиторий
96106 месяцев назадПроверено 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
Скачать инструмент