ioc-analysis について
ioc-analysisは、インシデント対応や脅威ハンティング向けに侵害指標を分析し、脅威情報をまとめるOpenClawスキルです。
主な機能
- 01IP、ドメイン、ハッシュ、URLの情報を補完
- 02指標をフィードやルールと照合
- 03深刻度、脅威、緩和策をレポート
- 04複数の指標を一括分析
- 05結果をアラートワークフローに接続
活用シーン
- 01インシデント対応で不審なIPを確認
- 02脅威ハンティング用にドメイン一覧を調査
- 03外部インテリジェンスフィードの監視を自動化
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ alphaonedev/ openclaw-graph --skill ioc-analysisインストール後、Claude Code で/ioc-analysisを入力して読み込まれたか確認します。
詳細
ioc-analysis
目的
このスキルを使用すると、IP アドレス、ドメイン、ファイルハッシュ、URL などの侵害指標(IOC)を分析し、潜在的な脅威を特定して、既知の攻撃パターンとの相関を調べ、サイバーセキュリティ防御に役立つ実用的なインサイトを生成できます。
使用する場面
- インシデント対応で、不審なアーティファクト(ログ内の IP など)を速やかに検証する必要がある場合に使用します。
- ネットワークトラフィックやエンドポイントデータから IOC をスキャンするプロアクティブな脅威ハンティングに活用します。
- 外部フィードの日次セキュリティ監視を自動化するワークフローに組み込みます。
主な機能
- 脅威インテリジェンスデータベースを使用して IOC を解析、拡充します。IP の位置情報、ドメインのレピュテーション、ハッシュの照合などが可能です。
- IOC を定義済みの脅威フィードやカスタムルールセットと相互参照し、異常を検知します。
- 深刻度スコア、関連する脅威、推奨される緩和策を含むレポートを生成します。
- 1 回の処理で複数の IOC を処理する一括分析に対応します。
- ログシステムと連携し、分析結果に基づくアラートを自動化します。
使用パターン
環境変数 $OPENCLAW_API_KEY を使用した認証で、必ずこのスキルを初期化してください。簡単なクエリには CLI を、プログラムからの連携には API を使用します。CLI ではファイルから入力をパイプし、API ではバッチ処理のためリクエストをループで処理します。送信前に IOC の形式(例:IPv4 はドット区切りの十進表記)を検証してください。各呼び出し後にエラーを確認し、一時的な障害は再試行するようにワークフローを構成します。
主なコマンド/API
- CLI コマンド:
openclaw ioc-analysis --ioc 192.168.1.1 --type ip --output jsonを実行して IP を分析します。特定の脅威フィードを指定するには--feed customを追加します。 - CLI フラグの詳細:
--timeout 30を使用してリクエストのタイムアウトを秒単位で設定します。詳細なログには--verboseを使用します。 - API エンドポイント:
{"ioc": "example.com", "type": "domain"}のような JSON 本文を指定して、https://api.openclaw.com/v1/ioc-analysisに POST します。 - API 認証:ヘッダー
Authorization: Bearer $OPENCLAW_API_KEYを含めます。 - 設定形式:設定には JSON を使用します。例:
--config path/to/config.jsonで渡すファイルに{"feeds": ["virustotal", "alienvault"], "threshold": 0.7}を記述します。 - コードスニペット(Python):
import os import requests api_key = os.environ.get('OPENCLAW_API_KEY') response = requests.post('https://api.openclaw.com/v1/ioc-analysis', headers={'Authorization': f'Bearer {api_key}'}, json={'ioc': '8.8.8.8', 'type': 'ip'}) print(response.json()['threats']) - 別のコードスニペット(Shell):
export OPENCLAW_API_KEY=your_key_here curl -H "Authorization: Bearer $OPENCLAW_API_KEY" -X POST https://api.openclaw.com/v1/ioc-analysis -d '{"ioc": "badfile.exe", "type": "hash"}'
統合に関する注意
アプリケーションに OpenClaw SDK をインポートして統合します。たとえば Python では、from openclaw import IOCAnalyzer を使用します。API リクエスト本文で {"webhook_url": "https://your.endpoint.com/alerts"} を設定して、リアルタイム通知用の Webhook を構成します。出力を連結することで、他のブルーチーム向けスキルと組み合わせられます。たとえば、IOC の結果を threat-detection スキルにパイプします。API バージョン(例:v1)を一致させて互換性を確保し、指数バックオフでレート制限に対処します。コンテナ化環境では、設定ファイルをボリュームとしてマウントし、シークレット経由で $OPENCLAW_API_KEY を注入します。
エラー処理
API 呼び出し後に HTTP ステータスコードを確認し、401 の場合は再認証を求めます。429(レート制限)の場合は、5 秒待ってから最大 3 回まで再試行するループを実装します。JSON エラーの詳細を解析します。たとえば "error": "Invalid IOC format" の場合は、まず正規表現(例:IP の場合は r'^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$')を使用して入力を検証します。CLI では標準エラー出力と終了コードを取得し、コードスニペットでは try-except を使用して例外をログに記録し、デフォルトのアクションにフォールバックします。
具体的な使用例
-
例 1:不審な IP を分析する
インシデント発生時に、ファイアウォールログから IP を照会します。openclaw ioc-analysis --ioc 192.168.1.100 --type ip --feed virustotalを実行します。これにより、「マルウェアの C2 に関連」などの脅威情報を含む JSON が返されます。コードでは、上記のスニペットを使用し、response['score'] > 0.5の場合にブロックコマンドを実行します。 -
例 2:ドメインを一括チェックする
脅威ハンティングで、CSV のドメイン一覧を処理します。まず、{"ioc_list": ["example.com", "malicious.site"], "type": "domain"}を含む設定ファイルを作成し、openclaw ioc-analysis --config domains.json --output report.csvを実行します。スクリプトでは、API 呼び出しを使って一覧を順に処理し、結果を集約してレポートを作成します。
グラフの関係性
- 関連:threat-detection(IOC データを共有し、アラートを強化します)
- 接続:blue-team クラスター(インシデント対応ワークフローで連携します)
- リンク:red-team スキル(IOC 検出のシミュレーションとテストに使用します)
- 依存関係:エンリッチメントには、VirusTotal や AlienVault などの外部フィードへのアクセスが必要です