mcpField
D
dd-audit-security-investigation

dd-audit-security-investigation

github.com/datadog-labs安全180479 次安装6 天前更新
代码仓库

关于 dd-audit-security-investigation

面向安全调查的 Datadog 审计日志技能,使用 `pup audit-logs` 查询用户活动、访问变更、登录记录及异常情况。

主要功能

  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)

参考资料

评论

支持 Markdown