mcpField
S
solidity-auditor

solidity-auditor

github.com/schweppsセキュリティ17192 回インストール41 週間前に更新
リポジトリ

solidity-auditor について

solidity-auditorは、スマートコントラクトのレビュアー向けSolidity監査スキルです。バージョン別のチェック項目を用いて、セキュリティ、ガス、ストレージ、アーキテクチャを確認し、所見を整理します。

主な機能

  1. 01依頼に応じた監査範囲の選択
  2. 02Solidityバージョン別の脆弱性確認
  3. 03ガスとストレージの最適化レビュー
  4. 04アーキテクチャと攻撃対象の評価
  5. 05重要度別の所見整理

活用シーン

  1. 01コントラクトの脆弱性確認
  2. 02ガスやストレージの改善点調査
  3. 03DeFiプロトコルの構成レビュー

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/schwepps/skills --skill solidity-auditor

インストール後、Claude Code で/solidity-auditorを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
architecture-review.md
gas-optimization.md
report-template.md
security-checklist.md
storage-optimization.md
version-specific.md

詳細

Solidity スマートコントラクト監査

セキュリティ脆弱性、ガス最適化、ストレージパターン、コードアーキテクチャを対象とする、プロフェッショナル水準のスマートコントラクト監査スキルです。Solidity のバージョン固有の仕様に合わせて調整されています。

監査の種類

ユーザーのリクエストに基づいて、監査の種類を判断します。

ユーザーのリクエスト監査の種類主なリファレンス
「全面監査」「包括的なレビュー」全面監査すべてのリファレンス
「セキュリティ監査」「脆弱性スキャン」セキュリティ重視references/security-checklist.md
「ガス最適化」「ガスコストの削減」ガス最適化references/gas-optimization.md
「ストレージ最適化」「ストレージパターン」ストレージ最適化references/storage-optimization.md
「コードレビュー」「アーキテクチャレビュー」アーキテクチャレビューreferences/architecture-review.md
「DeFi 監査」「プロトコルレビュー」DeFi プロトコルセキュリティとアーキテクチャのリファレンス

監査の基本ワークフロー

フェーズ 1:準備
  1. Solidity のバージョンを特定する:pragma 文を確認します。バージョン固有の考慮事項については、references/version-specific.md を読みます。

    • 0.8.0 より前:SafeMath の使用状況と算術演算の脆弱性を確認します
    • 0.8.0 以降:unchecked ブロックを確認し、カスタムエラーの使用状況をチェックします
  2. 対象範囲を把握する:

    • すべてのコントラクト、インターフェース、ライブラリを列挙します
    • 外部依存関係(OpenZeppelin など)を特定します
    • 継承階層を確認します
    • エントリーポイント(external/public 関数)を記録します
  3. コンテキストを収集する:提供されていない場合は、以下を確認します。

    • プロトコルの目的と意図された動作
    • デプロイ先のチェーン
    • 想定されるユーザーフロー
    • 管理者の役割と権限
フェーズ 2:静的解析
  1. セキュリティチェックリストのパターンを使って、頭の中で自動チェックを実施します。

    • アクセス制御のパターン
    • 状態を変更する操作のフロー(チェック・効果・相互作用)
    • 外部呼び出しのパターン
    • 算術演算(特に unchecked ブロック内)
  2. 攻撃対象領域をマッピングします。

    • External/public 関数
    • ETH/トークンを扱う関数
    • アクセス制御のある関数
    • アップグレードの仕組み
フェーズ 3:脆弱性評価

references/security-checklist.md を読み、各カテゴリを評価します。

最優先(最初に確認):

  1. アクセス制御の脆弱性(OWASP SC-01) - 損失額は 9億5300万ドル超
  2. ロジックエラー(OWASP SC-02) - 損失額は 6400万ドル超
  3. 再入可能性(OWASP SC-03) - 損失額は 3600万ドル超

高優先度: 4. フラッシュローン攻撃の手段(OWASP SC-04) 5. 入力検証(OWASP SC-05) 6. オラクル操作(OWASP SC-06) 7. 未チェックの外部呼び出し(OWASP SC-07)

中優先度: 8. 整数のオーバーフロー/アンダーフロー(バージョンによる) 9. サービス拒否の攻撃手段 10. フロントランニングの脆弱性

フェーズ 4:最適化の分析(リクエストがあった場合)

ガス最適化の場合:references/gas-optimization.md を読みます
ストレージ最適化の場合:references/storage-optimization.md を読みます

フェーズ 5:レポートの作成

references/report-template.md のテンプレートを使用して、指摘事項をまとめます。

深刻度の分類

深刻度基準対応
Criticalユーザーの操作なしで資金損失が発生する可能性がある直ちに修正が必要です。デプロイしないでください
High特定の条件下で資金損失が発生する可能性があり、影響が大きいデプロイ前に必ず修正してください
Medium影響が限定的で、悪用される可能性が低い、またはガバナンス上の問題がある修正し、リスクを評価してください
Low軽微な問題、ベストプラクティスへの違反修正を推奨します
Informationalコード品質、ガス最適化、提案事項任意の改善です

クイックリファレンス:主な攻撃ベクトル(2024~2025年)

OWASP Smart Contract Top 10(2025年)から、実際の損失額を示します。

  1. アクセス制御($953.2M):修飾子の欠落や誤り、管理者関数の公開
  2. ロジックエラー($63.8M):ビジネスロジックの欠陥、計算の誤り
  3. リエントランシー($35.7M):外部呼び出し後の状態更新
  4. フラッシュローン($33.8M):価格操作、ガバナンス攻撃
  5. 入力検証($14.6M):境界チェックの欠落、パラメーターの未検証
  6. オラクル操作($8.8M):TWAP 操作、古い価格情報

出力ガイドライン

必ず以下を記載してください。

  1. 明確な検出事項のタイトルと深刻度
  2. 場所:コントラクト名、関数、行番号
  3. 説明:問題の内容
  4. 影響:想定される影響
  5. 概念実証:悪用される方法(該当する場合)
  6. 推奨事項:コード例を含む具体的な修正方法

可能な場合は、実行可能なコード変更として推奨事項を記載してください。

参照ファイル

監査の種類に応じて、必要なファイルを読み込んでください。

  • references/security-checklist.md - 検出パターンを含む、脆弱性チェックリストの全項目
  • references/gas-optimization.md - ガス最適化の手法とパターン
  • references/storage-optimization.md - ストレージレイアウトと最適化
  • references/architecture-review.md - コードアーキテクチャのベストプラクティス
  • references/version-specific.md - Solidity のバージョンに関する考慮事項
  • references/report-template.md - プロフェッショナルな監査レポートのテンプレート

コメント