Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
aether — AIスマートコントラクトのセキュリティ分析とPoC生成フレームワーク | Kitploit
ツール/GitHubGitHub/l33tdawg/aether
静的分析エクスプロイトフレームワーク脆弱性分析ファジング暗号化ペネトレーションテストバイナリ解析機械学習学習と教育AIセキュリティ
GitHubl33tdawg/aether

aether

AIスマートコントラクトのセキュリティ分析とPoC生成フレームワーク

65113ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
リポジトリを見る

Aether v6.0 — スマートコントラクトセキュリティ解析フレームワーク

バージョン 6.0 | v6.0の新機能 | 変更履歴

Aetherは、Solidityスマートコントラクトの解析、脆弱性の発見、Foundryベースの概念実証(PoC)テストの生成、メインネットフォーク上でのエクスプロイト検証を行うPythonベースのフレームワークです。Solidity AST解析、汚染解析、制御フローグラフ解析、クロスコントラクト解析、Halmosシンボリック実行、180以上のパターンベースの静的検出器、共有 SAGE 組織記憶を備えた協調型マルチエージェントLLMパイプライン(GPT/Gemini/Claude)、14のプロトコルアーキタイプ、75以上のエクスプロイト知識ベース、MLキャリブレーション済み検出、トークン特性検出、不変条件の抽出、関連コントラクトのコンテキスト解決、高度なコンテキスト認識フィルタリングを、単一の永続的なフルスクリーンTUIに統合します。

v6.0の新機能

協調エージェントパイプライン — ディープ分析パイプラインは、5つの独立パスから、SAGE組織記憶を通じて構造化知識を共有する5つの協調エージェントへと変わります:

  • 共有セッションメモリ — 各パスは、発見事項、却下、検証済み保護策を監査単位のSAGEセッションに保存します。後続のパスは、フラットなテキスト要約ではなく「先行パスインテリジェンス」を受け取ります。
  • 第一級レコードとしての却下 — Pass 3が懸念事項を却下すると(例:"nonReentrant修飾子による再入保護")、Pass 5はそれを再フラグしません。これにより、重複発見の第1位の原因を直接排除します。
  • 異議申立メカニズム — 後続のパスは先行の却下を覆すことができますが、新しい証拠を提示する必要があります。「Pass 3はこの他の関数を通るコールバックパスを見ていなかった」は有効ですが、「私は同意しない」は無効です。
  • クロスパス確認 — 複数のパスが独立して発見を確認すると、信頼度が15%向上します。クロス確認された発見はレポートで優先されます。
  • SAGE必須 — 組織記憶は現在必須であり、任意ではありません。SAGEなし=監査なし。開始するには docker compose up -d を実行します。

v5.0の新機能

SAGE組織記憶 — Aetherはすべての監査から学習し、誤検知を減らし、時間の経過とともに発見品質を向上させます:

  • 事前学習済み知識ベース — 170の組織記憶を同梱:75のエクスプロイトパターン、63のプロトコルアーキタイプチェックリスト、12のトークン特性カテゴリ、20の厳選された歴史上のエクスプロイト(DAO、Wormhole、Euler、Ronin、Curve など)
  • パイプライン統合 — SAGEはディープ分析のPass 3とPass 5で過去の発見とエクスプロイトパターンを想起します。パイプライン後には監査の学びを保存し、将来の想起に備えます。
  • フィードバックループ — 確認された発見は高信頼度の事実として保存されます。拒否された発見(誤検知)も保存され、将来の監査で回避されます。AccuracyTrackerの結果は自動的にSAGEに入力されます。
  • 検証パイプライン — 新しいステージ -1:SAGE既知FPチェックは、他の検証が実行される前に、以前に拒否されたパターンに一致する発見をフィルタリングします。
  • ディテクタ精度同期 — SageFeedbackManager.sync_detector_accuracy() は高/低パフォーマンスのディテクタを特定し、やるべきこと・やるべきでないことの振り返りを保存します。
  • 起動時の自動シード — SAGE Dockerを起動した状態での初回起動時に、事前学習済み知識ベースが自動シードされます。バージョン認識型:既にシード済みの場合はスキップされます。
  • TUI統合 — SAGE ON/OFFステータスとメモリ数がCostBarに表示されます。
  • Dockerデプロイ — docker compose up -d でSAGEを起動します。設定は ~/.aether/config.yaml の sage_enabled/sage_url で行います。
  • グレースフルデグラデーション — SAGEが利用できない場合でも、監査機能が壊れることは決してありません。

コントリビューター: ハードコードされたパス変数を修正した @sashavdv(PR #1)と、不足していた validate_anthropic_key() メソッドを特定した @pro258b(PR #2)に感謝します。

SAGEクイックスタート

SAGEはBFTコンセンサスによって支えられた永続的な組織記憶システムです。完全なドキュメントについては SAGEプロジェクト を参照してください。```bash

Install SAGE Python SDK

pip install sage-agent-sdk

Start SAGE (Docker required)

docker compose up -d

Run Aether — SAGE auto-seeds on first launch

python aether.py

Regenerate seed fixtures after updating knowledge bases (dev only)

python -c "from core.sage_seeder import SageSeeder; SageSeeder.generate_seed_fixtures()"

root@kitploit:~
### SAGEが監査を改善する方法```
Audit 1 → Findings + FPs → Record outcomes in SAGE
                                    ↓
Audit 2 → SAGE recalls FP patterns → Fewer false positives
                                    ↓
Audit 3 → Richer institutional context → Better severity calibration
                                    ↓
Audit N → Institutional expert-level knowledge → Bug-bounty-quality findings

v4.7 の新機能

PoC 自動実行 — 生成された Foundry PoC が自動的にコンパイル・実行されるようになりました:

  • forge test --json 統合により、コンパイル直後に PoC を実行
  • PoCTestResult データクラスによる JSON 結果解析で、合格・不合格・エラーを構造化して報告
  • フォークモードをサポートし、ライブ状態に対するエクスプロイトのメインネット検証が可能
  • JobManager に新しい POC_TESTING フェーズを追加し、TUI での進行状況をライブ追跡

Halmos シンボリック実行 — シンボリック実行による形式検証:

  • HalmosRunner: 生成されたプロパティに対して Halmos シンボリックテストを実行
  • HalmosPropertyGenerator: 抽出されたインバリアントから検証プロパティを自動生成
  • HalmosSymbolicNode パイプライン・ノードを検証ステージ 1.95 に統合
  • 設定オプション: enable_symbolic_verification, halmos_timeout
  • Halmos がインストールされていない場合はグレースフルに縮退 — エラーを出さずにシンボリック検証をスキップ

制御フローグラフ解析 — コンパイラレベルの制御フロー理解:

  • solidity_ast.py の BasicBlock, CFGEdge, ControlFlowGraph データクラス
  • build_cfg(), get_dominators(), get_loop_headers(), format_cfg_for_llm() による構造解析
  • parse_assembly_block() によるアセンブリブロック解析でインラインアセンブリをサポート
  • パス依存解析のため、タイント解析器でブランチを考慮したタイント伝播を実装
  • タイントデータとともに CFG コンテキストをディープ解析 Pass 2 に注入

ML フィードバックループ — 過去の結果に基づくキャリブレーション:

  • AccuracyTracker.record_finding_outcome() で、提出結果とバウンティ収益を追跡
  • get_detector_accuracy() と get_detector_weights() で検出器ごとの性能統計を取得
  • DetectorStats データクラスで、真陽性・偽陽性と過去の精度を追跡
  • EnhancedVulnerabilityDetector で、検出器の実績に基づいて信頼度ウェイトを調整
  • 過去データからの重大度キャリブレーションをディープ解析 Pass 5 に注入

関連コントラクトコンテキスト — LLM 解析が依存関係の全ソースコードを参照できるようになりました:

  • RelatedContractResolver が、親・インターフェース・ライブラリ・依存コントラクトを自動発見
  • プロジェクトモードはコントラクト間の関係解析を、単一ファイルモードは import 文の解析を使用
  • パスごとの予算システム: Gemini Flash パスは 200K 文字、Claude は 100K、GPT は 50K
  • 標準ライブラリ(@openzeppelin, solmate, solady)は予算節約のためインターフェースのみに要約
  • 単一ファイル監査では、コンテキスト用に同じディレクトリ内の .sol ファイルを自動発見

技術的負債の解消 — 8,500 行のデッドコードを削除:

  • 削除: ai_ensemble.py, audit_engine.py, fork_verifier.py
  • CLI、監査ランナー、TUI 画面、レポート生成器から ai_ensemble への参照をすべて削除
  • データベースマネージャから slither_project_cache を削除
  • 拡張監査エンジンから形式検証のスタブを削除

v4.0 の新機能

Solidity AST 解析 — Aether v4.0 は py-solc-x によるコンパイラを利用したコード解析を追加し、正規表現のみの静的解析を超えます:

  • 完全な solc --ast-json 統合により、継承の解決、関数の可視性、スロット番号付きのストレージレイアウト、関数ごとの状態変数の読み書き追跡を実現
  • コンパイル失敗時(インポート欠落、コンパイラバージョン不一致)は正規表現へグレースフルにフォールバック
  • AST 構造サマリーを自動的にディープ解析 LLM パイプラインに供給し、プロトコル理解を向上

タイント解析エンジン — ユーザー制御の入力をコントラクト全体で追跡し、危険なデータフローを特定します:

  • 8 種類のタイントソース: 関数パラメータ、msg.sender、msg.value、calldata、外部コールの戻り値、block.timestamp、block.number、tx.origin
  • 12 種類の危険なシンク: delegatecall、selfdestruct、外部コール、ETH 転送、ストレージ書き込み、配列インデックス、ゼロ除算など
  • サニタイザー検出: require による範囲チェック、アクセス制御修飾子、条件付き revert、Math.min/max によるクランプ、SafeCast を認識
  • 複数ファイルにわたるクロスコントラクトタイント追跡
  • タイントを考慮した所見の裏付け・反証のため、検証パイプライン(ステージ 1.85)に統合

クロスコントラクト解析(Pass 3.5) — 複数コントラクトにまたがる脆弱性を対象とする新しいディープ解析パス:

  • コントラクト間関係解析: 継承、インターフェースコール、delegatecall、staticcall、型付き状態変数の関係を検出
  • 信頼境界の検出を伴う関連コントラクトの Union-Find グループ化
  • 専用 LLM パス: 信頼境界の違反、クロスコントラクト状態の整合性、クロスコントラクト再入可能性、インターフェース準拠、アップグレード連携、権限昇格を解析
  • クロスコントラクトコンテキストは Pass 4 にも供給され、関数横断的な認識を実現

トークン特性データベース — 実際のエクスプロイトを引き起こす 12 カテゴリの非標準 ERC-20 挙動:

静的検出パイプラインとアーキタイプチェックリストに統合されました。

拡張精度エンジン — 高度な丸め・精度脆弱性の検出:

  • シェアインフレ / 先頭入金者攻撃の検出(ERC-4626 ボールト、レンディングプール、ステーキング)
  • 丸め方向の解析 — 入金は切り捨て、出金は切り上げが正
  • 除算切り詰めの追跡 — 後で乗算に使われる切り詰められたレート変数を検出
  • ダスト悪用の検出 — ゼロへの丸めにより無料操作が可能になる
  • 累積オーバーフロー — 報酬累積器のオーバーフローリスク評価

実行可能な PoC 生成 — 生成された Foundry テストが実際にコンパイル・実行できるようになりました:

  • モックコントラクトライブラリ: MockERC20, MockOracle, MockWETH, MockFlashLoanProvider
  • インテリジェントな setUp() 生成: コンストラクタパラメータの抽出、モックのデプロイ、アップグレード可能コントラクトの処理、トークンのミント、承認の設定
  • コンパイル試行回数を 3 回から 5 回に増加
  • LLM プロンプトにモック API ドキュメントと推奨 setUp を含める

LLM パイプラインの改善:

  • Few-shot 例(Pass 3、4、5)— エクスプロイト知識ベースから実脆弱性と偽陽性の例を使用
  • 重大度キャリブレーション — 経済的影響に紐づく具体的なしきい値(Critical >$1M、High >$100K、Medium >$10K)
  • 思考連鎖の強制 — JSON 出力前に 5 段階の推論を必須化
  • マルチプロバイダローテーション — 低コストなパスには Gemini Flash、推論には Anthropic Claude、多様性には OpenAI GPT
  • AI アンサンブルを廃止 — 6 エージェントのアンサンブル(6 倍のコスト、劣るコンテキスト)を、構造化パイプライン内のプロバイダローテーションに置き換え

v3.5 の新機能

ディープ解析エンジン — Aether v3.5 は、脆弱性の見つけ方を根本的に変えます。1 回の「バグを見つけて」という LLM 呼び出しから、プロの監査人がコードレビューに取り組む方法(まず理解し、それから体系的に攻撃する)を反映した、構造化された 6 パスのパイプラインへ移行します。

ディープ解析エンジン(6 パス LLM パイプライン)

コントラクト全体を単一のプロンプトで LLM に送る代わりに、Aether は累積コンテキストを持つ 6 つの順次解析パスを実行します:

Pass 1〜2 はコントラクトのコンテンツハッシュでキャッシュされるため、再監査時は理解フェーズをスキップします。後続の各パスは以前のすべてのコンテキストを受け取り、包括的な攻撃モデルを構築します。AETHER_DEEP_ANALYSIS=1 でフィーチャーフラグが制御され(デフォルト ON)、失敗時はワンショットにフォールバックします。

プロトコルアーキタイプシステム

バグの分析前に、Aether はコントラクトが実装するプロトコルがどの種類かを検出し、アーキタイプ固有の脆弱性チェックリストを読み込みます:

合計 10 のアーキタイプがあり、それぞれに実際のエクスプロイトから得られた 3〜7 個の固有チェックリスト項目があります。

エクスプロイト知識ベース(50+ パターン)

従来の静的な 10 パターンのリストに代わり、50 以上の分類された実際のエクスプロイトパターンを格納する構造化データベース:

各パターンには、コード指標、欠落している保護、ステップバイステップのエクスプロイトメカニズム、実際の前例(金額付き)が含まれます。パターンは検出されたアーキタイプとエージェントのフォーカスエリアによってフィルタリングされます。

インバリアントエンジン

プロトコルのインバリアントを 3 つのソースから自動抽出します:

  1. コントラクトのコメント内の NatSpec の @invariant タグ
  2. ディープ解析の Pass 1 で LLM が発見したインバリアント
  3. パターン検出された一般的なインバリアント(残高保存、AMM の定積、担保率など)

Foundry の invariant_*() テストスイートを生成し、形式検証の軽量版の証明として機能します — インバリアントテストの失敗は、バグが実在することを証明します。

パイプラインの修正

  • コンテキストを考慮した重大度キャリブレーション — division_by_zero、integer_underflow などを一律に低に格下げしない。判定の前に、所見が unchecked{} ブロック内にあるか、値転送の近くにあるか、価格計算内にあるか、オラクルコンテキスト内にあるかを確認する
  • 検証ゲートの修正 — "pending" の所見は LLM 解析に通過するようになりました(以前は "validated" のみが通過し、多くの実際の所見が黙って失われていました)
  • スペシャリストを考慮した信頼度ペナルティ — 自身のドメインのスペシャリストによる単一エージェントの所見(例: 複雑なロジックバグを発見した AnthropicReasoningSpecialist)は、-0.15 ではなく -0.05 のペナルティのみ
  • ラインバケット重複排除の修正 — 2 行離れた所見を別々のグループに分割していた恣意的な (line // 10) * 10 バケット化を削除
  • DeFi 検出器の統合 — DeFiVulnerabilityDetector(2 段階の存在/非存在解析)が、フローベースのパイプラインだけでなく、メインの拡張監査エンジンでも実行されるようになりました

v3.0 の新機能

完全インラインのテキスト TUI — Aether v3.0 は永続的なフルスクリーンアプリケーションで、生のターミナルに落ちることはありません。監査、PoC 生成、レポート生成、GitHub スコープ選択、設定構成など、すべての操作が TUI 内で完結します:

  • app.suspend() 呼び出しゼロ — TUI が消えることはなく、目まぐるしいターミナル切り替えもありません
  • すべてをバックグラウンドジョブ化 — ローカル監査、GitHub 監査、PoC 生成、レポート生成はすべてデーモンスレッドとして実行され、出力をライブストリーミング
  • ライブジョブテーブル — 実行中・完了済みのすべてのジョブを htop 風に表示し、リアルタイムのステータス、フェーズ進捗、所見数、コスト、経過時間を確認可能
  • ジョブごとのドリルダウン — 任意のジョブで Enter を押すと、ライブ更新される出力、フェーズ進捗バー、メタデータを表示
  • 並行操作 — 複数の監査、PoC 生成、レポートを同時に開始でき、すべてを表示・追跡可能
  • コントラクト選択ダイアログ — 従来の curses ベースのセレクタに代わる、フィルタ可能なほぼフルスクリーンのマルチセレクト。スペースで切り替え、a/n ですべて/なし、入力でフィルタ、以前に監査したコントラクトは色分け表示
  • インライン GitHub 監査フロー — TUI を離れることなく、クローン、発見、コントラクト選択、監査の開始が可能。スコープ管理(続行、再監査、新規スコープ)はネイティブの Textual ダイアログで実行
  • インライン設定 — API キー設定とモデル選択を TextInputDialog と SelectDialog で実行。外部のセットアップウィザードは不要
  • セッションコストバー — プロバイダー(OpenAI、Gemini、Anthropic)ごとのリアルタイム LLM コスト追跡
  • キーボード操作 — n 新規監査、r 再開、h 履歴、p PoC、o レポート、f 取得、s 設定、 終了

4 種類のバックグラウンドジョブ: すべての高負荷操作は AuditRunner を介してバックグラウンドのデーモンスレッドとして実行され、出力は ThreadDemuxWriter が取り込み、JobDetailScreen で表示されます:

ジョブタイプ説明
local単一または並列のコントラクト監査
github事前選択されたスコープでの GitHub リポジトリ監査
pocFoundry の概念実証(PoC)生成

3 プロバイダーの LLM サポート: OpenAI (GPT-5/5.3)、Google Gemini (2.5/3.0)、Anthropic Claude (Sonnet 4.5/Opus 4.6) をサポートし、最大限の柔軟性と冗長性を実現。

拡張 PoC 生成: AST ベースのコントラクト解析、反復的なコンパイル修正、本番品質の LLM プロンプトにより、バグバウンティ提出に適したエクスプロイトを生成。

高度な偽陽性フィルタリング: 多段階検証により、偽陽性を 66% から約 20〜25% に削減し、精度を 33% から 75〜80% に向上:

  • スクリプト検出 — デプロイスクリプト(script/、.s.sol、forge-std/Script.sol)を脆弱性解析から自動的に除外
  • ファイルコンテキストマーカー — LLM プロンプトに [PRODUCTION]/[DEPLOYMENT SCRIPT] ラベルを含め、モデルが本番コードに集中できるようにする
  • 動的修飾子検出 — カスタムアクセス制御修飾子(例: onlyDistributor、authorized)をコントラクトソースから抽出し、ハードコードされたパターンと同様に認識
  • 関数スコープの重複排除 — 同じ関数内の重複所見を、脆弱な行番号近接ではなくマージ
  • アトミックコンストラクタ検出 — 同じコンストラクタ内の deploy+initialize をフロントランニング不可能として認識
  • ガバナンス検出(onlyOwner/onlyGovernor で保護されたパラメータ)
  • デプロイ解析(コードパスが本番で実際に使用されるかを検証)
  • 組み込み保護チェック(Solidity 0.8+ の自動保護、SafeMath)
  • ガバナンス対応 LLM 検証(18 パターンのチェックリスト)
  • 提出結果とバウンティ収益による精度追跡
  • 繰り返し解析を 2 倍高速化するスマートキャッシュ

Move 脆弱性データベース統合: 77 件の監査にわたる 128 件の Critical/High 所見からパターンを抽出し、Solidity/EVM 用に適合:

  • ビジネスロジック、状態管理、データ不整合、中央集権化、ループ問題、強化された入力検証

クイックスタート

1. セットアップ```bash

python setup.py # Interactive installer (recommended)

root@kitploit:~
### 2. Aether を起動```bash
python aether.py         # Launches the full-screen Textual TUI

以上です。TUIがキーボードショートカットとモーダルダイアログですべてを案内します。


必要条件

  • Python 3.11+ (3.12.8でテスト済み)
  • Node.js 22+ (Hardhat/npmベースのプロジェクト用)
  • Foundry (forge/anvil) がPoCの生成と検証のためにPATH上にあること
  • solc-select (複数のSolidityコンパイラバージョン用)
  • py-solc-x (任意) SolidityのAST解析用 — 利用できない場合は正規表現解析にフォールバック
  • LLM機能用のAPIキー:
    • OPENAI_API_KEY (GPTモデル用)
    • GEMINI_API_KEY (Geminiモデル用)
    • ANTHROPIC_API_KEY (Claudeモデル用)
    • ETHERSCAN_API_KEY (任意、検証済みコントラクトの取得用)

手動セットアップ

手動インストールを希望する場合:```bash

Foundry

curl -L https://foundry.paradigm.xyz | bash && foundryup export PATH="$PATH:$HOME/.foundry/bin"

solc-select

pip install solc-select solc-select install 0.4.26 0.8.0 0.8.19 0.8.20 latest

Python dependencies

python -m venv venv && source venv/bin/activate pip install -r requirements.txt

root@kitploit:~
## 設定

セットアップウィザード(`python setup.py`)がすべてを処理します。また、TUI内で `s`(設定)を押して設定することもできます:

- **APIキーの設定** — OpenAI、Gemini、Anthropic、Etherscan キーの入力を順に求め、現在の値はマスクして表示します
- **モデルの設定** — 利用可能なオプションからプロバイダーごとにモデルを選択します
- **フルウィザード** — APIキー設定の後にモデル選択を実行します
- **トリアージ設定** — 重大度のしきい値、信頼度レベル、最大検出件数を調整します

または、環境変数を直接設定します:```bash
export OPENAI_API_KEY=sk-...
export GEMINI_API_KEY=...
export ANTHROPIC_API_KEY=...

設定は ~/.aether/config.yaml に保存されます。

データベースの場所:

  • エンジン結果: ~/.aether/aetheraudit.db
  • GitHub 監査ワークフロー: ~/.aether/aether_github_audit.db

TUI ガイド

操作はすべてメイン画面からのキーボードショートカットで行います:

n — 新規監査

3 種類のソースタイプを持つマルチステップウィザード:

ローカルファイルまたはディレクトリ:

  1. PathDialog でパスを選択
  2. ディレクトリの場合は CheckboxDialog でコントラクトを選択
  3. 機能を選択(Enhanced、LLM Validation、Foundry PoC、Enhanced Reports)
  4. 出力ディレクトリを設定
  5. 確認してバックグラウンドジョブとして起動

GitHub URL:

  1. リポジトリ URL を入力
  2. Aether がリポジトリをクローンし、コントラクトを検出します(進行状況はインライン表示)
  3. 以前のスコープが存在する場合は、「続行」「再監査」「新規スコープ作成」から選択
  4. ContractSelectorDialog でコントラクトを選択(フィルタ可能、スペースでトグル、a/n で全選択/全解除)
  5. 監査はバックグラウンドジョブとして起動され、ジョブテーブルに表示されます

ブロックエクスプローラ URL / アドレス:

  1. アドレスまたはエクスプローラ URL を入力
  2. Aether が検証済みソースコードを取得
  3. 機能と出力の選択に進む

r — 監査の再開

進行中のすべての GitHub 監査を、プロジェクト名、スコープ、進捗(N/M コントラクト)、最終更新時刻とともにテーブル表示します。1 つ選択すると、保留中のコントラクトを確認してバックグラウンドジョブとして起動します。

h — 監査履歴

両データベース(ローカル + GitHub)の過去の全監査を統合表示します。エントリを選択するとサブメニューが表示されます:

  • 詳細表示 — 進捗とステータスを含むスコープの内訳
  • PoC 生成 — プロジェクトが事前選択された PoC ウィザードに移動
  • 再監査 — ContractSelectorDialog でコントラクトを選択し、バックグラウンドジョブとして起動

p — PoC 生成

プロジェクトを選択し、最大項目数、最小深刻度、コンセンサスのみのフィルタリングを設定します。PoC 生成はバックグラウンドジョブとして実行され、ジョブテーブルで進行状況を確認できます。

o — レポート

プロジェクト、スコープ、形式(markdown/json/html/すべて)を選択します。レポート生成はバックグラウンドジョブとして実行されます。

f — コントラクト取得

10 以上のサポートチェーンからネットワークを選択し、アドレスを入力するかエクスプローラ URL を貼り付けて、検証済みソースコードを取得し、必要に応じてすぐに監査できます。

s — 設定

  • フルセットアップウィザードを実行 — API キー、その後のモデル選択、すべてインライン
  • 現在の設定を表示 — 全設定の整形表示
  • API キーの再設定 — 現在の値をマスク表示する TextInputDialog プロンプト
  • モデル選択の再設定 — プロバイダごとの SelectDialog
  • トリアージ設定 — 深刻度、信頼度しきい値、最大検出数
  • データの消去 — ローカル監査 DB、GitHub 監査 DB、分析キャッシュ、またはすべてを一度に消去(確認付き)

Enter — ジョブ詳細

ジョブテーブルの任意の行で Enter を押すと以下が表示されます:

  • ライブスクロールするログ出力(毎秒更新)
  • フェーズ進行バー
  • ジョブメタデータ(タイプ、ターゲット、ステータス、コスト、経過時間)

q — 終了

TUI を終了します。ジョブが実行中の場合は確認を求めます。


対象範囲と機能

  • Solidity AST 解析 — py-solc-x によるコンパイラベースのコード解析で、継承解決、関数の可視性、ストレージレイアウト、状態変数の読み書き追跡を適切に実行。失敗時は正規表現に優雅にフォールバック
  • 制御フローグラフ解析 — build_cfg() が支配木とループヘッダ検出を備えた基本ブロックを構築。アセンブリブロックの解析。CFG コンテキストを深層分析と汚染伝播に供給
  • 汚染解析エンジン — ユーザー制御の入力(8 種類のソース)をコントラクト内で追跡し、12 種類の危険なシンクへの到達を検出。サニタイザ検出、クロスコントラクト追跡、ブランチ対応 CFG 伝播に対応
  • クロスコントラクト解析 — 信頼境界検出、union-find グルーピング、マルチコントラクト脆弱性専用の LLM パス(Pass 3.5)、依存関係コンテキスト用の RelatedContractResolver を備えたコントラクト間関係アナライザ
  • 深層分析エンジン — 6 パス LLM パイプラインに加えて Pass 3.5(クロスコントラクト): 理解 → 攻撃対象領域の把握 → 不変条件の確認 → クロスコントラクト分析 → クロス関数分析 → 敵対的モデリング → エッジケース。パスごとのモデル層選択、キャッシュ、few-shot 例、チェーン・オブ・ソートの強制、Pass 2 での CFG コンテキスト、Pass 5 での ML 深刻度キャリブレーション、パスごとの関連コントラクトコンテキスト
  • Halmos シンボリック実行 — 不変条件の形式的検証のための HalmosRunner + HalmosPropertyGenerator。検証ステージ 1.95 に統合。Halmos 未インストール時は優雅に縮退
  • ML フィードバックループ — AccuracyTracker が提出結果を記録し、検出器ごとの信頼度ウェイトを生成。履歴データからの深刻度キャリブレーションを深層分析に注入
  • 関連コントラクトコンテキスト — RelatedContractResolver が親、インターフェース、ライブラリ、依存コントラクトを検出。標準ライブラリの要約を備えたパスごとの予算システム
  • プロトコルアーキタイプ検出 — 14 種類のプロトコルタイプ(vault、レンディング、DEX、ブリッジ、ステーキング、ガバナンス、オラクル、リキッドステーキング、パーペチュアル DEX、CDP ステーブルコイン、イールドアグリゲーターなど)を自動識別し、アーキタイプ固有の脆弱性チェックリストを提供
  • エクスプロイト知識ベース — 14 カテゴリに分類された 75 以上の実世界のエクスプロイトパターン。コード指標、欠落している保護、前例を含む。アーキタイプと重点領域でフィルタ可能
  • トークン特性データベース — 非標準 ERC-20 動作の 12 カテゴリ(fee-on-transfer、リベース、ERC-777、フラッシュミント可能、ブロックリスト、ポーズ可能、少数桁など)を検出パイプラインに統合
  • 不変条件エンジン — NatSpec、LLM 分析、コードパターンからプロトコルの不変条件を抽出。Foundry 不変条件テストを生成

出力ディレクトリ

  • ./output/ — 一般的な出力ルート
  • ./output/reports/ — 生成されたレポート
  • ./output/pocs/ — 生成された Foundry PoC スイート
  • ./output/exploit_tests/ — エクスプロイトテストの結果

アーキテクチャ

エントリポイント

  • aether.py — 唯一のエントリポイント。Textual TUI を起動
  • cli/interactive_menu.py — JobManager + AetherApp を作成する薄いシム
  • cli/tui/app.py — AetherApp(App) — キーバインドと 1 秒リフレッシュタイマーを備えたメインの Textual アプリ

TUI レイヤー(cli/tui/)

  • スクリーン: MainScreen(ジョブテーブル + コストバー)、JobDetailScreen(ライブログ + フェーズ + メタデータ)、NewAuditScreen、HistoryScreen、ResumeScreen、PoCScreen、ReportsScreen、FetchScreen、SettingsScreen
  • ウィジェット: JobsTable(JobManager をポーリングする DataTable)、CostBar(プロバイダごとのセッションコスト)、LogViewer(増分リフレッシュ対応の RichLog)、PhaseBar(Unicode ブロック進行)
  • ダイアログ: ConfirmDialog、、、、、 — すべて ModalScreen のサブクラス

バックグラウンド実行

  • cli/audit_runner.py — AuditRunner クラス。監査、PoC、レポート、GitHub 監査をデーモンスレッドで実行
  • core/job_manager.py — JobManager シングルトン: セッションジョブレジストリ(QUEUED/RUNNING/COMPLETED/FAILED/CANCELLED)
  • core/audit_progress.py — ジョブごとのログバッファを備えた ContractAuditStatus。stdout/stderr キャプチャ用の ThreadDemuxWriter
  • core/llm_usage_tracker.py — ジョブごとのコスト差分を取得する snapshot() を備えたスレッドセーフなシングルトン

コアオーケストレーション

  • cli/main.py — AetherCLI クラス(約 2600 行)— AuditRunner が使用する内部監査オーケストレータ
  • core/enhanced_audit_engine.py — 深層分析統合を備えたメインの監査エンジン
  • core/post_audit_summary.py — プロバイダ別コスト内訳を表示する監査後パネル

深層分析レイヤー(v4.7)

  • core/deep_analysis_engine.py — 6 パス LLM パイプラインに加えて Pass 3.5(クロスコントラクト): 理解 → 攻撃対象領域 → 不変条件 → クロスコントラクト → クロス関数 → 敵対的 → エッジケース。モデル層選択、キャッシュ、few-shot 例、チェーン・オブ・ソートの強制、Pass 2 での CFG コンテキスト、Pass 5 での ML 深刻度キャリブレーション、パスごとの関連コントラクトコンテキスト
  • core/protocol_archetypes.py — プロトコルアーキタイプ検出(LIQUID_STAKING、PERPETUAL_DEX、CDP_STABLECOIN、YIELD_AGGREGATOR を含む 14 タイプ)。アーキタイプごとの脆弱性チェックリスト付き
  • core/exploit_knowledge_base.py — 14 カテゴリに分類された 75 以上の実世界のエクスプロイトパターン(CROSS_CONTRACT、SIGNATURE_AUTH、TOKEN_INTEGRATION、PROXY_UPGRADE、TYPE_SAFETY を含む)
  • core/invariant_engine.py — 不変条件の抽出(NatSpec + LLM + パターン)と Foundry 不変条件テスト生成 + Halmos プロパティ生成
  • core/solidity_ast.py — py-solc-x による Solidity AST 解析。継承、可視性、ストレージレイアウト、状態読み書き追跡には正規表現フォールバック。制御フローグラフ構築(build_cfg()、get_dominators()、get_loop_headers())
  • core/taint_analyzer.py — 8 種類のソース、12 種類のシンク、サニタイザ検出、クロスコントラクト追跡、ブランチ対応 CFG 伝播を備えたデータフロー / 汚染解析
  • core/cross_contract_analyzer.py — 信頼境界検出、union-find グルーピング、依存関係コンテキスト用の RelatedContractResolver を備えたコントラクト間関係分析

検出レイヤー

  • core/enhanced_vulnerability_detector.py — 60 以上のパターンを備えた主要検出器
  • core/business_logic_detector.py、core/state_management_detector.py、core/data_inconsistency_detector.py、core/centralization_detector.py、core/looping_detector.py — Move に着想を得た検出器
  • core/defi_vulnerability_detector.py、core/mev_detector.py、core/oracle_manipulation_detector.py — DeFi 固有の検出器(DeFi 検出器は v3.5 で拡張エンジンに統合)
  • core/arithmetic_analyzer.py、core/precision_analyzer.py、core/gas_analyzer.py、core/input_validation_detector.py、 — 特化型アナライザ(精度アナライザはシェアインフレーション、丸め方向、除算切り捨て、ダスト悪用、アキュムレータオーバーフロー検出で拡張)

検証レイヤー

  • core/validation_pipeline.py — マルチステージパイプライン: 組み込み保護チェック、ガバナンス検出、汚染認識の検証(ステージ 1.85)、Halmos シンボリック検証(ステージ 1.95)、デプロイメント検証、ローカル検証
  • core/governance_detector.py、core/deployment_analyzer.py、core/llm_false_positive_filter.py
  • core/control_flow_guard_detector.py、core/inheritance_verifier.py
  • core/nodes/halmos_node.py — シンボリック実行検証用の HalmosSymbolicNode パイプラインノード

LLM & AI レイヤー

  • core/enhanced_llm_analyzer.py — JSON 出力とマルチプロバイダローテーションを備えた構造化 LLM 分析(GPT/Gemini/Claude)
  • core/enhanced_prompts.py — 知識ベースからの動的エクスプロイトパターン読み込み、few-shot 例、深刻度キャリブレーション、チェーン・オブ・ソートの強制を備えた本番用プロンプトテンプレート

PoC 生成レイヤー

  • core/foundry_poc_generator.py(約 8000 行)— AST ベースの分析、反復的なコンパイルフィードバック(最大 5 回試行)、PoCTestResult の解析と fork モード対応を備えた forge test --json による自動実行
  • core/llm_foundry_generator.py — モック API ドキュメントと推奨 setUp パターンを備えた LLM ベースのテスト生成
  • core/enhanced_foundry_integration.py — Foundry の検証とフォーマット
  • core/poc_templates.py — モックコントラクトテンプレート(MockERC20、MockOracle、MockWETH、MockFlashLoanProvider)
  • core/poc_setup_generator.py — インテリジェントな setUp() 生成: コンストラクタパラメータ抽出、モックデプロイ、アップグレード可能コントラクトの処理、トークンのミントと承認

永続化レイヤー

  • core/database_manager.py — DatabaseManager(ローカル監査)+ AetherDatabase(GitHub 監査)
  • core/analysis_cache.py — 繰り返しの分析を 2 倍高速化するスマートキャッシュ
  • core/accuracy_tracker.py — ML フィードバックループ: 提出結果、バウンティ収入、検出器ごとの精度統計、信頼度ウェイト生成

統合

  • core/github_auditor.py — リポジトリのクローン、フレームワーク検出、コントラクト発見、分析の調整
  • core/etherscan_fetcher.py、core/basescan_fetcher.py — ブロックエクスプローラから検証済みコントラクトを取得
  • core/exploit_tester.py — Anvil フォークに対するエクスプロイトの検証

フローベース実行

監査フローは YAML 設定(configs/)で定義されます。拡張監査パイプライン: FileReaderNode -> StaticAnalysisNode -> LLMAnalysisNode -> EnhancedExploitabilityNode -> [FixGeneratorNode -> ValidationNode -> HalmosSymbolicNode] -> ReportNode


テスト

76 のテストファイルにわたる 2059 件のテスト。約 23 秒で実行:```bash python -m pytest tests/ # All tests (~23s, 2059 tests) python -m pytest tests/test_enhanced_detectors.py -v # Single file python -m pytest tests/test_enhanced_detectors.py::TestArithmeticAnalyzer -v # Single class python -m pytest tests/ -k "governance" -v # Pattern match python -m pytest tests/ --cov=core --cov-report=html # With coverage

root@kitploit:~
## トラブルシューティング

- **Foundryが見つからない** — `forge`/`anvil` がインストールされ、`PATH` に含まれていることを確認してください(`foundryup` と `export PATH="$PATH:$HOME/.foundry/bin"`)
- **solcが見つからない** — `solc-select` と必要なバージョンをインストールしてください:`solc-select install 0.8.20 latest`
- **LLM機能が動作しない** — APIキーが設定されているか確認してください。一部のモデルはアカウント/リージョンで利用できない場合があります。システムは自動的にフォールバックします
- **データベースが見つからない** — GitHubレポートの場合は、監査ワークフローが最初に実行されていることを確認してください
- **Textualが読み込まれない** — 不足している場合は `pip install textual>=1.0.0` を実行してください

---

## 変更履歴

### v4.7 — PoC自動実行、Halmosシンボリック検証、CFG分析&MLフィードバックループ

- **PoC自動実行** — 生成されたFoundry PoCは `forge test --json` により自動的にコンパイル・実行され、`PoCTestResult` の解析とフォークモード対応を備えます。ライブTUI追跡のための `POC_TESTING` フェーズ
- **Halmosシンボリック実行** — 不変条件の形式的検証のための `HalmosRunner`、`HalmosPropertyGenerator`、`HalmosSymbolicNode` パイプラインノード(検証ステージ1.95)。Halmosがインストールされていない場合はグレースフルデグラデーションします
- **制御フローグラフ解析** — `build_cfg()` を備えた `BasicBlock`、`CFGEdge`、`ControlFlowGraph`、ドミネータツリー、ループヘッダー検出、アセンブリブロック解析。CFGコンテキストをディープ解析パス2に注入。ブランチを考慮したテイント伝播
- **MLフィードバックループ** — `AccuracyTracker` は `get_detector_accuracy()` と `get_detector_weights()` で検出器ごとの統計を記録。`EnhancedVulnerabilityDetector` での信頼度ウェイト調整。ディープ解析パス5での深刻度キャリブレーション
- **関連コントラクトコンテキスト** — `RelatedContractResolver` はパスごとの予算システム(200K/100K/50K文字)で親、インターフェース、ライブラリ、依存コントラクトを発見。標準ライブラリの要約、単一ファイル内の兄弟コントラクト発見
- **技術的負債の解消** — デッドコード8,500行を削除:`ai_ensemble.py`、`audit_engine.py`、`fork_verifier.py` を削除し、CLI、監査ランナー、TUI画面、レポートジェネレーターからすべてのai_ensemble参照を除去
- 76のテストファイルで2059件のテストが成功

### v4.0 — Solidity AST解析、テイント分析&データフロー追跡

- **Solidity ASTパーサー** — py-solc-xによる完全なsolc統合で、適切な継承解決、関数の可視性、ストレージレイアウト、状態の読み書き追跡を実現。グレースフルなregexフォールバック
- **テイント分析エンジン** — ユーザー制御の入力を8種類のソースから12種類の危険なシンクまで追跡し、サニタイザー検出とクロスコントラクト追跡を実装
- **パイプライン統合** — ASTデータをパス1に、テイントデータをパス2に供給。テイント対応の検証ステージ1.85
- 67のテストファイルで1839件のテストが成功(約23秒)

### v3.8 — 検出機能の強化&PoC生成

- **クロスコントラクト解析** — コントラクト間リレーションシップアナライザー、信頼境界検出、union-findグルーピングを備えた新しいパス3.5
- **トークンの非標準挙動データベース** — 非標準ERC-20の挙動12カテゴリ(手数料付き転送、リベース、ERC-777など)
- **精度エンジンの強化** — シェアインフレーション検出、丸め方向の分析、除算切り捨ての追跡、ダスト悪用、アキュムレーターオーバーフロー
- **実行可能なPoC生成** — モックコントラクトライブラリ(ERC20、Oracle、WETH、FlashLoan)、インテリジェントなsetUp()、最大コンパイル試行回数3→5
- **Few-shot例** — 実際の脆弱性と偽陽性の例をディープ解析パス3、4、5に追加
- **深刻度キャリブレーション** — 具体的なしきい値(Critical >$1M、High >$100K、Medium >$10K、Lowは理論上)
- **Chain-of-thoughtの強制** — JSON出力前に5段階の推論を必須化
- **AIアンサンブルを廃止** — ディープ解析パス全体でのマルチプロバイダーローテーションに置き換え
- **マルチプロバイダーローテーション** — Gemini Flash(低コストパス)、Anthropic Claude(推論)、OpenAI GPT(多様性)
- 1682件のテストが成功

### v3.7 — アーキタイプとエクスプロイトパターンの拡充

- **新しいプロトコルアーキタイプ4種** — LIQUID_STAKING、PERPETUAL_DEX、CDP_STABLECOIN、YIELD_AGGREGATOR(合計10→14)
- **新しいエクスプロイトパターン25種** — CROSS_CONTRACT、SIGNATURE_AUTH、TOKEN_INTEGRATION、PROXY_UPGRADE、TYPE_SAFETYカテゴリ(合計50→75)
- **コントラクトスキャナーの改善** — 抽象コントラクトもスコアリング対象となり、モノレポ対応のためしきい値を調整
- 1528件のテストが成功

### v3.5.2 — 偽陽性の削減

- **コントラクト検出におけるスクリプト検出** — `script/`/`scripts/` 配下のファイル、`.s.sol` ファイル、`forge-std/Script.sol` をインポートするか `is Script` を継承するコントラクトはデプロイスクリプトとしてタグ付けされ、LLM脆弱性分析から除外されます。Foundryのデプロイヘルパーが本番コードとして分析されることによる偽陽性のクラス全体を排除します
- **LLMプロンプトのファイルコンテキストマーカー** — 結合コンテンツにファイルごとの `// FILE: <name>` マーカーが含まれるようになり、ディープ解析パス1と3は各ファイルを `[PRODUCTION]` または `[DEPLOYMENT SCRIPT]` とラベル付けする `## Project Files` ヘッダーを受け取るため、LLMは適切なコードに焦点を当てられます
- **動的モディファイア検出** — `GovernanceDetector` は、`only` プレフィックスまたは `msg.sender` チェックを持つモディファイア定義をスキャンして、コントラクト内で定義されたカスタムアクセス制御モディファイア(例:`onlyDistributor`、`onlyMinter`、`authorized`)を抽出するようになりました。これらは `has_access_control()` と `is_governance_function()` のハードコード済みモディファイアリストにマージされます
- **関数スコープの重複排除** — `VulnerabilityDeduplicator` はコントラクトコードが利用可能な場合、発見結果を `(function_name, vuln_type)` でグループ化し、同一関数内の隣接行の重複を見逃していた、行番号の完全一致に依存する脆弱なマッチングを置き換えます。関数コンテキストが利用できない場合は20行バケットのグループ化にフォールバックします
- **AIアンサンブルの行許容範囲を拡大** — `_findings_match_fuzzy()` の許容範囲を±5行から±15行に拡大し、エージェント間の同一関数内の重複を検出
- **アトミックコンストラクターの偽陽性パターン** — `_check_constructor_context()` は、コントラクトが同じコンストラクター内でデプロイ(`new`/`Create2`)され、初期化(`.initialize()`)されるケースを検出し、操作がアトミックであるためフロントランニングの懸念を偽陽性としてマークするようになりました
- **LLM検証パターン#18** — LLM検証プロンプトの18パターン偽陽性チェックリストに「アトミックなデプロイ+初期化」を追加
- 56のテストファイルで1489件のテストが成功(約40秒)、1461件から増加

### v3.5 — ディープ解析エンジン

- **6パスディープ解析パイプライン** — ワンショットLLM呼び出しを構造化マルチパス推論に置き換え:プロトコル理解 → 攻撃面マッピング → 不変条件違反分析 → 関数間相互作用 → 敵対的モデリング → 境界&エッジケース。各パスは前のパスからの蓄積コンテキストを受け取ります。パス1〜2はコンテンツハッシュでキャッシュされ、再監査を高速化
- **プロトコルアーキタイプ検出** — プロトコルタイプを自動識別(ERC-4626 Vault、Lending Pool、DEX/AMM、Bridge、Staking、Governance、Oracle、NFT Marketplace、Token、Orderbook)。実際のエクスプロイトから導出されたアーキタイプ別脆弱性チェックリスト付き
- **エクスプロイト知識ベース** — 9カテゴリ(Inflation/Share、Reentrancy、Oracle、Governance、Bridge、Precision/Rounding、Access Control、Economic/DeFi、Logic)にわたる50以上の分類済みエクスプロイトパターン。静的な10パターンリストを置き換えます。各パターンにはコード指標、欠落した保護策、段階的なエクスプロイトメカニズム、金額付きの実世界の前例、アーキタイプ適用性が含まれます
- **不変条件エンジン** — NatSpecの `@invariant` タグ、LLM分析、6つの一般的なパターン検出器(ボールトの資産保全、残高追跡、供給会計、AMM定積、貸付の担保化、ステーキング報酬)からプロトコル不変条件を抽出します。形式検証ライトの証明としてFoundry `invariant_*()` テストスイートを生成します
- **コンテキスト対応の深刻度キャリブレーション** — 一律の深刻度引き下げをリスクコンテキストチェックに置き換えます。`unchecked{}` ブロック内、値転送(`call{value:}`、`_mint`、`safeTransfer`)付近、価格計算、またはオラクルコンテキスト内の発見結果は元の深刻度を維持します
- **検証ゲートの修正** — `"pending"` の発見結果は `needs_llm_validation` フラグ付きでLLM分析に渡されるようになりました。明示的な `"false_positive"` の発見結果のみが破棄されます(以前は `"validated"` 以外のすべての発見結果が黙ってフィルタリングされていました)
- **スペシャリスト対応の信頼度ペナルティ** — エージェントの専門分野に一致するシングルエージェント発見(例:AnthropicReasoningSpecialist+経済的攻撃)には -0.05 のペナルティ。非スペシャリスト発見は -0.15 を維持
- **ラインバケット重複排除の修正** — 恣意的な境界問題(9行目と11行目が異なるバケットに分かれる)を引き起こしていた `(line // 10) * 10` バケット化を削除。重複排除は正規化された脆弱性タイプのみを使用し、行の近接性は `_findings_match_fuzzy()` が処理します
- **DeFi検出器の統合** — `DeFiVulnerabilityDetector`(2段階の存在/不在セマンティック分析)が `EnhancedVulnerabilityDetector` とともに拡張監査エンジンで実行されるようになりました
- **プロンプト内の動的エクスプロイトパターン** — `enhanced_prompts.py` はフォーカスエリアでフィルタリングされたExploitKnowledgeBaseからパターンを読み込むようになり、静的なパターンにフォールバックします
- 55のテストファイルで1461件のテストが成功(約50秒)

### v3.2 — ジョブ統計&UI修正

- **ジョブのfindings/コスト/LLM統計が常にゼロ表示になる問題を修正** — 監査ワーカーは `run_audit()` からresults dictを取得してfindings数を抽出するように。シングルトン参照を孤立させていた `LLMUsageTracker.reset()` を削除。4種類すべてのワーカーがスナップショット差分からジョブごとの統計を計算
- **ウィンドウ切替時のUI再描画アーティファクトを修正** — JobDetailScreenのスクロール可能コンテナをプレーンな `Container` + `overflow: hidden` に置き換え、古いコンポジターフレームを防止
- **「Job Details」をborder_titleに移動** — メタデータパネルの描画をよりクリーンに
- `CLAUDE.md` をgit追跡から削除

### v3.0 — 完全インラインTextual TUI

- **`app.suspend()` 呼び出しゼロ** — TUIがrawターミナルに落ちることはなく、すべての操作がインラインで実行されます
- **バックグラウンドPoC生成** — `AuditRunner.start_poc_generation()` によるデーモンスレッドとして実行され、JobDetailScreenにライブ出力
- **バックグラウンドレポート生成** — `AuditRunner.start_report_generation()` によるデーモンスレッドとして実行され、ライブ出力
- **バックグラウンドGitHub監査** — Textualダイアログでスコープを選択し、監査は `AuditRunner.start_github_audit()` によるデーモンスレッドとして実行
- **ContractSelectorDialog** — cursesベースの `ScopeManager.interactive_select()` を置き換える、ほぼ全画面のフィルタリング可能なマルチセレクトモーダル。スペースでトグル、`a`/`n` で全て/なし、タイプでフィルタリング、監査済みコントラクトは色分け表示
- **GitHubAuditHelper** — `GitHubAuditor`/`AetherDatabase` を分解したラッパーで、Textual画面から呼び出し可能なアトミック操作(`clone_and_discover`、`get_scope_state`、`save_new_scope`、`get_pending_contracts`、`handle_reaudit`)を提供
- **インライン設定** — ネイティブなTextInputDialog/SelectDialogによるAPIキーとモデル設定。外部セットアップウィザード不要
- **インラインGitHubスコープ管理** — SelectDialogで続行、再監査、新規スコープ作成。コントラクト選択はContractSelectorDialog経由
- **6画面を書き換え** — PoCScreen、ReportsScreen、SettingsScreen、NewAuditScreen、HistoryScreen、ResumeScreen — すべて完全インライン
- 50のテストファイルで770件のテストが成功

### v2.2 — Textual TUIダッシュボード

- 永続アプリ、キーバインド、1秒更新タイマーを備えたフルスクリーンTextual TUI
- ライブジョブテーブルとセッションコストバーを備えたMainScreen
- ライブログビューアー、フェーズ進行バー、メタデータを備えたJobDetailScreen
- questionaryプロンプトを置き換えるモーダルダイアログ(確認、テキスト入力、選択、チェックボックス、パスピッカー)
- ThreadDemuxWriter出力キャプチャによるAuditRunner経由のバックグラウンド監査実行
- セッションジョブレジストリ用のJobManagerシングルトン
- LLMUsageTrackerスナップショットによるジョブごとのコスト追跡

### v2.1 — 並列監査、Slither削除&テスト整理

- **並列監査エンジン** — `ThreadPoolExecutor` で複数のコントラクトを並行実行。最大8並列ワーカーまで設定可能
- **スレッドセーフな進捗追跡** — ロック付き `ContractAuditStatus`、stdout多重化のための `ThreadDemuxWriter`
- **監査後サマリー** — 並列監査完了後の統合結果ビュー
- **LLM使用量追跡** — 3プロバイダーすべてのトークン使用量、コスト、API呼び出しを追跡
- **Slitherを完全削除** — すべての依存関係、統合コード、テストを削除(約1200行)。パターンベース検出器+Foundry ABI+regexが唯一の分析ツール
- **テストスイート整理** — 40以上の旧式・低速・統合テストファイルを削除

### v2.0 — インタラクティブメニューTUI

- プライマリインターフェースとしてのインタラクティブメニュー駆動TUI
- ソース選択、機能チェックボックス、確認を備えたガイド付き監査ウィザード
- 進行中のGitHub監査を再開する機能
- ローカルとGitHubデータベースにわたる統合監査履歴ブラウザー
- メニューからの統合PoC生成とレポートワークフロー
- 任意の即時監査付きマルチチェーンコントラクト取得
- メニューからの設定管理
- メニューからのコンソール起動/復帰

### v1.5 — 3プロバイダーLLMサポート&分析の強化

- 3番目のLLMプロバイダーとしてAnthropic Claude統合(Sonnet 4.5、Opus 4.6、Haiku 4.5)
- 6エージェントAIアンサンブル:OpenAI 2 + Gemini 2 + Anthropicスペシャリストエージェント2
- 最大可用性のための自動クロスプロバイダーフォールバック
- OpenAIモデル(GPT-5.3)とGoogle Geminiモデル(3.0 Flash/Pro)を更新
- Anthropic APIキー設定とモデル選択でセットアップウィザードを更新
- 壊れていたgenerate-foundry CLIコマンドを修正

---

## ライセンス

Aetherは**MITライセンス**の下で配布されています。詳細は[LICENSE](https://github.com/l33tdawg/aether/blob/HEAD/LICENSE)ファイルを参照してください。

## 著者

**Dhillon Andrew Kannabhiran** (@l33tdawg)
- メール: [email protected]
- Twitter: [@l33tdawg](https://twitter.com/l33tdawg)
- GitHub: [@l33tdawg](https://github.com/l33tdawg)

## コントリビューション

コントリビューションを歓迎します!お気軽にissueを提出し、リポジトリをフォークして、プルリクエストを作成してください。
ツールをダウンロード
カテゴリ重大度トークン例
転送時手数料高USDT, STA, PAXG
リベーストークン高stETH, AMPL, OHM
ERC-777 コールバック高imBTC
フラッシュミント可能高DAI
非標準の戻り値中旧 USDT
ブロックリストトークン中USDC, USDT
一時停止可能トークン中USDC
低小数桁トークン中USDC (6), WBTC (8)
転送フック中LINK (ERC-677)
承認レース低各種
複数のエントリポイント低TUSD
アップグレード可能トークン低USDC v2
Pass目的モデル層
Pass 1プロトコル理解 — プロトコルが何であるか、そのインバリアント、価値の流れ、信頼の前提低コスト(キャッシュ済み)
Pass 2攻撃面のマッピング — すべてのエントリポイント、状態の読み書き、再入可能性ウィンドウ低コスト(キャッシュ済み)
Pass 3インバリアント違反解析 — すべてのコードパスに対してすべてのインバリアントを体系的にチェック強力
Pass 4関数間相互作用 — 状態依存性解析、時間的依存性、フラッシュローンシーケンス強力
Pass 5敵対的モデリング — フラッシュローン、MEV、複数アカウントを用いた明示的な攻撃者の視点強力
Pass 6境界・エッジケース — 最初/最後の操作、ゼロ値、最大値、自己参照操作中程度
アーキタイプチェックリスト項目の例
ERC-4626 ボールト先頭入金者インフレ、丸め方向、寄付による価格操作
レンディングプールオラクル価格操作、清算閾値の操作、不良債権の連鎖、金利操作
DEX/AMM先頭 LP 操作、サンドイッチ攻撃、準備金による価格オラクル
ブリッジクロスチェーンリプレイ、バリデータの侵害、トークンマッピングの不一致、引き出し証明の偽造
ステーキング報酬計算の操作、報酬レートのオーバーフロー、アンステーキング時の再入可能性
ガバナンスフラッシュローンによるガバナンス攻撃、タイムロックバイパス、クォーラム操作
オラクル古い価格データ、価格乖離、L2 シーケンサーのダウンタイム
カテゴリパターン数例
インフレ/シェア攻撃6ERC-4626 先頭入金者、LP トークンインフレ、寄付ベースの操作
再入可能性7古典的、読み取り専用、関数間、コントラクト間、ERC-777/1155 フック、フラッシュローンコールバック
オラクル5スポット価格操作、TWAP 操作、古さ、小数桁の不一致、L2 シーケンサー
ガバナンス4フラッシュローン投票(Beanstalk)、タイムロックバイパス、クォーラム操作
ブリッジ5メッセージリプレイ(Nomad)、バリデータ侵害(Ronin)、トークンマッピング(Wormhole)
精度/丸め4丸め方向、未チェックのオーバーフロー、転送時手数料、リベーストークンのドリフト
アクセス制御5未初期化プロキシ、ストレージ衝突、セレクタ衝突、delegatecall 注入
経済/DeFi8サンドイッチ攻撃、JIT 流動性、不良債権の連鎖、returndata 爆弾、シグネチャリプレイ
ロジック6オフバイワン、期限・スリッページ欠落、未チェック戻り値、自己転送の会計処理
q
report監査レポート生成(markdown/json/html)
  • 静的解析 — 180 以上のパターンベース検出器(再入攻撃、アクセス制御、算術、オラクル操作、フラッシュローン、MEV、ガバナンス、DeFi 固有、トークン特性、精度/丸めなど)
  • 拡張精度エンジン — シェアインフレーション検出、丸め方向分析、除算切り捨て追跡、ダスト悪用、アキュムレータオーバーフロー評価
  • LLM 分析 — OpenAI、Gemini、Claude による構造化・検証指向の分析。自動フォールバック付きマルチプロバイダローテーション。経済的影響のしきい値に連動した深刻度キャリブレーション
  • コンテキスト認識フィルタリング — 深刻度を引き下げる前にリスクコンテキスト(unchecked ブロック、value 操作、オラクル使用)を確認する深刻度キャリブレーション。汚染認識の検証ステージ。保留中の検出結果は LLM 検証用に保持
  • 並行監査 — ジョブテーブルでライブ進行状況を表示しながらの複数コントラクトの並行分析
  • GitHub 監査ワークフロー — リポジトリのクローン、フレームワーク検出、コントラクト発見、インラインスコープ選択、状態の永続化
  • Foundry PoC 生成 — AST ベースの分析、反復的なコンパイルフィードバック(最大 5 回試行)、モックコントラクトライブラリ(ERC20、Oracle、WETH、FlashLoan)、インテリジェントな setUp() 生成、本番レベルのエクスプロイトプロンプト、fork モード対応の forge test --json による自動実行
  • マルチチェーンコントラクト取得 — 10 以上の EVM ネットワーク + Solana 対応
  • レポート — 監査データからの Markdown、JSON、HTML レポート生成
  • LLM 使用量トラッキング — 全プロバイダにわたるトークン使用量、コスト追跡、監査後サマリー
  • 永続化 — エンジン結果用と GitHub 監査ワークフロー用の 2 つの SQLite データベース
  • TextInputDialog
    SelectDialog
    CheckboxDialog
    PathDialog
    ContractSelectorDialog
  • ヘルパー: GitHubAuditHelper — TUI 統合のために分解された GitHub 監査操作
  • テーマ: theme.tcss — シアン基調の Textual CSS
  • core/token_quirks.py — トークン特性データベース(非標準 ERC-20 動作の 12 カテゴリ)
  • core/halmos_runner.py — 形式的検証のための Halmos シンボリック実行ランナー
  • core/halmos_property_generator.py — 不変条件から Halmos 検証プロパティを自動生成
  • core/accuracy_tracker.py — ML フィードバックループ: 検出器ごとの精度追跡、信頼度ウェイト調整、深刻度キャリブレーション
  • core/data_decoding_analyzer.py
  • トークン特性検出は core/token_quirks.py を介して静的検出パイプラインに統合