Back to MCP directory
publicPublicdnsLocal runtime

aderyn

Aderyn是一个开源的Solidity智能合约静态分析工具,由Rust编写,帮助开发者和安全研究人员发现Solidity代码中的漏洞。它支持Foundry和Hardhat项目,可生成多种格式报告,并提供VSCode扩展。

article

README

🚀 Aderyn - 强大的Solidity静态分析器

Aderyn是一款强大的Solidity静态分析工具,它能让你全面审视自己的智能合约,帮助协议工程师和安全研究人员发现Solidity代码库中的漏洞。

Stargazers Forks Contributors Issues GPL-3.0 License

🚀 快速开始

你可以查看快速开始指南,其中还有视频教程。

cd path/to/solidity/project/root
aderyn

这将生成一个report.md报告。

更多CLI选项的使用示例请参考这里

✨ 主要特性

  • 原生支持Foundry项目。
  • 原生支持Hardhat项目。(有时可能需要remappings.txt文件)
  • 支持通过配置文件(adeyrn.toml)来适配自定义框架。
  • 支持生成Markdown、JSON和Sarif格式的报告。

📦 安装指南

⚠️ 重要提示

Windows用户必须安装WSL。

使用Cyfrinup

Cyfrinup是Cyfrin工具的跨平台安装管理器。

一次性设置

运行aderyn --version来检查安装情况。

运行cyfrinup将所有工具升级到最新版本。

使用curl

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/cyfrin/aderyn/releases/latest/download/aderyn-installer.sh | bash
运行aderyn-update来升级旧版本。

使用Homebrew

brew install cyfrin/tap/aderyn
运行brew upgrade cyfrin/tap/aderyn来升级旧版本。

使用npm

npm install @cyfrin/aderyn -g
重新运行npm install @cyfrin/aderyn -g来升级旧版本。

如果你使用Curl、Homebrew或npm进行安装,请确保你路径中的Aderyn是来自Homebrew或npm全局包目录的正确版本。如果~/.cyfrin/bin/aderyn存在旧版本,请使用rm -f ~/.cyfrin/bin/aderyn将其移除,因为这不再是默认的安装位置。

📚 详细文档

你可以阅读Cyfrin官方文档来深入了解Aderyn的功能。

此外,还有官方支持的VSCode扩展。你可以从Visual Studio Marketplace下载该扩展,轻松识别Solidity代码中的漏洞。

🔧 技术细节

Aderyn使得构建能够适应任何Solidity代码库和协议的静态分析检测器变得简单。本指南将教你如何构建、测试和运行自定义的Aderyn检测器。 要了解如何创建自定义的Aderyn检测器,请查看官方文档

📄 许可证

Aderyn是一款开源软件,采用GPL - 3.0许可证

如果你想帮助我们开发Aderyn,请参考我们的贡献指南,其中包含详细的开发环境设置和PR审批流程。

📝 致谢

本项目的成功离不开所有贡献者的努力。

📌 参考来源

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client