Open1
Slither Action導入時に出たエラーの対処備忘録
Slither Actionとは
Solidity&Vyperの静的解析ツールをGitHub Actionで使えるようにしたもの
今回導入しようとしたリポジトリの構成
- rootに
contracts
とfrontend
ディレクトリがあるmonorepo -
contracts
配下は、hardhatとfoundryの両方が使えるようになっており、パッケージはnode_modulesを参照する
Slitherの設定
- こちらの記事の設定を丸パクリ、感謝…
https://qiita.com/0xnatto/items/69615d32b8d19295ccb3#第2回戦slither - PRのコメントにSlitherの解析結果が表示される
出てきたエラーたち
foundryのファイル見つからないんだけど!
- monorepo構成なので、
target
を設定してあげる
name: Slither Analysis
on: [push]
jobs:
analyze:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: crytic/slither-action@v0.3.1
with:
target: './contracts'
Argument list too long
-
Slitherでの解析は完了していたものの、PRへのコメントがされていない状況
-
解析結果を見ると、node_modules配下のコントラクトも解析されてしまい、数百件に上る指摘が来ていた。。
-
rootに
slither.config.json
を作成し、filter_paths
で解析不要なディレクトリを指定してあげればOK
{
"filter_paths": "contracts/mocks,lib,node_modules"
}
※最初slither.config.json
をrootではなくcontracts
配下に作ってしまい、動かない…となっていたのは内緒