ML異常検知スコアリング — AIによるトランザクショングラフ分析
ChainAnalyzerにML異常検知スコアリングが追加されました。 機械学習モデルがトランザクショングラフを分析し、 ルールベース検知では見逃しがちな異常なウォレット行動パターンを自動検出します。
なぜML検知が必要か
従来のルールベース検知(9 チェーン 76+ 項目)は、既知のパターン(OFAC 制裁、ミキサー接触、Peel Chain 等)を 正確に検出できます。しかし、未知の攻撃手法や複雑なパターンの組み合わせは ルールだけでは捉えきれません。
ML異常検知は、トランザクショングラフの構造的特徴を学習し、 「正常なウォレットとは異なる行動パターン」を統計的に検出します。 ルールベースが個別パターンを検出する「顕微鏡」だとすれば、 MLは全体像から異常を検出する「レーダー」です。
2モデルアンサンブル
2つの異なるアプローチの異常検知モデルを組み合わせて、検知精度を高めています:
- 異常検知モデル — 正常データから「孤立しやすい」データポイントを検出する決定木ベースのモデル。 外れ値検知に特に強く、少数のドレイナー/洗浄ウォレットを効率的に発見します。
- 再構成モデル — ニューラルネットワークが正常データの圧縮と復元を学習し、 うまく復元できない(=正常パターンから外れた)データを異常として検出します。 複雑な多次元の関係性を捉えることができます。
グラフ特徴量
トランザクショングラフから、各ウォレットの複数の構造的特徴を抽出します:
- 接続構造 — 入次数、出次数、次数中心性
- 資金フロー — 総受信額、総送信額、純フロー
- 取引相手 — ユニーク送信者数、ユニーク受信者数
- 取引パターン — 平均受信額、平均送信額、最大単一送金額、入出比率
これらの特徴量は log1p 変換(対数圧縮)と StandardScaler で正規化され、
べき乗分布を持つブロックチェーンデータに対して最適化されています。
ルールベースとの連携
ML異常検知は既存のルールベース検知を置き換えるのではなく、補完します:
- ルールベーススコアが既にHIGH/CRITICALの場合 → ML検知は追加しない(冗長回避)
- ルールベーススコアがLOW/MEDIUMなのにMLスコアが高い場合 → 追加のDetectionを注入
- MLスコア > 0.90 → ML_HIGH_ANOMALY(MEDIUM検知として追加)
- MLスコア > 0.75 → ML_ANOMALY_DETECTED(MEDIUM検知として追加)
Graceful Degradation
MLスコアリングはオプショナルです。以下の場合はルールベースのみで動作します:
- 対象アドレスのグラフデータがない場合
- グラフデータベースが接続できない場合
- MLモデルの読み込みに失敗した場合
スキャン結果の ml_anomaly_score が null の場合、
MLスコアリングが実行されなかったことを意味します。
スキャン結果での表示
MLスコアリングが実行された場合、スキャン結果に以下が追加されます:
- ML Anomaly Score — 0.0〜1.0のアンサンブルスコア(高いほど異常)
- AI Analysis — LLM(GPT-5.2/o3)による分析でもMLスコアが考慮されます
トレーニングデータ
モデルはトランザクショングラフに蓄積された13,883ノードのデータで学習されました。 ScamDBに登録されたドレイナー、Avalancheの不正ネットワーク、Follow Modeで発見された 不審アドレスなどの実データに基づいています。