便利なツール

ヴィジュアライゼーション

  • Sūrya - スマートコントラクトシステムのためのユーティリティツール。コントラクトの構造に関する多数の視覚的な出力と情報を提供します。関数呼び出しグラフの照会もサポートします。
  • Solgraph - Solidityコントラクトの関数の制御フローを視覚化し、潜在的なセキュリティ脆弱性を強調表示するDOTグラフを生成します。
  • EVM Lab - EVMと対話するための豊富なツールパッケージ。 VM、Etherchain API、およびトレースビューアを含みます。
  • ethereum-graph-debugger - グラフィカルEVMデバッガ。プログラム制御フローグラフ全体を表示します。

静的・動的解析

  • Mythril Classic - スマートコントラクトセキュリティ用のスイスアーミーナイフ。
  • MythX - EthereumスマートコントラクトSDLC用のセキュリティツール。
  • Slither - 多くの一般的なSolidity問題の検出機能を備えた静的解析フレームワーク。汚染と値のトラッキングが可能。Pythonで書かれています。
  • Echidna - Ethereumソフトウェア用の唯一の利用可能なFuzzer(テストデータの自動生成機能)。プロパティテストを使用して、スマートコントラクトを破る悪意のある入力情報を生成します。
  • Manticore - EVMをサポートする動的バイナリ解析ツール。
  • Oyente - こちらのホワイトペーパーに基づいて、Ethereumコードを分析して一般的な脆弱性を見つけます。
  • Securify - スマートコントラクト用の完全自動化されたオンラインスタティックアナライザー。脆弱性パターンに基づくセキュリティレポートを提供します。
  • SmartCheck - セキュリティの脆弱性とベストプラクティスに関するSolidityのソースコードの静的解析。
  • Octopus - EVMと(e)WASMをサポートするブロックチェーンスマートコントラクト用のセキュリティ解析ツール。

脆弱性の分類とテストケース

  • SWC-registry - SWC(Smart Contract Weakness Classification)の定義と脆弱性を持ったスマートコントラクトの実際のサンプルの大規模なリポジトリ。
  • SWC Pages - Github Pagesに掲載されたSWCレジストリリポジトリ。

テストカバレッジ

リンター

リンターは、コードにスタイルと構成規則を適用することでコードの品質を向上させ、コードを読みやすくレビューしやすくします。

  • Solcheck - JSで書かれ、eslintに強くインスパイアされたSolidityのリンター。
  • Solint - 一貫性のある規則を守り、Solidityスマートコントラクトのエラーを回避するのに役立くSolidityのリンター。
  • Solium - Solidityのリンター。
  • Solhint - セキュリティとスタイルガイドの両方の検証を提供するSolidityのリンター。