1. スコープ
| コンポーネント | 含まれる | 注記 |
|---|---|---|
| OpenClaw エージェントランタイム | はい | コアエージェントの実行、ツール呼び出し、セッション |
| Gateway | はい | 認証、ルーティング、チャネル統合 |
| チャネル統合 | はい | WhatsApp、Telegram、Discord、Signal、Slack など |
| ClawHub マーケットプレイス | はい | Skill の公開、モデレーション、配布 |
| MCP サーバー | はい | 外部ツールプロバイダー |
| ユーザーデバイス | 一部 | モバイルアプリ、デスクトップクライアント |
SECURITY.md に列挙されています。このファイルが脆弱性報告スコープの現在の信頼できる情報源であり、このページではありません。
2. システムアーキテクチャ
2.1 信頼境界
2.2 データフロー
| フロー | ソース | 宛先 | データ | 保護 |
|---|---|---|---|---|
| F1 | チャネル | Gateway | ユーザーメッセージ | TLS、AllowFrom |
| F2 | Gateway | エージェント | ルーティングされたメッセージ | セッション分離 |
| F3 | エージェント | ツール | ツール呼び出し | ポリシー適用 |
| F4 | エージェント | 外部 | web_fetch リクエスト | SSRF ブロック |
| F5 | ClawHub | エージェント | Skill コード | モデレーション、スキャン |
| F6 | エージェント | チャネル | 応答 | 出力フィルタリング |
3. ATLAS タクティクス別の脅威分析
3.1 偵察 (AML.TA0002)
T-RECON-001: エージェントエンドポイントの発見
| 属性 | 値 |
|---|---|
| ATLAS ID | AML.T0006 - Active Scanning |
| 説明 | 攻撃者が露出した OpenClaw Gateway エンドポイントをスキャンする |
| 攻撃ベクトル | ネットワークスキャン、Shodan クエリ、DNS 列挙 |
| 影響を受けるコンポーネント | Gateway、露出した API エンドポイント |
| 現在の緩和策 | Tailscale 認証オプション、デフォルトで loopback にバインド |
| 残存リスク | 中 - 公開 Gateway は発見可能 |
| 推奨事項 | 安全なデプロイを文書化し、発見エンドポイントにレート制限を追加 |
T-RECON-002: チャネル統合のプロービング
| 属性 | 値 |
|---|---|
| ATLAS ID | AML.T0006 - Active Scanning |
| 説明 | 攻撃者がメッセージングチャネルをプローブして AI 管理アカウントを特定する |
| 攻撃ベクトル | テストメッセージの送信、応答パターンの観察 |
| 影響を受けるコンポーネント | すべてのチャネル統合 |
| 現在の緩和策 | 特になし |
| 残存リスク | 低 - 発見単独から得られる価値は限定的 |
| 推奨事項 | 応答タイミングのランダム化を検討 |
3.2 初期アクセス (AML.TA0004)
T-ACCESS-001: ペアリングコードの傍受
| 属性 | 値 |
|---|---|
| ATLAS ID | AML.T0040 - AIモデル推論APIアクセス |
| 説明 | 攻撃者がペアリング期間中(DM/汎用ペアリングは1時間、ノードペアリングは5分)にペアリングコードを傍受する |
| 攻撃ベクトル | ショルダーサーフィン、ネットワークスニッフィング、ソーシャルエンジニアリング |
| 影響を受けるコンポーネント | デバイスペアリングシステム |
| 現在の緩和策 | 1時間TTL(DM/汎用ペアリング)、5分TTL(ノードペアリング)。コードは既存のチャネル経由で送信される |
| 残存リスク | 中 - ペアリング期間が悪用可能 |
| 推奨事項 | ペアリング期間を短縮し、確認ステップを追加する |
T-ACCESS-002: AllowFrom のスプーフィング
| 属性 | 値 |
|---|---|
| ATLAS ID | AML.T0040 - AIモデル推論APIアクセス |
| 説明 | 攻撃者がチャネル上で許可された送信者 ID をスプーフィングする |
| 攻撃ベクトル | チャネル依存 - 電話番号のスプーフィング、ユーザー名のなりすまし |
| 影響を受けるコンポーネント | チャネルごとの AllowFrom 検証 |
| 現在の緩和策 | チャネル固有の ID 検証 |
| 残存リスク | 中 - 一部のチャネルはスプーフィングに対して脆弱なまま |
| 推奨事項 | チャネル固有のリスクを文書化し、可能な場合は暗号学的検証を追加する |
T-ACCESS-003: トークンの窃取
| 属性 | 値 |
|---|---|
| ATLAS ID | AML.T0040 - AIモデル推論APIアクセス |
| 説明 | 攻撃者が config/credential ファイルから認証トークンを窃取する |
| 攻撃ベクトル | マルウェア、不正なデバイスアクセス、設定バックアップの露出 |
| 影響を受けるコンポーネント | チャネル/プロバイダーの認証情報ストレージ、設定ストレージ |
| 現在の緩和策 | ファイル権限 |
| 残存リスク | 高 - トークンがディスク上に平文で保存されている |
| 推奨事項 | 保存時のトークン暗号化を実装し、トークンローテーションを追加する |
3.3 実行 (AML.TA0005)
T-EXEC-001: 直接プロンプトインジェクション
| 属性 | 値 |
|---|---|
| ATLAS ID | AML.T0051.000 - LLMプロンプトインジェクション: 直接 |
| 説明 | 攻撃者がエージェントの動作を操作するために細工したプロンプトを送信する |
| 攻撃ベクトル | 敵対的な指示を含むチャネルメッセージ |
| 影響を受けるコンポーネント | エージェント LLM、すべての入力サーフェス |
| 現在の緩和策 | パターン検出、外部コンテンツのラッピング。境界バイパスがない限り、脆弱性報告の対象外として扱われる(SECURITY.md を参照) |
| 残存リスク | 重大 - 検出のみでブロックなし。高度な攻撃はバイパスする |
| 推奨事項 | 機密性の高いアクションに対する出力検証とユーザー確認を、既存の検出の上に重ねる |
T-EXEC-002: 間接プロンプトインジェクション
| 属性 | 値 |
|---|---|
| ATLAS ID | AML.T0051.001 - LLMプロンプトインジェクション: 間接 |
| 説明 | 攻撃者が取得されたコンテンツに悪意ある指示を埋め込む |
| 攻撃ベクトル | 悪意ある URL、汚染されたメール、侵害された Webhook |
| 影響を受けるコンポーネント | web_fetch、メール取り込み、外部データソース |
| 現在の緩和策 | ランダム境界の XML 風マーカーによるコンテンツラッピング、ホモグリフ/特殊トークンの正規化、およびセキュリティ通知 |
| 残存リスク | 高 - LLM がラッパーの指示をなお無視する可能性がある |
| 推奨事項 | ラップされたコンテンツ用に実行コンテキストを分離する |
T-EXEC-003: ツール引数インジェクション
| 属性 | 値 |
|---|---|
| ATLAS ID | AML.T0051.000 - LLMプロンプトインジェクション: 直接 |
| 説明 | 攻撃者がプロンプトインジェクションを通じてツール引数を操作する |
| 攻撃ベクトル | ツールパラメーター値に影響を与える細工されたプロンプト |
| 影響を受けるコンポーネント | すべてのツール呼び出し |
| 現在の緩和策 | 危険なコマンドに対する Exec 承認 |
| 残存リスク | 高 - ユーザーの判断に依存する |
| 推奨事項 | 引数検証、パラメーター化されたツール呼び出し |
T-EXEC-004: Exec 承認バイパス
| 属性 | 値 |
|---|---|
| ATLAS ID | AML.T0043 - 敵対的データの作成 |
| 説明 | 攻撃者が承認 allowlist をバイパスするコマンドを細工する |
| 攻撃ベクトル | コマンドの難読化、エイリアスの悪用、パス操作 |
| 影響を受けるコンポーネント | src/infra/exec-approvals*.ts、コマンド allowlist |
| 現在の緩和策 | allowlist + ask モード、およびコマンド正規化(dispatch-wrapper のアンラップ、inline-eval 検出、シェルチェーン解析) |
| 残存リスク | 高 - 正規化により難読化バイパスは狭まるが排除されない。exec パス間のパリティのみの指摘は脆弱性ではなくハードニングとして扱われる(SECURITY.md を参照) |
| 推奨事項 | 新しい難読化手法に対するコマンド正規化カバレッジを継続的に拡大する |
3.4 永続化 (AML.TA0006)
T-PERSIST-001: 悪意あるスキルのインストール
| 属性 | 値 |
|---|---|
| ATLAS ID | AML.T0010.001 - サプライチェーン侵害: AIソフトウェア |
| 説明 | 攻撃者が悪意あるスキルを ClawHub に公開する |
| 攻撃ベクトル | アカウントを作成し、隠された悪意あるコードを含むスキルを公開する |
| 影響を受けるコンポーネント | ClawHub、スキル読み込み、エージェント実行 |
| 現在の緩和策 | GitHub アカウント年齢の検証、静的パターン/AST 隣接スキャン、LLM ベースのエージェント型リスクレビュー、VirusTotal スキャン |
| 残存リスク | 高 - 検出層は存在するが、スキルは依然としてエージェント権限で実行され、実行サンドボックス化がない |
| 推奨事項 | スキル実行のサンドボックス化、コミュニティレビューの拡充 |
T-PERSIST-002: スキル更新のポイズニング
| 属性 | 値 |
|---|---|
| ATLAS ID | AML.T0010.001 - サプライチェーン侵害: AIソフトウェア |
| 説明 | 攻撃者が人気のあるスキルを侵害し、悪意ある更新をプッシュする |
| 攻撃ベクトル | アカウント侵害、スキル所有者へのソーシャルエンジニアリング |
| 影響を受けるコンポーネント | ClawHub のバージョン管理、自動更新フロー |
| 現在の緩和策 | バージョンフィンガープリント、新バージョンでのモデレーション/スキャン再実行 |
| 残存リスク | 高 - レビュー完了前に自動更新が悪意あるバージョンを取り込む可能性がある |
| 推奨事項 | 更新署名、ロールバック機能、バージョン固定 |
T-PERSIST-003: エージェント設定の改ざん
| 属性 | 値 |
|---|---|
| ATLAS ID | AML.T0010.002 - サプライチェーン侵害: データ |
| 説明 | 攻撃者がエージェント設定を変更してアクセスを永続化する |
| 攻撃ベクトル | 設定ファイルの変更、設定の注入 |
| 影響を受けるコンポーネント | エージェント設定、ツールポリシー |
| 現在の緩和策 | ファイル権限 |
| 残存リスク | 中 - ローカルアクセスが必要 |
| 推奨事項 | 設定の整合性検証、設定変更の監査ログ |
3.5 防御回避 (AML.TA0007)
T-EVADE-001: モデレーションパターンのバイパス
| 属性 | 値 |
|---|---|
| ATLAS ID | AML.T0043 - 敵対的データの作成 |
| 説明 | 攻撃者が ClawHub のモデレーションチェックを回避するために skill コンテンツを作成する |
| 攻撃ベクトル | Unicode 同形異字、エンコーディングのトリック、動的読み込み |
| 影響を受けるコンポーネント | ClawHub のモデレーション/スキャンパイプライン |
| 現在の緩和策 | 静的パターンルール、AST 隣接のコードスキャン、LLM のエージェント型リスクレビュー、VirusTotal |
| 残存リスク | 中 - 新しい難読化は、階層化されたヒューリスティックをなおすり抜ける可能性がある |
| 推奨事項 | 新しい回避手法が見つかるたびに、パターン/振る舞いコーパスを拡充し続ける |
T-EVADE-002: コンテンツラッパーからの脱出
| 属性 | 値 |
|---|---|
| ATLAS ID | AML.T0043 - 敵対的データの作成 |
| 説明 | 攻撃者が外部コンテンツラッパーのコンテキストから脱出するコンテンツを作成する |
| 攻撃ベクトル | タグ操作、コンテキストの混同、指示の上書き |
| 影響を受けるコンポーネント | 外部コンテンツのラッピング |
| 現在の緩和策 | ランダム境界の XML 風マーカー + セキュリティ通知、および同形異字/空白バリアントによるマーカー偽装の検出 |
| 残存リスク | 中 - 新しい脱出手法が定期的に発見されている |
| 推奨事項 | 入力側のラッピングに加えて、出力側の検証 |
3.6 Discovery (AML.TA0008)
T-DISC-001: ツール列挙
| 属性 | 値 |
|---|---|
| ATLAS ID | AML.T0040 - AI モデル推論 API アクセス |
| 説明 | 攻撃者がプロンプトを通じて利用可能なツールを列挙する |
| 攻撃ベクトル | 「どのようなツールがありますか?」形式のクエリ |
| 影響を受けるコンポーネント | エージェントツールレジストリ |
| 現在の緩和策 | 特になし |
| 残存リスク | 低 - ツールは一般に文書化されている |
| 推奨事項 | ツール可視性制御の検討 |
T-DISC-002: セッションデータ抽出
| 属性 | 値 |
|---|---|
| ATLAS ID | AML.T0040 - AI モデル推論 API アクセス |
| 説明 | 攻撃者がセッションコンテキストから機微データを抽出する |
| 攻撃ベクトル | 「何を話し合いましたか?」クエリ、コンテキスト探索 |
| 影響を受けるコンポーネント | セッショントランスクリプト、コンテキストウィンドウ |
| 現在の緩和策 | 送信者ごとのセッション分離 (agent:channel:peer キー) |
| 残存リスク | 中 - セッション内データは設計上アクセス可能 |
| 推奨事項 | コンテキスト内の機微データの秘匿化 |
3.7 収集と流出 (AML.TA0009, AML.TA0010)
T-EXFIL-001: web_fetch によるデータ窃取
| 属性 | 値 |
|---|---|
| ATLAS ID | AML.T0009 - 収集 |
| 説明 | 攻撃者がエージェントに外部 URL へデータを送信させることでデータを流出させる |
| 攻撃ベクトル | プロンプトインジェクションにより、エージェントが攻撃者のサーバーへデータを POST する |
| 影響を受けるコンポーネント | web_fetch ツール |
| 現在の緩和策 | 内部/プライベートネットワークに対する SSRF ブロック (DNS ピンニング + IP ブロック) |
| 残存リスク | 高 - 任意の外部 URL が引き続き許可されている |
| 推奨事項 | URL 許可リスト、データ分類の認識 |
T-EXFIL-002: 不正なメッセージ送信
| 属性 | 値 |
|---|---|
| ATLAS ID | AML.T0009 - 収集 |
| 説明 | 攻撃者がエージェントに機微データを含むメッセージを送信させる |
| 攻撃ベクトル | プロンプトインジェクションにより、エージェントが攻撃者にメッセージを送る |
| 影響を受けるコンポーネント | メッセージツール、チャネル連携 |
| 現在の緩和策 | 送信メッセージのゲーティング |
| 残存リスク | 中 - ゲーティングがバイパスされる可能性がある |
| 推奨事項 | 新しい受信者に対する明示的な確認 |
T-EXFIL-003: 認証情報の収集
| 属性 | 値 |
|---|---|
| ATLAS ID | AML.T0009 - 収集 |
| 説明 | 悪意ある skill がエージェントコンテキストから認証情報を収集する |
| 攻撃ベクトル | skill コードが環境変数や設定ファイルを読み取る |
| 影響を受けるコンポーネント | skill 実行環境 |
| 現在の緩和策 | ClawHub の認証情報パターンスキャン (ハードコードされたシークレット、ネットワーク送信と組み合わされた認証情報 env アクセス)。実行時の skills には実行サンドボックスなし |
| 残存リスク | 重大 - skills はエージェント権限で実行される |
| 推奨事項 | skill 実行のサンドボックス化、認証情報の分離 |
3.8 影響 (AML.TA0011)
T-IMPACT-001: 不正なコマンド実行
| 属性 | 値 |
|---|---|
| ATLAS ID | AML.T0031 - AI モデルの整合性低下 |
| 説明 | 攻撃者がユーザーシステム上で任意のコマンドを実行する |
| 攻撃ベクトル | exec 承認バイパスと組み合わされたプロンプトインジェクション |
| 影響を受けるコンポーネント | Bash ツール、コマンド実行 |
| 現在の緩和策 | Exec 承認、Docker サンドボックスオプション (デフォルトのランタイムバックエンド) |
| 残存リスク | 重大 - サンドボックスが無効な場合、ホスト実行が可能 |
| 推奨事項 | 承認 UX を改善する。サンドボックス無効のデプロイは、意図的な運用者の選択として引き続きそのように文書化する |
T-IMPACT-002: リソース枯渇 (DoS)
| 属性 | 値 |
|---|---|
| ATLAS ID | AML.T0031 - AI モデルの整合性低下 |
| 説明 | 攻撃者が API クレジットまたは計算リソースを枯渇させる |
| 攻撃ベクトル | 自動化されたメッセージの大量送信、高コストなツール呼び出し |
| 影響を受けるコンポーネント | Gateway、エージェントセッション、API プロバイダー |
| 現在の緩和策 | なし |
| 残存リスク | 高 - 送信者ごとのレート制限がない |
| 推奨事項 | 送信者ごとのレート制限、コスト予算 |
T-IMPACT-003: 評判への損害
| 属性 | 値 |
|---|---|
| ATLAS ID | AML.T0031 - AI モデルの整合性低下 |
| 説明 | 攻撃者がエージェントに有害または攻撃的なコンテンツを送信させる |
| 攻撃ベクトル | プロンプトインジェクションにより不適切な応答を引き起こす |
| 影響を受けるコンポーネント | 出力生成、チャネルメッセージング |
| 現在の緩和策 | LLM プロバイダーのコンテンツポリシー |
| 残存リスク | 中 - プロバイダーのフィルターは完全ではない |
| 推奨事項 | 出力フィルタリング層、ユーザー制御 |
4. ClawHub サプライチェーン分析
4.1 現在のセキュリティ制御
| 制御 | 実装 | 有効性 |
|---|---|---|
| GitHub アカウント年齢 | requireGitHubAccountAge() (14 日以上) | 中 - 新規攻撃者へのハードルを上げる |
| パスのサニタイズ | sanitizePath() | 高 - パストラバーサルを防ぐ |
| ファイル種別の検証 | isTextFile() | 中 - テキストファイルのみをスキャンするが、それでも悪用可能 |
| サイズ制限 | 合計 50MB のバンドル (MAX_PUBLISH_TOTAL_BYTES) | 高 - リソース枯渇を防ぐ |
| 必須の SKILL.md | 公開時に readme が必須 | セキュリティ価値は低い - 情報提供のみ |
| 静的 + AST 隣接スキャン | exec、流出、認証情報収集、難読化などを対象にするパターンエンジン | 中-高 - 多くの既知の悪用パターンをカバーするが、依然としてパターンベース |
| LLM ベースのエージェント型リスクレビュー | 公開時にセキュリティプロンプト駆動の判定を行う | 中-高 - 静的パターンでは見逃す挙動を検出する |
| VirusTotal スキャン | skill とパッケージリリースの公開/再スキャンフローに接続され、運用者の API キーで制御 | 有効時は高 - 静的エンジンによる検出 |
| モデレーション状態 | moderationStatus フィールド | 中 - 手動レビューが可能 |
4.2 モデレーションの制限
ClawHub の静的スキャンは、skill のコード内容を直接検査し (slug/メタデータ/frontmatter だけではない)、危険な exec 呼び出し、動的コード実行、認証情報の収集、流出パターン、難読化されたペイロードなどを対象にする。既知のギャップ:- パターンベースの検出は、十分に新しい難読化によって依然として回避される可能性がある。
- LLM ベースのレビューと VirusTotal スキャンは、運用者側の API キー/config が有効化されていることに依存する。
- インストール後、skill をエージェント自身の権限から分離するランタイム実行サンドボックスはない。
4.3 バッジ
Skills とパッケージには、モデレーターが割り当てるバッジhighlighted、official、deprecated、redactionApproved (skills のみ) が付く。コミュニティ報告 (skillReports) と監査ログ (auditLogs) がモデレーションワークフローを支える。
5. リスクマトリクス
5.1 発生可能性と影響
| 脅威 ID | 発生可能性 | 影響 | リスクレベル | 優先度 |
|---|---|---|---|---|
| T-EXEC-001 | 高 | 重大 | 重大 | P0 |
| T-PERSIST-001 | 高 | 重大 | 重大 | P0 |
| T-EXFIL-003 | 中 | 重大 | 重大 | P0 |
| T-IMPACT-001 | 中 | 重大 | 高 | P1 |
| T-EXEC-002 | 高 | 高 | 高 | P1 |
| T-EXEC-004 | 中 | 高 | 高 | P1 |
| T-ACCESS-003 | 中 | 高 | 高 | P1 |
| T-EXFIL-001 | 中 | 高 | 高 | P1 |
| T-IMPACT-002 | 高 | 中 | 高 | P1 |
| T-EVADE-001 | 高 | 中 | 中 | P2 |
| T-ACCESS-001 | 低 | 高 | 中 | P2 |
| T-ACCESS-002 | 低 | 高 | 中 | P2 |
| T-PERSIST-002 | 低 | 高 | 中 | P2 |
5.2 クリティカルパス攻撃チェーン
チェーン 1: skill ベースのデータ窃取6. 推奨事項の概要
6.1 即時 (P0)
| ID | 推奨事項 | 対応 |
|---|---|---|
| R-002 | skill 実行サンドボックスを実装する | T-PERSIST-001, T-EXFIL-003 |
| R-003 | 機密性の高いアクションに出力検証を追加する | T-EXEC-001, T-EXEC-002 |
6.2 短期 (P1)
| ID | 推奨事項 | 対応 |
|---|---|---|
| R-004 | 送信者ごとのレート制限を実装する | T-IMPACT-002 |
| R-005 | 保存時のトークン暗号化を追加する | T-ACCESS-003 |
| R-006 | exec 承認 UX を改善し、コマンド正規化の拡張を継続する | T-EXEC-004 |
| R-007 | web_fetch に URL 許可リストを実装する | T-EXFIL-001 |
6.3 中期 (P2)
| ID | 推奨事項 | 対応 |
|---|---|---|
| R-008 | 可能な場合は暗号学的なチャンネル検証を追加する | T-ACCESS-002 |
| R-009 | config 整合性検証を実装する | T-PERSIST-003 |
| R-010 | 更新の署名とバージョン固定を追加する | T-PERSIST-002 |
7. 付録
7.1 ATLAS 技法マッピング
| ATLAS ID | 技法名 | OpenClaw の脅威 |
|---|---|---|
| AML.T0006 | アクティブスキャン | T-RECON-001, T-RECON-002 |
| AML.T0009 | 収集 | T-EXFIL-001, T-EXFIL-002, T-EXFIL-003 |
| AML.T0010.001 | サプライチェーン: AI ソフトウェア | T-PERSIST-001, T-PERSIST-002 |
| AML.T0010.002 | サプライチェーン: データ | T-PERSIST-003 |
| AML.T0031 | AI モデル整合性の侵食 | T-IMPACT-001, T-IMPACT-002, T-IMPACT-003 |
| AML.T0040 | AI モデル推論 API アクセス | T-ACCESS-001, T-ACCESS-002, T-ACCESS-003, T-DISC-001, T-DISC-002 |
| AML.T0043 | 敵対的データの作成 | T-EXEC-004, T-EVADE-001, T-EVADE-002 |
| AML.T0051.000 | LLM プロンプトインジェクション: 直接 | T-EXEC-001, T-EXEC-003 |
| AML.T0051.001 | LLM プロンプトインジェクション: 間接 | T-EXEC-002 |
7.2 主要なセキュリティファイル
| パス | 目的 | リスクレベル |
|---|---|---|
src/infra/exec-approvals.ts | コマンド承認ロジック | 重大 |
src/gateway/auth.ts | Gateway 認証 | 重大 |
src/infra/net/ssrf.ts | SSRF 保護 | 重大 |
src/security/external-content.ts | プロンプトインジェクション緩和 | 重大 |
src/agents/sandbox/tool-policy.ts | サンドボックスツール許可/拒否ポリシー | 重大 |
src/routing/resolve-route.ts | セッション分離 / ルーティング | 中 |
7.3 用語集
| 用語 | 定義 |
|---|---|
| ATLAS | MITRE の AI システム向け敵対的脅威ランドスケープ |
| ClawHub | OpenClaw の skill マーケットプレイス |
| Gateway | OpenClaw のメッセージルーティングおよび認証レイヤー |
| MCP | Model Context Protocol - ツールプロバイダーインターフェイス |
| Prompt injection | 悪意ある指示が入力に埋め込まれる攻撃 |
| Skill | OpenClaw エージェント向けのダウンロード可能な拡張 |
| SSRF | Server-Side Request Forgery |
この脅威モデルは生きたドキュメントである。セキュリティ問題は
security@openclaw.ai に報告するか、Trust ページ を参照する。