Skill Being Reviewed
Skill name: aws-review
Skill path: skills/cloud/aws-review/
False Positive Analysis
Benign single-account evidence that can be over-reported as an organization-wide failure:
resource "aws_cloudtrail" "member_local" {
name = "member-local-trail"
is_multi_region_trail = true
enable_log_file_validation = true
include_global_service_events = true
}
Why this is a false positive risk:
The skill evaluates AWS IaC, AWS CLI output, and configuration exports against CIS AWS Foundations v3.0.0, but the output does not require reviewers to record account, organization, OU, delegated administrator, and Region scope for each evidence source. In a multi-account AWS Organizations environment, a member-account trail, analyzer, or Security Hub export can be useful local evidence but insufficient for organization-wide conclusions. Conversely, an organization trail or centrally managed Security Hub policy may cover accounts where local IaC appears incomplete. Without scope fields, reviewers can either over-report missing controls in member accounts or overclaim organization coverage from a single account export.
Coverage Gaps
Missed variant 1: Organization trail coverage is not separated from member-account trails
Evidence reviewed:
account_id: 111111111111
cloudtrail: member-local-trail
is_multi_region_trail: true
Missing:
is_organization_trail
delegated administrator account
covered organization accounts/OUs
excluded or suspended accounts
Why it should be caught:
AWS CloudTrail supports organization trails that log events for the management account and all member accounts in an AWS Organization. A pass/fail result for CIS logging controls should identify whether the evidence is account-local or organization-wide, which account owns the trail, and which Regions/accounts are covered.
Missed variant 2: IAM Access Analyzer scope is account-level when an organization analyzer is required
resource "aws_accessanalyzer_analyzer" "account" {
analyzer_name = "account-zone"
type = "ACCOUNT"
}
Why it should be caught:
CIS 1.20 says Access Analyzer should be enabled for all Regions, but in a multi-account environment the review also needs to distinguish account analyzers from organization analyzers and delegated administrator configuration. An account analyzer in one workload account does not prove organization-level external access or unused-access coverage.
Missed variant 3: Security Hub central configuration and self-managed targets change coverage
Security Hub evidence:
delegated_admin: security-tooling
home_region: us-east-1
linked_regions: eu-central-1, us-west-2
root: centrally managed
sandbox OU: self-managed
Why it should be caught:
AWS Security Hub CSPM central configuration can apply standards and controls to accounts and OUs across linked Regions, but targets can be centrally managed or self-managed. A Security Hub finding export from a delegated administrator is not automatically full-organization evidence unless the report records home Region, linked Regions, configuration policies, target associations, and self-managed exceptions.
Missed variant 4: SCP and delegated-admin boundaries can make source-level IAM findings misleading
{
"Effect": "Allow",
"Action": "*",
"Resource": "*"
}
Why it should be caught:
A local IAM policy with broad permissions is still important, but effective risk depends on SCPs, permission boundaries, session policies, resource policies, and delegated admin boundaries. The skill should not mark a broad local allow as fully mitigated by an SCP without evidence, but it should record effective-access constraints so severity reflects the actual blast radius.
Edge Cases
- Organization-wide controls can be configured from management accounts or delegated administrator accounts; evidence should record which account supplied the data.
- Security Hub central configuration uses a home Region and linked Regions; opt-in Regions and self-managed accounts/OUs can create coverage gaps.
- AWS Config aggregators and Security Hub aggregations can be scoped to selected accounts/Regions; sampled or partial exports should not be treated as full coverage.
- SCPs do not grant permissions; they only set maximum permissions. Reviewers should not treat an SCP as proof that a control passes unless the underlying IAM/resource configuration is also understood.
- Suspended, newly created, and unjoined accounts can be omitted from organization-wide exports; reports need a coverage denominator.
Remediation Quality
Comparison to Other Tools
| Tool / Framework |
Catches this? |
Notes |
| AWS Organizations / SCP review |
Partial |
Shows maximum permission boundaries and account hierarchy, but not the full resource posture by itself. |
| AWS CloudTrail organization trails |
Yes for logging scope |
Strong evidence for organization-wide event logging when account/Region coverage and delivery are verified. |
| IAM Access Analyzer organization analyzers |
Partial |
Helps identify external and unused access across an organization, but analyzer type, Region, and delegated admin state matter. |
| Security Hub CSPM central configuration |
Partial |
Strong posture-management evidence when home Region, linked Regions, configuration policies, and target associations are recorded. |
| AWS Config aggregators |
Partial |
Useful for resource/config coverage, but reports must record aggregator scope and excluded accounts/Regions. |
Overall Assessment
Strengths:
- Clear CIS AWS Foundations v3.0.0 structure and practical findings template.
- Good coverage of IAM, S3, CloudTrail, monitoring, networking, and IMDSv2.
- Useful warning not to count non-evaluable controls as passing.
- Good common pitfalls around account-level versus bucket-level S3 public access blocks and multi-region CloudTrail.
Needs improvement:
- The output format should require evidence scope: management account, delegated admin account, member account, OU, Region, and organization coverage denominator.
- Organization trails, Security Hub central configuration, IAM Access Analyzer organization analyzers, AWS Config aggregators, and SCPs should be handled as first-class evidence sources.
- Findings should separate local account risk from organization-wide coverage claims.
- Add
Not Evaluable from Single Account / Not Evaluable from IaC Only reason codes.
Priority recommendations:
- Add an
AWS Organization Coverage section with organization ID, management account, delegated administrators, accounts/OUs reviewed, Regions reviewed, excluded accounts, and evidence source date.
- Add per-finding evidence fields:
Evidence scope, Account/OU/Region, Delegated admin?, Organization-wide?, Coverage denominator, and Not Evaluable reason.
- Add specific checks for CloudTrail organization trails, Security Hub CSPM central configuration, IAM Access Analyzer organization analyzers, AWS Config aggregators, and SCP/permission-boundary effective-access qualifiers.
- Add severity guidance for local broad IAM allows constrained by SCPs: do not mark them safe without proof, but calibrate blast radius when effective-access evidence exists.
Sources Checked
Bounty Info
Skill Being Reviewed
Skill name:
aws-reviewSkill path:
skills/cloud/aws-review/False Positive Analysis
Benign single-account evidence that can be over-reported as an organization-wide failure:
Why this is a false positive risk:
The skill evaluates AWS IaC, AWS CLI output, and configuration exports against CIS AWS Foundations v3.0.0, but the output does not require reviewers to record account, organization, OU, delegated administrator, and Region scope for each evidence source. In a multi-account AWS Organizations environment, a member-account trail, analyzer, or Security Hub export can be useful local evidence but insufficient for organization-wide conclusions. Conversely, an organization trail or centrally managed Security Hub policy may cover accounts where local IaC appears incomplete. Without scope fields, reviewers can either over-report missing controls in member accounts or overclaim organization coverage from a single account export.
Coverage Gaps
Missed variant 1: Organization trail coverage is not separated from member-account trails
Why it should be caught:
AWS CloudTrail supports organization trails that log events for the management account and all member accounts in an AWS Organization. A pass/fail result for CIS logging controls should identify whether the evidence is account-local or organization-wide, which account owns the trail, and which Regions/accounts are covered.
Missed variant 2: IAM Access Analyzer scope is account-level when an organization analyzer is required
Why it should be caught:
CIS 1.20 says Access Analyzer should be enabled for all Regions, but in a multi-account environment the review also needs to distinguish account analyzers from organization analyzers and delegated administrator configuration. An account analyzer in one workload account does not prove organization-level external access or unused-access coverage.
Missed variant 3: Security Hub central configuration and self-managed targets change coverage
Why it should be caught:
AWS Security Hub CSPM central configuration can apply standards and controls to accounts and OUs across linked Regions, but targets can be centrally managed or self-managed. A Security Hub finding export from a delegated administrator is not automatically full-organization evidence unless the report records home Region, linked Regions, configuration policies, target associations, and self-managed exceptions.
Missed variant 4: SCP and delegated-admin boundaries can make source-level IAM findings misleading
{ "Effect": "Allow", "Action": "*", "Resource": "*" }Why it should be caught:
A local IAM policy with broad permissions is still important, but effective risk depends on SCPs, permission boundaries, session policies, resource policies, and delegated admin boundaries. The skill should not mark a broad local allow as fully mitigated by an SCP without evidence, but it should record effective-access constraints so severity reflects the actual blast radius.
Edge Cases
Remediation Quality
Not Evaluable from Single Accountoutcomes when the available evidence cannot prove organization-wide AWS posture.Comparison to Other Tools
Overall Assessment
Strengths:
Needs improvement:
Not Evaluable from Single Account/Not Evaluable from IaC Onlyreason codes.Priority recommendations:
AWS Organization Coveragesection with organization ID, management account, delegated administrators, accounts/OUs reviewed, Regions reviewed, excluded accounts, and evidence source date.Evidence scope,Account/OU/Region,Delegated admin?,Organization-wide?,Coverage denominator, andNot Evaluable reason.Sources Checked
Bounty Info