关于 dd-audit-security-investigation
面向安全调查的 Datadog 审计日志技能,使用 `pup audit-logs` 查询用户活动、访问变更、登录记录及异常情况。
主要功能
- 01按用户、资源、IP 或事件搜索审计日志
- 02调查资源删除与变更
- 03检查登录活动和访问权限变更
- 04标记地理位置及行为异常
适用场景
- 01查明特定时段内删除资源的人员
- 02审查用户操作或资源历史记录
- 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
命令执行顺序
- 明确调查范围:涉及谁、什么资源类型以及哪个时间段。
- 先运行最精确的查询;只有结果为空时才扩大范围。
- 如果结果很多,可通过管道将结果传给
jq进行分组或汇总。 - 标出异常:批量操作、异常地理位置、非工作时间活动、支持用户操作。
常见调查查询
谁在某个时间段内删除了资源?
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 Platform | CWS 规则、安全信号状态更改 |
Bits AI SRE | MCP 工具调用、AI 调查 |
需要标出的异常
呈现调查结果时,请指出:
- 操作者类型为
SUPPORT_USER— Datadog 支持人员访问了该组织 - 批量删除 — 同一用户在短时间内执行了相同操作,涉及多个资源
- 地理位置异常 — 用户所在国家/地区未出现在其以往的登录记录中
- 非工作时间活动 — 操作发生在该用户常用时区内的异常时段
- 首次出现的 ASN — 操作来自以前未出现过的云服务提供商或 VPN(
@network.client.geoip.as.name)
参考资料
评论
支持 Markdown