Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
slither-mcp — 用于 Solidity 智能合约 Slither 静态分析的 MCP 服务器 | Kitploit
工具/GitHubGitHub/trailofbits/slither-mcp
静态分析漏洞分析代码分析API安全测试DevSecOpsAI 安全
GitHubtrailofbits/slither-mcp

slither-mcp

用于 Solidity 智能合约 Slither 静态分析的 MCP 服务器

查看仓库
9610137个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Slither MCP Server

Tests Python 3.11+ License: AGPL v3

一个基于模型上下文协议(MCP)的服务器,利用 Slither 为 Solidity 智能合约提供静态分析能力。

概述

此 MCP 服务器封装了 Slither 静态分析功能,使其可通过模型上下文协议进行访问。它能够分析 Solidity 项目(Foundry、Hardhat 等),并生成关于合约、函数、继承层次结构等的全面元数据。

您也可以将 Slither MCP 作为易于使用的 Slither API 用于其他场景。

特性

  • 缓存:Slither 运行结果会缓存到 {$PROJECT_PATH}/artifacts/project_facts.json,以便后续更快加载
  • MCP 工具:通过 MCP 工具查询合约和函数信息
  • 安全分析:运行 Slither 检测器并支持过滤访问结果
  • 全面分析:提取以下详细信息:
    • 合约元数据(abstract、interface、library 标志)
    • 函数签名和修饰符
    • 继承层次结构
    • 函数调用关系(内部调用、外部调用、库调用)
    • 安全漏洞和代码质量问题
    • 源代码位置

虽然这是 v1.0 版本,但我们预计随着收到更多反馈,API 可能会发生变化。

安装

本项目使用 UV 进行包管理:

# 安装依赖
uv sync

# 或以开发模式安装
uv pip install -e .

使用方法

基本用法

启动 Slither MCP 服务器:

uv run slither-mcp

所有工具都接受一个 path 参数,用于指定要分析的 Solidity 项目。项目会自动缓存到 <path>/artifacts/project_facts.json,以便后续查询更快。

在 Claude Code 中使用

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 中:

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

指标与隐私

Slither MCP 包含可选择退出的指标,用于帮助我们了解 LLM 使用各工具的频率及其成功调用率,从而改进可靠性。指标默认启用,但可以永久禁用。

我们收集的内容

  • 工具调用事件(使用了哪些工具)
  • 成功/失败状态

我们不收集:工具调用参数、合约详情、函数名称或任何项目特定信息。

禁用指标

要永久选择退出:

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 - 获取函数调用关系

返回函数的内部、外部和库被调用者,包括低级调用检测。

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 包包含一个类型化的 Python 客户端(SlitherMCPClient),用于以编程方式与 Slither MCP 服务器交互。这对于构建需要查询 Solidity 项目的工具、脚本或智能体非常有用。

客户端提供:

  • 所有 MCP 工具的类型安全方法
  • Pydantic 模型的自动序列化/反序列化
  • 常用模式的辅助方法
  • 用于 pydantic-ai 智能体集成的工具包装器

有关详细的使用示例和文档,请参阅 CLIENT_USAGE.md。

要求

  • Python 3.11+
  • Solidity 编译器环境(Foundry、Hardhat 或类似工具)
  • Slither 及其依赖项

开发

预提交钩子

安装预提交钩子以在提交前运行 linting:

pre-commit install

运行测试

uv run pytest
下载工具