بنقرة واحدة
guardduty
Manage Amazon GuardDuty threat detection, findings, detectors, and IP/threat lists via AWS CLI.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Manage Amazon GuardDuty threat detection, findings, detectors, and IP/threat lists via AWS CLI.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Manage AWS Certificate Manager certificates, validation, renewal, and import for ALB, CloudFront, and API Gateway via AWS CLI.
Manage Amazon API Gateway REST APIs, HTTP APIs, WebSocket APIs, stages, and deployments via AWS CLI.
Manage EC2 Auto Scaling groups, launch templates, scaling policies, and scheduled actions via AWS CLI.
Manage Elastic Load Balancers (ALB, NLB, CLB), target groups, listeners, and health checks via AWS CLI.
Manage AWS Organizations accounts, OUs, SCPs, and delegated administration via AWS CLI.
Manage Amazon SageMaker notebooks, training jobs, models, endpoints, and pipelines via AWS CLI.
| name | guardduty |
| description | Manage Amazon GuardDuty threat detection, findings, detectors, and IP/threat lists via AWS CLI. |
| metadata | {"openclaw":{"emoji":"🔍","requires":{"bins":["aws"]}}} |
Use this skill for threat detection operations: enabling and configuring GuardDuty detectors, reviewing and managing findings, configuring trusted IP lists and threat intel sets, managing member accounts, and suppressing known-good findings.
guardduty:* for full access, or scoped policies# List detectors
aws guardduty list-detectors --output table
# Get detector details
aws guardduty get-detector --detector-id <detector-id>
# List findings (IDs only)
aws guardduty list-findings --detector-id <detector-id>
# List findings with filter (high severity)
aws guardduty list-findings \
--detector-id <detector-id> \
--finding-criteria '{
"Criterion": {
"severity": {"Gte": 7}
}
}' \
--sort-criteria '{"AttributeName": "severity", "OrderBy": "DESC"}'
# Get finding details
aws guardduty get-findings \
--detector-id <detector-id> \
--finding-ids <finding-id-1> <finding-id-2>
# Get finding details (summary view)
aws guardduty get-findings \
--detector-id <detector-id> \
--finding-ids <finding-id> \
--query 'Findings[*].[Type,Severity,Title,Description,Resource.ResourceType]' \
--output table
# Get finding statistics
aws guardduty get-findings-statistics \
--detector-id <detector-id> \
--finding-statistic-types COUNT_BY_SEVERITY
# List filters
aws guardduty list-filters --detector-id <detector-id> --output table
# Get filter details
aws guardduty get-filter --detector-id <detector-id> --filter-name <filter-name>
# List IP sets (trusted IPs)
aws guardduty list-ip-sets --detector-id <detector-id> --output table
# List threat intel sets
aws guardduty list-threat-intel-sets --detector-id <detector-id> --output table
# List member accounts
aws guardduty list-members --detector-id <detector-id> --output table
# Get usage statistics
aws guardduty get-usage-statistics \
--detector-id <detector-id> \
--usage-statistic-type SUM_BY_DATA_SOURCE \
--usage-criteria '{"DataSources": ["CLOUD_TRAIL", "DNS_LOGS", "FLOW_LOGS"]}'
# List coverage (runtime monitoring)
aws guardduty list-coverage --detector-id <detector-id>
⚠️ Cost note: GuardDuty pricing is based on data analyzed. CloudTrail events: $4.00 per million events (first 500M). VPC Flow Logs/DNS logs: $1.00-$1.50 per GB. 30-day free trial for new accounts.
# Enable GuardDuty (creates a detector)
aws guardduty create-detector --enable \
--finding-publishing-frequency FIFTEEN_MINUTES
# Enable additional features
aws guardduty update-detector \
--detector-id <detector-id> \
--enable \
--features '[
{"Name": "S3_DATA_EVENTS", "Status": "ENABLED"},
{"Name": "EKS_AUDIT_LOGS", "Status": "ENABLED"},
{"Name": "RUNTIME_MONITORING", "Status": "ENABLED"},
{"Name": "LAMBDA_NETWORK_LOGS", "Status": "ENABLED"}
]'
# Create a trusted IP list
aws guardduty create-ip-set \
--detector-id <detector-id> \
--name trusted-ips \
--format TXT \
--location s3://<bucket>/trusted-ips.txt \
--activate
# Create a threat intel set
aws guardduty create-threat-intel-set \
--detector-id <detector-id> \
--name custom-threats \
--format TXT \
--location s3://<bucket>/threat-ips.txt \
--activate
# Create a findings filter (suppress known-good)
aws guardduty create-filter \
--detector-id <detector-id> \
--name suppress-known-scanner \
--action ARCHIVE \
--finding-criteria '{
"Criterion": {
"type": {"Eq": ["Recon:EC2/PortProbeUnprotectedPort"]},
"service.action.portProbeAction.portProbeDetails.remoteIpDetails.ipAddressV4": {"Eq": ["<known-scanner-ip>"]}
}
}'
# Archive findings (mark as handled)
aws guardduty archive-findings \
--detector-id <detector-id> \
--finding-ids <finding-id-1> <finding-id-2>
# Unarchive findings
aws guardduty unarchive-findings \
--detector-id <detector-id> \
--finding-ids <finding-id>
# Generate sample findings (for testing)
aws guardduty create-sample-findings \
--detector-id <detector-id> \
--finding-types "Recon:EC2/PortProbeUnprotectedPort" "UnauthorizedAccess:EC2/SSHBruteForce"
# Update feedback on a finding
aws guardduty update-findings-feedback \
--detector-id <detector-id> \
--finding-ids <finding-id> \
--feedback USEFUL
# Invite a member account
aws guardduty create-members \
--detector-id <detector-id> \
--account-details '[{"AccountId": "<member-account-id>", "Email": "admin@example.com"}]'
aws guardduty invite-members \
--detector-id <detector-id> \
--account-ids <member-account-id>
# Accept invitation (run from member account)
aws guardduty accept-invitation \
--detector-id <member-detector-id> \
--administrator-id <admin-account-id> \
--invitation-id <invitation-id>
🛑 DESTRUCTIVE — Always confirm with the user before executing any of these commands.
# Disable GuardDuty (stops all monitoring)
aws guardduty delete-detector --detector-id <detector-id>
# Delete an IP set
aws guardduty delete-ip-set --detector-id <detector-id> --ip-set-id <ip-set-id>
# Delete a filter
aws guardduty delete-filter --detector-id <detector-id> --filter-name <filter-name>
# Disassociate a member account
aws guardduty disassociate-members --detector-id <detector-id> --account-ids <account-id>
DETECTOR=$(aws guardduty list-detectors --query 'DetectorIds[0]' --output text)
# Get high-severity findings from last 24 hours
aws guardduty list-findings \
--detector-id $DETECTOR \
--finding-criteria '{
"Criterion": {
"severity": {"Gte": 7},
"updatedAt": {"GreaterThan": '$(date -u -v-1d +%s000)'}
}
}' | jq -r '.FindingIds[]' | while read fid; do
aws guardduty get-findings --detector-id $DETECTOR --finding-ids "$fid" \
--query 'Findings[0].[Severity,Type,Title]' --output text
done
# Create EventBridge rule for high-severity findings
aws events put-rule \
--name guardduty-high-severity \
--event-pattern '{
"source": ["aws.guardduty"],
"detail-type": ["GuardDuty Finding"],
"detail": {"severity": [{"numeric": [">=", 7]}]}
}'
# Target a Lambda for auto-remediation
aws events put-targets \
--rule guardduty-high-severity \
--targets '[{"Id":"remediate","Arn":"<lambda-arn>"}]'
| Error | Cause | Fix |
|---|---|---|
DetectorNotFoundException | No detector in this region | Enable GuardDuty with create-detector |
BadRequestException on create-detector | GuardDuty already enabled | Use list-detectors to find existing detector |
| No findings appearing | Insufficient data or new account | Wait 24-48h; GuardDuty needs baseline data |
AccessDeniedException | Missing IAM permissions | Check for guardduty:* in IAM policy |
| High false positive rate | Generic findings on known services | Create suppression filters for known-good patterns |