mcpField
L
log-analysis

log-analysis

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

log-analysis について

log-analysis は、監視や調査、インシデントの振り返りでシステムログやアプリケーションログを分析するセキュリティスキルです。異常検知、シグネチャ照合、ログ解析、絞り込み、重要度別レポートに対応します。

主な機能

  1. 01機械学習による異常検知
  2. 02脅威シグネチャ照合
  3. 03ログ解析とメタデータ抽出
  4. 04重要度と緩和策のレポート
  5. 05時間、IP、ユーザーによる絞り込み

活用シーン

  1. 01ログイン失敗の反復を調査
  2. 02不審なネットワーク活動の検知
  3. 03セキュリティインシデント後のログ確認
  4. 04ログストリームのリアルタイム分析と通知

インストール

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

$npx skills add https://github.com/alphaonedev/openclaw-graph --skill log-analysis

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

詳細

ログ分析

目的

このスキルは、システムログとアプリケーションログを分析して、異常やセキュリティ上の脅威、侵害を示唆するパターンを特定します。インシデント対応に役立つ実用的な分析情報を提供し、ブルーチームの業務を支援します。

使用するタイミング

フォレンジック調査、リアルタイム監視、またはインシデント後のレビューでこのスキルを使用します。ログにログイン失敗の繰り返しや予期しないネットワークトラフィックなどの不審なアクティビティが記録されている場合や、クラウドサーバーやオンプレミスシステムなどの環境で定期的なセキュリティ監査を行う場合に適用します。

主な機能

  • ログデータに対する機械学習ベースのパターン認識を使用して、異常を検出します。
  • シグネチャ照合によって、SQL インジェクションの試みやマルウェアの痕跡などの脅威を特定します。
  • 複数のログ形式(syslog、Apache アクセスログなど)を解析し、相関分析用のメタデータを抽出します。
  • 重大度レベルと緩和策の推奨事項を含むレポートを生成します。
  • 調査対象を絞り込むために、時刻、IP、ユーザー ID によるログのフィルタリングをサポートします。

使用パターン

CLI からこのスキルを呼び出してすばやく分析するか、スクリプトに統合してワークフローを自動化します。必ずログの入力パスまたはストリームを指定し、分析パラメーターを設定してください。たとえば、ファイルや API からログをパイプで渡して、検出を実行する前にフィルターを適用します。API 呼び出しを保護するため、$LOG_ANALYSIS_API_KEY などの環境変数を使って認証します。最適に解析できるよう、ログがプレーンテキストまたは JSON 形式であることを確認してください。

一般的なコマンド/API

基本的な操作には、log-analysis scan のようなコマンドで CLI ツールを使用します。API 統合では、JSON ペイロードを指定して POST /api/v1/logs/analyze のようなエンドポイントを呼び出します。

  • CLI の例:ローカルファイルをスキャンして脅威を検出します。

    log-analysis scan --file /var/log/syslog --anomaly true --output report.json
    

    これにより異常がフラグ付けされ、結果がファイルに保存されます。

  • API の例:分析するログを送信します。

    curl -X POST https://api.openclaw.com/api/v1/logs/analyze \
    -H "Authorization: Bearer $LOG_ANALYSIS_API_KEY" \
    -d '{"logs": [{"line": "ERROR: Unauthorized access"}], "filters": {"ip": "192.168.1.1"}}'
    

    これにより指定したログが分析され、検出された脅威を含む JSON が返されます。

  • 一般的なフラグ:入力には --file <path>、機械学習ベースの検出には --anomaly、感度レベルには --threshold 0.8 を指定します。

  • 設定形式:カスタムルールには JSON を使用します。例:

    {
      "rules": [
        {"pattern": "Failed login", "severity": "high"}
      ]
    }
    

    --config config.json で読み込みます。

統合に関する注意

API 経由でログをストリーミングして、ELK Stack や Splunk などのツールと統合します。認証用に $LOG_ANALYSIS_API_KEY を環境変数として設定します。たとえば、Python スクリプトでは SDK をインポートして認証します。

import log_analysis_sdk
client = log_analysis_sdk.Client(api_key=os.environ['LOG_ANALYSIS_API_KEY'])
response = client.analyze(logs_data)

コールバック URL を登録して、リアルタイムアラート用の Webhook を処理します。ログ形式を一致させて互換性を確保し、jq などのツールを使って標準以外のログを変換します。

エラー処理

無効なログ形式や認証の失敗などのエラーを確認します。スクリプトでは try-catch ブロックを使用します。

try:
    result = log_analysis.scan('--file invalid.log')
except FileNotFoundError:
    print("Error: Log file not found. Verify path and permissions.")

よくあるエラーには、401 Unauthorized($LOG_ANALYSIS_API_KEY がない)や 400 Bad Request(JSON の形式が不正)があります。エラーはタイムスタンプとともに記録し、一時的な問題は指数バックオフを用いて最大 3 回再試行します。コマンドを実行する前に入力を検証します。たとえば、os.path.exists() を使ってファイルが存在するか確認します。

具体的な使用例

  1. サーバーログの異常を検出する: log-analysis scan --file /var/log/auth.log --anomaly true を実行して、ブルートフォース攻撃の可能性を特定します。出力された JSON を確認し、{"event": "Failed login", "count": 5, "threat": "high"} のようなエントリを見つけたら、ファイアウォールログと相関させてさらに調査します。

  2. 監視スクリプトと統合する: Bash スクリプトでリモートサーバーからログを取得して分析します。

    logs=$(curl http://server/logs.txt)
    echo "$logs" | log-analysis scan --stream --threshold 0.7
    

    これにより、リアルタイムストリーム内の脅威が検出され、通常とは異なるユーザーアクティビティなどの異常に対するアラートが出力されます。さらに、結果を SIEM にパイプで渡して対応を自動化します。

グラフの関係

  • 関連項目:ログ解析用の共有タグを介したフォレンジック、脅威検出の重複によるセキュリティ、運用の主要コンポーネントとしてのブルーチームクラスター。
  • リンク:後続対応用の「incident-response」や、相関データ分析用の「network-monitoring」などのスキルにつながります。

コメント