Loading...
Loading...
Audit Trail investigations - who changed what, key compromise, cost spike root cause, compliance evidence (SOC 2/PCI), and AI activity auditing.
npx skill4agent add datadog-labs/agent-skills dd-auditpup audit-logs| Sub-skill | Use when |
|---|---|
| security-investigation | "Who changed X?", "What did this user do?", "Show me deletions in the last 24h" |
| key-compromise | "Was this API key compromised?", "What did key XYZ do?", "Investigate suspicious key activity" |
| cost-spike-investigation | "Why did my bill go up?", "What caused this usage spike?", "Investigate LLM cost increase" |
| compliance-report | "Generate SOC 2 evidence", "PCI audit log", "User provisioning report for auditor" |
| ai-activity-audit | "What did the AI assistant do?", "Audit MCP tool calls", "AI governance report" |
pup auth login # OAuth2 (recommended)
# or set DD_API_KEY + DD_APP_KEY with audit_logs_read scope# List recent events
pup audit-logs list --from 1h --limit 100
# Search with a query
pup audit-logs search --query "@action:deleted" --from 24h
# JSON output for piping to jq
pup audit-logs search --query "@usr.email:alice@example.com" --from 7d -o json | jq '.data[].attributes'| Field | Description | Example values |
|---|---|---|
| Actor email | |
| How action was taken | |
| Verb | |
| Event category | |
| Resource type | |
| Resource identifier | |
| API key used (if applicable) | |
| App key used (if applicable) | |
| Client IP address | |
| Country | |
| ASN name | |
| API endpoint path | |
| Query | Meaning |
|---|---|
| Exact field match |
| Action filter |
| Specific user |
| Compound |
| Negation |
| Field exists |
| IP filter |
| Problem | Cause | Fix |
|---|---|---|
| 403 Forbidden | Missing | Add scope to app key in Datadog UI |
| Empty results | Time window outside retention | Check archive config; default max is 90 days |
| Timeout | Query too broad | Narrow time window or add more filters |
| No IP data | Internal action or pre-enrichment event | Not all events have geo data |