mcpField
I
incident-response

incident-response

github.com/alphaonedevセキュリティ45 回インストール
リポジトリ

incident-response について

incident-response は、DevOps 環境でセキュリティインシデントの全過程を管理する OpenClaw スキルで、SRE や運用チーム向けです。CLI と API による検知、分析、封じ込め、復旧を扱い、監視ツールとの連携例も示します。

主な機能

  1. 01ログとメトリクスから脅威を検知
  2. 02イベントを関連付けて影響を分析
  3. 03影響を受けたリソースを隔離
  4. 04ロールバックやバックアップ復元
  5. 05Prometheus などの監視ツールと連携

活用シーン

  1. 01Kubernetes の異常な通信を調査
  2. 02staging 環境のネットワークインシデントを封じ込め
  3. 03アプリケーションの脆弱性を分析してロールバック
  4. 04CI/CD パイプラインでインシデントを検知

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/alphaonedev/openclaw-graph --skill incident-response

インストール後、Claude Code で/incident-responseを入力して読み込まれたか確認します。

詳細

目的

このスキルを使用すると、OpenClaw は DevOps 環境におけるインシデント対応の全ライフサイクルを管理できます。自動化ツールと連携機能を活用して、セキュリティインシデントの検知、分析、封じ込め、復旧を行います。

使用する場面

DevOps パイプラインの監視で異常が検知された場合(例:Kubernetes クラスターでの不審なトラフィック)、侵害が進行中の場合(例:不正アクセス)、または定期的な訓練を行う場合に、このスキルを使用します。CI/CD ツールと連携してリアルタイムアラートを実現するなど、ダウンタイムを最小限に抑えるために SRE ワークフローで活用してください。

主な機能

  • 検知:API エンドポイント /api/incident/detect を使用してログとメトリクスをスキャンします。たとえば、{"source": "k8s-logs", "threshold": 0.8} のような JSON ペイロードを指定し、事前定義されたルールに基づいて脅威を特定します。
  • 分析:CLI フラグ --analyze-depth 2 を使用してインシデントデータを解析し、イベントを関連付けます。たとえば、IP アドレスをユーザーセッションに結び付けます。
  • 封じ込め:影響を受けたリソースを隔離します。たとえば、コマンド openclaw incident contain --resource pod-123 --action pause を使用して Kubernetes の Pod を一時停止します。
  • 復旧:ロールバックやバックアップからの復元を自動化します。たとえば、ペイロード {"backup_id": "snapshot-456"} を指定して /api/incident/recover に API 呼び出しを行います。
  • Prometheus などのツールとの連携をサポートし、インシデント追跡に関する SRE のベストプラクティスを取り入れています。

使用パターン

このスキルを使用するには、まず認証用の環境変数を設定します:export OPENCLAW_API_KEY=your_api_key。次に、以下の手順に従います:

  1. 認証して初期化する:openclaw auth --key $OPENCLAW_API_KEY を実行してセッションをセットアップします。
  2. インシデントを検知する:openclaw incident detect --env prod --type network を実行して問題をスキャンします。
  3. 結果を分析する:出力を分析に渡します。例:openclaw incident analyze --id 123 --format json。
  4. 必要に応じて封じ込める:openclaw incident contain --id 123 --scope cluster を使用して隔離します。
  5. 復旧する:openclaw incident recover --id 123 --backup latest を呼び出して復元します。 自動化されたワークフローでは、スクリプトに組み込みます。次のような Bash スニペットを記述します:
export OPENCLAW_API_KEY=your_key
openclaw incident detect --env staging
if [ $? -ne 0 ]; then openclaw incident contain --id $(echo $output | jq .id); fi

誤検知を避けるため、必須フィールド("threshold" など)が JSON 設定に含まれていることを確認するなど、必ず入力を検証してください。

よく使うコマンド/API

  • CLI コマンド:
    • 検知:openclaw incident detect --env dev --type app-vuln --threshold 0.7(フラグ:--env は環境、--type はインシデントの種類、--threshold は感度を指定します)。
    • 分析:openclaw incident analyze --id 456 --depth 1(フラグ:--depth は再帰レベルを指定し、"affected_resources" などのフィールドを含む JSON を出力します)。
    • 封じ込め:openclaw incident contain --id 789 --action isolate --resource k8s-pod(フラグ:--action は isolate や block などの操作を指定します)。
    • 復旧:openclaw incident recover --id 789 --method rollback(フラグ:--method は rollback や restore などの方法を指定します)。
  • API エンドポイント(すべて $OPENCLAW_API_KEY を含む Authorization ヘッダーが必要です):
    • POST /api/incident/detect:検知を開始するには、リクエスト本文に { "env": "prod", "type": "network" } を指定します。
    • GET /api/incident/analyze/{id}:詳細な分析には、クエリパラメーター depth=2 を指定します。
    • PUT /api/incident/contain/{id}:リクエスト本文に { "action": "isolate", "resource": "pod-123" } を指定します。
    • POST /api/incident/recover/{id}:リクエスト本文に { "method": "rollback", "backup_id": "snapshot-abc" } を指定します。 設定形式:入力には JSON ファイルを使用します。例:--config path/to/config.json で渡すファイルに {"env": "staging", "types": ["app-vuln", "network"]} を指定します。

統合に関するメモ

ELK Stack や Prometheus などの監視システムにデータをエクスポートして、DevOps ツールと統合します。Kubernetes では、Webhook を使用します。OpenClaw を設定して、openclaw incident hook --url https://your-k8s-webhook.com --event detect でアラートを送信します。CI/CD では、次のようなステップを Jenkins パイプラインに追加します。

stage('Incident Check') {
    sh 'openclaw incident detect --env prod > incident.log'
    if (readFile('incident.log').contains('alert')) { error 'Incident detected' }
}

SRE では、環境変数 export PAGERSERVICE_KEY=your_key を設定して PagerDuty などのツールと連携し、openclaw incident notify --service pagerduty を使用します。設定が形式に合っていることを確認してください。たとえば、Webhook の YAML は次のとおりです。hooks: - url: https://pagerduty.com events: [detect, analyze]。

エラー処理

CLI の終了コードを確認します。成功は 0、検出エラー(無効なフラグなど)は 1、API エラーは 2 です。API では、HTTP レスポンスを解析します。400 は不正なリクエスト(JSON の必須フィールドの欠落など)、401 は認証の問題を示します($OPENCLAW_API_KEY を確認してください)。次のようなスクリプトで処理します。

response=$(openclaw incident detect --env invalid)
if [ $? -eq 1 ]; then echo "Error: Invalid environment"; exit 1; fi

デバッグには --verbose フラグを付けてエラーを記録し、一時的なエラー(ネットワークの問題など)はコード内のループを使って再試行します。処理を続行する前に、必ず JSON レスポンスに "error_code" などのフィールドがあることを検証してください。

具体的な使用例

  1. ステージング環境でネットワークインシデントを検出して封じ込める:DevOps パイプラインで、ステージング環境の異常を検出します。openclaw incident detect --env staging --type network を実行します。インシデント ID(例:123)が返された場合は、openclaw incident contain --id 123 --action isolate で封じ込めます。これにより、デプロイテスト中の拡散を防げます。

  2. アプリケーションの脆弱性を分析して復旧する:検出されたアプリの脆弱性について、openclaw incident analyze --id 456 --depth 1 を使ってログを分析し、詳細を取得します。続いて、openclaw incident recover --id 456 --method rollback --backup latest で復旧します。これにより、本番環境の SRE シナリオでスナップショットからアプリを復元できます。

グラフの関係性

  • 接続先:devops-sre クラスター(ログ取り込み用の監視スキルや、自動ロールバック用のデプロイスキルなどに接続)。
  • タグ:incident-response(セキュリティスキルとエッジを共有)、security(アクセス制御スキルに関連)、devops(ci-cd スキルと統合)。

コメント