network-forensics について
network-forensics は、キャプチャ、ログ、リアルタイムデータを調査し、不審な活動を見つけるセキュリティスキルです。PCAP 分析、ルールベースの異常検知に対応し、ブルーチーム向けに JSON または CSV のレポートを作成します。
主な機能
- 01PCAP ファイルからネットワークメタデータを抽出
- 02設定可能なルールで異常を検出
- 03検出結果を JSON または CSV で出力
- 04CLI または API でリアルタイム通信を分析
- 05tcpdump と Zeek に連携
活用シーン
- 01不審なパケットキャプチャの調査
- 02スキャンや SYN flood の通信監視
- 03インシデント時の異常な接続の確認
- 04SIEM 分析用の脅威情報の整理
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ alphaonedev/ openclaw-graph --skill network-forensicsインストール後、Claude Code で/network-forensicsを入力して読み込まれたか確認します。
詳細
network-forensics
目的
このスキルは、パケットキャプチャ、ログ、リアルタイムデータを分析してネットワークトラフィックのパターンを調査し、異常を特定して脅威を軽減できるよう AI を支援します。侵入、マルウェア通信、不正アクセスの検出に重点を置いています。
使用するタイミング
セキュリティインシデントへの対応、定期的な監視、コンプライアンス監査の際にこのスキルを使用します。ネットワークログに異常なトラフィックの急増、不明な IP アドレスからの接続、DDoS 攻撃の可能性が見られる場合に適用します。企業ネットワークやクラウドインフラストラクチャなど、ネットワークアクティビティが活発な環境でのブルーチーム運用に最適です。
主な機能
- PCAP ファイルを解析し、送信元/宛先 IP、ポート、プロトコルなどのメタデータを抽出します。
- ルールセットを使用して異常を検出します。たとえば、SYN フラッドや通常とは異なるポートスキャンを特定します。
- 脅威インテリジェンス向けのレポートを JSON または CSV 形式で生成します。
- ライブキャプチャ用の tcpdump や、高度なプロトコル分析用の Zeek などのツールと連携します。
- API フックを使ったリアルタイム監視に対応し、脅威に即座にフラグを立てます。
使用パターン
このスキルを使用するには、まず環境変数(例:$NETWORK_FORENSICS_API_KEY)を使って API キーで認証します。分析タスクでは、Python スクリプトからプログラムで、または CLI 経由で呼び出します。ファイルベースの分析では PCAP ファイルを指定し、ライブ監視ではネットワークインターフェースを指定します。障害に対処できるよう、呼び出しは必ずエラー処理ブロックで囲みます。結果を侵入検知システムに渡すなど、他のブルーチームスキルと連携してワークフローを自動化します。
一般的なコマンド/API
主要な操作には、以下の CLI コマンドまたは API エンドポイントを使用します。
- CLI:PCAP ファイルを分析します:
openclaw network-forensics analyze --file path/to/capture.pcap --output report.json - CLI:ライブトラフィックを監視します:
openclaw network-forensics monitor --interface eth0 --duration 300 --alert-level high - API エンドポイント:JSON 本文
{"file": "base64_encoded_pcap", "rules": ["syn_flood", "port_scan"]}を付けて/api/network/analyzeに POST します。ヘッダーを設定します:Authorization: Bearer $NETWORK_FORENSICS_API_KEY - API エンドポイント:
/api/network/statusから GET し、進行中のセッションを確認します。レスポンスには、アクティブなアラートが JSON 形式で含まれます。 - コードスニペット(Python):
import requests api_key = os.environ.get('NETWORK_FORENSICS_API_KEY') response = requests.post('https://api.openclaw.com/api/network/analyze', headers={'Authorization': f'Bearer {api_key}'}, json={'file': 'capture.pcap'}) print(response.json()['threats']) - 設定形式:ルールセットには YAML を使用します。例:
rules: - name: syn_flood threshold: 1000 packets/sec - name: port_scan ports: [80, 443, 22]
統合に関する注意事項
結果を Splunk や ELK Stack などの SIEM システムにエクスポートして、このスキルを他のツールと統合します。認証には、必ず環境変数の $NETWORK_FORENSICS_API_KEY を使用します。コードでは、PCAP 処理用の scapy のインストールなど、依存関係を処理します:pip install scapy。他の OpenClaw スキルと組み合わせるには、SDK を使用します。たとえば、network-forensics の出力を intrusion-detection の入力として呼び出します。キャプチャ用にネットワークインターフェースが設定されていることを確認します。例:sudo setcap cap_net_raw+ep /path/to/openclaw binary。本番環境への影響を避けるため、統合はサンドボックス環境でテストしてください。
エラー処理
無効な PCAP ファイル、ネットワークタイムアウト、認証の失敗など、一般的なエラーを必ず確認してください。CLI ではエラーが終了コード(例:ファイルが見つからない場合は 1)を返します。API 呼び出しでは HTTP ステータスコードを解析します:401 は未認証($NETWORK_FORENSICS_API_KEY を確認)、400 は不正なリクエストです。コードスニペットでは try-except を使用します:
try:
response = requests.post('https://api.openclaw.com/api/network/analyze', ...)
response.raise_for_status()
except requests.exceptions.HTTPError as err:
print(f"Error: {err} - Verify API key and input format")
except Exception as e:
print(f"Unexpected error: {e} - Retry with debug flag")
エラーをタイムスタンプ付きで記録し、一時的な問題については最大 3 回再試行します。CLI では --debug フラグを追加すると、詳細なトレースを出力できます。
具体的な使用例
-
キャプチャした PCAP ファイルを分析して脅威を検出する:侵害の可能性がある際に取得した
suspicious.pcapというファイルがあるとします。次のコマンドを実行します:openclaw network-forensics analyze --file suspicious.pcap --rules syn_flood。検出された脅威を含む JSON レポートが出力されます。コードでは、API を使ってファイルを処理し、脅威が 5 件を超えた場合にアラートを出してから、メール通知と連携します。 -
ライブトラフィックを監視して侵入を検出する:
eth0インターフェースを備えたサーバーで、次のコマンドを実行します:openclaw network-forensics monitor --interface eth0 --duration 600 --alert-level medium。これにより、10 分間パケットをキャプチャし、ポートスキャンなどの異常を検出します。たとえば cron ジョブでループ内から実行して継続的に監視し、長期分析のために結果をデータベースに送ります。
グラフの関係
- 関連:脅威検出ロジックを共有する「intrusion-detection」
- 依存:「log-analysis」(ネットワークログの相関分析に使用)
- 補完:「endpoint-security」(包括的なブルーチーム防御のため)
- 「vulnerability-scanning」などの「blue-team」スキルとクラスターを形成