Threat detection and vulnerability management are two different jobs
GuardDuty and Inspector get confused constantly because both surface "security findings" in your AWS console. They answer opposite questions. GuardDuty watches your logs and runtime activity to answer "is someone attacking me right now?" Inspector scans your EC2 instances, container images, Lambda functions, and code to answer "what could an attacker exploit?" One is a smoke detector, the other is a building inspector. Neither replaces the other, they bill on completely different dimensions, and in most real AWS accounts you want both running. Here is exactly what each one detects, how each is priced, and the order to enable them. If you also need Macie and Security Hub in the picture, see the full four-way comparison at guardduty-vs-inspector-vs-macie-vs-securityhub.
Detects active attacks: compromised credentials, crypto mining, C2 traffic, and multi-stage attack sequences correlated into a single Critical finding
Finds CVEs and unintended network exposure across EC2, ECR, and Lambda before attackers do, plus SAST, SCA, and IaC scanning for your code
| Criteria | GuardDuty | Inspector |
|---|---|---|
| Question It Answers | Is someone attacking me right now? | What could an attacker exploit? |
| What It Analyzes | CloudTrail events, VPC Flow Logs, DNS queries, S3 data events, EKS audit logs, RDS logins, runtime activity on EC2/ECS/EKS, Bedrock and SageMaker invocations | Software packages on EC2 instances, ECR container images, Lambda functions and layers, source code repositories, IaC templates |
| Detection Method | ML, anomaly detection, and threat intelligence feeds; Extended Threat Detection correlates weak signals into attack sequences | Matching installed packages against CVE databases, plus network reachability analysis, SAST, and SCA |
| When It Fires | In near real-time as malicious activity happens, correlating events over a 24-hour rolling window | Continuously: on resource discovery, on change (new package, new deploy), and when a new CVE affecting you is published |
| Finding Types | Threat findings (severity 1.0-10.0) and attack sequence findings, always Critical, with MITRE ATT&CK mappings | Vulnerability and network exposure findings with a contextualized Inspector risk score (CVSS adjusted to your environment) |
| Agent Required | No agent for log-based detection; GuardDuty agent only for Runtime Monitoring on EC2, ECS, and EKS | SSM Agent for agent-based EC2 scanning, or agentless snapshot-based scanning; no agent for ECR and Lambda |
| Shift-Left / CI-CD | None, it watches production activity only | SAST, SCA, and IaC scanning for GitHub/GitLab repos, plus on-demand container image scanning in CI/CD at $0.03/image |
| Auto-Remediation Signal | Findings stay until you resolve and archive them | Automatically detects when you patch and closes the finding for you |
| Malware & Benchmarks | Malware Protection scans EBS volumes ($0.03/GB), S3 objects ($0.09/GB + $0.215 per 1,000 objects), and AWS Backup data for active malware | CIS Benchmark assessments for OS-level configuration at $0.03 per instance per assessment, plus SBOM export in standard formats |
| Pricing Dimension | Volume of logs and events analyzed (per million events, per GB, per vCPU for runtime) | Number of resources scanned (per instance, per function, per image, per repo scan) |
| Free Trial | 30 days | 15 days |
Inspector only knows about published CVEs and misconfigurations. Stolen IAM credentials, a leaked access key used from an unusual network, or a phished console session involve zero CVEs and are invisible to Inspector. Only GuardDuty catches credential-based attacks, which is why running Inspector alone leaves your biggest real-world risk uncovered.
When you enable GuardDuty, Extended Threat Detection is on by default at no additional cost. It correlates weak signals and existing findings across a 24-hour window into attack sequence findings (credential compromise, S3 data compromise, EKS/ECS cluster compromise, EC2 instance group compromise), all rated Critical. Enabling S3 Protection and Runtime Monitoring widens what it can correlate.
Inspector now covers code security: SAST on your source, SCA on dependencies, and IaC scanning on your infrastructure templates, with GitHub and GitLab repository integration at $0.15/scan. If you were paying a separate tool for dependency scanning, check whether Inspector already covers it.
GuardDuty costs scale with activity: a noisy account with heavy CloudTrail and VPC Flow Log volume pays more even if tiny. Inspector costs scale with fleet size: 500 instances cost roughly 500 x $1.258/month regardless of how busy they are. Estimate both from your own numbers before enabling org-wide, and use the free trials (30 days GuardDuty, 15 days Inspector) to measure real spend.
GuardDuty Runtime Monitoring puts an agent on EC2, ECS, and EKS to watch process behavior, which sounds like host security overlap with Inspector. It is not: the agent detects malicious behavior (crypto miners, reverse shells), it does not inventory packages or find CVEs. You still need Inspector for vulnerabilities even with Runtime Monitoring enabled.
These comparisons are a starting point. Every architecture is different. Contact us for tailored AWS security assessments and architectural guidance.