Empire Hacking Slack に参加
- 議論とサポート
Slither は、Python3 で書かれた Solidity および Vyper の静的解析フレームワークです。脆弱性検出器一式を実行し、コントラクトの詳細に関する視覚情報を出力し、カスタム解析を簡単に記述するための API を提供します。Slither により、開発者は脆弱性の発見、コード理解の向上、カスタム解析の迅速なプロトタイピングが可能になります。
Slither を Hardhat/Foundry/Dapp/Brownie アプリケーションで実行:```console slither .
これは、プロジェクトに依存関係がある場合の推奨されるオプションです。Slitherは基盤となるコンパイルフレームワークに依存してソースコードをコンパイルします。
ただし、依存関係をインポートしない単一ファイル上でSlitherを実行することもできます:```console
slither tests/uninitialized.sol
注記 SlitherはPython 3.10以上が必要です。 サポートされているコンパイルフレームワークのいずれかを使用しない場合は、Solidityコンパイラであるsolcが必要です。solcのバージョンを簡単に切り替えるには、solc-selectの使用をお勧めします。
uvは高速なPythonパッケージマネージャで、pipよりも10〜100倍高速です。```console
curl -LsSf https://astral.sh/uv/install.sh | sh
uv tool install slither-analyzer
uvx --from slither-analyzer slither
アップグレードするには:```console
uv tool upgrade slither-analyzer
python3 -m pip install slither-analyzer
アップグレードするには:```console
python3 -m pip install --upgrade slither-analyzer
brew install slither-analyzer
### Gitの使用(開発)```bash
git clone https://github.com/crytic/slither.git && cd slither
# Install as editable for development
uv tool install -e .
# Or use uv run for testing without installation
uv run slither <target>
The -eフラグは編集可能モードでインストールします。つまり、ソースコードへの変更は再インストールなしで即座に反映されます。
eth-security-toolbox Dockerイメージを使用してください。これには、すべてのセキュリティツールと、主要なすべてのバージョンのSolidityが1つのイメージに含まれています。 /home/share はコンテナ内の /share にマウントされます。```bash
docker pull trailofbits/eth-security-toolbox
コンテナ内でディレクトリを共有するには:```bash
docker run -it -v /home/share:/share trailofbits/eth-security-toolbox
$GIT_TAG を実際のタグに置き換えて) 使用してください ```YAML
slither [target] --checklist を使用します。slither [target] --checklist --markdown-root https://github.com/ORG/REPO/blob/COMMIT/ を使用します(ORG、REPO、COMMIT を置き換えてください)。