mcpField
D
dd-audit-security-investigation

dd-audit-security-investigation

github.com/datadog-labsセキュリティ180479 回インストール6 日前に更新
リポジトリ

dd-audit-security-investigation について

`pup audit-logs`を使って調査する、Datadog監査ログ向けのセキュリティ調査スキルです。ユーザー操作、アクセス変更、ログイン、異常の確認に役立ちます。

主な機能

  1. 01ユーザー、リソース、IP、イベントで監査ログを検索
  2. 02リソースの削除や変更を調査
  3. 03ログインとアクセス権の変更を確認
  4. 04地理情報や行動の異常を検出

活用シーン

  1. 01指定期間にリソースを削除した人物の特定
  2. 02ユーザー操作やリソース履歴の確認
  3. 03ログイン失敗や見慣れない場所からの操作の調査

インストール

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

$npx skills add https://github.com/datadog-labs/agent-skills --skill dd-audit-security-investigation

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

詳細

監査証跡:セキュリティ調査

pup audit-logs を使用して、セキュリティ調査でよくある質問に回答します。

前提条件

pup auth login   # OAuth2 (recommended)
# or set DD_API_KEY + DD_APP_KEY with audit_logs_read scope

コマンドの実行順序

  1. 調査範囲を明確にします。対象者、リソースタイプ、期間を確認します。
  2. まず最も具体的なクエリを実行し、結果がない場合にのみ範囲を広げます。
  3. 結果が大量にある場合は、jq にパイプしてグループ化または要約します。
  4. 異常を確認します。一括操作、通常と異なる地域、時間外のアクティビティ、サポートユーザーによる操作などです。

よくある調査クエリ

期間内にリソースを削除したのは誰ですか?
pup audit-logs search --query "@action:deleted" --from 24h -o json \
  | jq '[.data[] | {
      timestamp: .attributes.timestamp,
      user: .attributes.attributes.usr.email,
      actor_type: .attributes.attributes.evt.actor.type,
      resource_type: .attributes.attributes.asset.type,
      resource_id: .attributes.attributes.asset.id,
      country: .attributes.attributes.network.client.geoip.country.name
    }]'
特定のリソース(ID 指定)を変更したのは誰ですか?
pup audit-logs search --query "@asset.id:RESOURCE_ID" --from 7d -o json \
  | jq '[.data[] | {
      timestamp: .attributes.timestamp,
      user: .attributes.attributes.usr.email,
      action: .attributes.attributes.action,
      event: .attributes.attributes.evt.name
    }]'
特定のユーザーは何をしましたか?
pup audit-logs search --query "@usr.email:[email protected]" --from 7d --limit 200 -o json \
  | jq '[.data[] | {
      timestamp: .attributes.timestamp,
      action: .attributes.attributes.action,
      event: .attributes.attributes.evt.name,
      resource_type: .attributes.attributes.asset.type,
      resource_id: .attributes.attributes.asset.id,
      ip: .attributes.attributes.network.client.ip,
      country: .attributes.attributes.network.client.geoip.country.name
    }]'
ログインアクティビティ — 地域情報付きのすべてのログイン
pup audit-logs search --query "@evt.name:Authentication @action:login" --from 7d --limit 200 -o json \
  | jq '[.data[] | {
      timestamp: .attributes.timestamp,
      user: .attributes.attributes.usr.email,
      status: .attributes.attributes.status,
      ip: .attributes.attributes.network.client.ip,
      city: .attributes.attributes.network.client.geoip.city.name,
      country: .attributes.attributes.network.client.geoip.country.name,
      asn: .attributes.attributes.network.client.geoip.as.name
    }]'
失敗したログインのみ
pup audit-logs search --query "@evt.name:Authentication @action:login @status:error" --from 7d --limit 200 -o json \
  | jq '[.data[] | {
      timestamp: .attributes.timestamp,
      user: .attributes.attributes.usr.email,
      ip: .attributes.attributes.network.client.ip,
      country: .attributes.attributes.network.client.geoip.country.name
    }]'
ロールまたは権限を変更したのは誰ですか?
pup audit-logs search --query "@evt.name:\"Access Management\"" --from 30d --limit 200 -o json \
  | jq '[.data[] | {
      timestamp: .attributes.timestamp,
      user: .attributes.attributes.usr.email,
      action: .attributes.attributes.action,
      resource_type: .attributes.attributes.asset.type,
      resource_id: .attributes.attributes.asset.id
    }]'
特定の IP から行われた操作は何ですか?
pup audit-logs search --query "@network.client.ip:1.2.3.4" --from 30d --limit 200 -o json \
  | jq '[.data[] | {
      timestamp: .attributes.timestamp,
      user: .attributes.attributes.usr.email,
      actor_type: .attributes.attributes.evt.actor.type,
      action: .attributes.attributes.action,
      event: .attributes.attributes.evt.name,
      resource_type: .attributes.attributes.asset.type
    }]'
API キーを作成または削除したのは誰ですか?
pup audit-logs search --query "@evt.name:Authentication @asset.type:api_key" --from 90d --limit 200 -o json \
  | jq '[.data[] | {
      timestamp: .attributes.timestamp,
      user: .attributes.attributes.usr.email,
      action: .attributes.attributes.action,
      key_id: .attributes.attributes.asset.id,
      ip: .attributes.attributes.network.client.ip,
      country: .attributes.attributes.network.client.geoip.country.name
    }]'

イベントカテゴリのリファレンス

カテゴリ(@evt.name)対象となる内容
Authenticationログイン、API キーの作成/削除/変更
Access Managementロール、ユーザーの追加/削除、制限ポリシー
Dashboard作成、変更、削除、共有
Monitor作成、変更、削除、解決
Log Managementパイプライン、インデックス、アーカイブ、除外フィルター
Integrationインテグレーションの追加/変更/削除
Metricsカスタムメトリクスの作成/変更/削除
Organization Management子組織の作成、組織設定
Notebook作成、変更、削除
APM保持フィルター、サンプリング設定
Cloud Security PlatformCWS ルール、セキュリティシグナルの状態変更
Bits AI SREMCP ツール呼び出し、AI による調査

表面化させるべき異常のフラグ

調査結果を提示する際は、以下を明示してください。

  • アクタータイプが SUPPORT_USER — Datadog サポートが組織にアクセスしました
  • 一括削除 — 短時間のうちに、同じユーザーが同じ操作で多数のリソースを削除しました
  • 予期しない地域 — そのユーザーの過去のログインでは確認されていない国からのアクセスです
  • 時間外のアクティビティ — ユーザーの通常のタイムゾーンでは不自然な時間帯の操作です
  • 初めて確認された ASN — これまで確認されていないクラウドプロバイダーまたは VPN からの操作です(@network.client.geoip.as.name)

参考資料

コメント