Severity: P3. Confidence: medium. Informational.
Affected files:
providers/aws/services/opensearch/client.go:343
terraform/modules/compute/aws/lambda/main.tf:339-393
cloudformation/stacks/CUDly/template.yaml:437-443
iac/federation/aws-cross-account/cloudformation/template.yaml:104-110
Evidence:
The client calls AddTags post-purchase (best-effort by design); no TF module, CFN stack, or federation template grants the action.
Impact:
The attribution-tagging feature can never work; failure is WARN-logged and the purchase still succeeds, so impact is lost attribution metadata plus recurring warning noise. Related to, but distinct from, the known-issues entry about AWS possibly rejecting RI ARNs in AddTags.
Recommendation:
Add es:AddTags to the OpenSearch statements everywhere, or remove/feature-flag the tagging attempt.
Verifier verdict: unverified - P3, adversarial verification skipped.
Source: docs/reviews/codebase-review-2026-06-10.md (automated multi-dimension code review, adversarially verified for P1/P2)
Findings from the 2026-09-02 codebase audit
Added by an automated audit of 3c0f8ac94048a2c36fce5ccddee54e6c4849a5cd (tip of origin/main). Each item below was reported by one reviewer and independently confirmed by a second that did not write it. Full report: docs/audits/codebase-audit-2026-09-02.md.
A13-023 (low)
A second instance of this exact shape, worth handling in the same sweep. internal/email/sender.go:192 publishes to s.topicARN, sourced from the SNS_TOPIC_ARN environment variable (internal/email/factory.go:77). grep -rn 'sns:' terraform iac returns nothing, so no Terraform module grants sns:Publish to the runtime role, and sns: is also absent from WorkloadServiceCeiling (policy_boundary.tf:160-198), so a boundaried role would be denied even with an identity grant. Two qualifications the OpenSearch case does not have. First, the CloudFormation path is fine: cloudformation/stacks/CUDly/template.yaml:568-573 has an SNSPublish Sid scoped to !Ref NotificationTopic, and the stack creates the topic at :729. Second, this is latent everywhere today, because nothing sets SNS_TOPIC_ARN so SendNotification takes the empty-topic skip path; even the CFN stack sets NOTIFICATION_TOPIC_ARN (:607) against the SNS_TOPIC_ARN the factory reads, so it skips there too. The moment an operator wires module.monitoring.sns_topic_arn in, every notification fails with AccessDenied. Audit finding A13-023.
Severity: P3. Confidence: medium. Informational.
Affected files:
providers/aws/services/opensearch/client.go:343terraform/modules/compute/aws/lambda/main.tf:339-393cloudformation/stacks/CUDly/template.yaml:437-443iac/federation/aws-cross-account/cloudformation/template.yaml:104-110Evidence:
The client calls
AddTagspost-purchase (best-effort by design); no TF module, CFN stack, or federation template grants the action.Impact:
The attribution-tagging feature can never work; failure is WARN-logged and the purchase still succeeds, so impact is lost attribution metadata plus recurring warning noise. Related to, but distinct from, the known-issues entry about AWS possibly rejecting RI ARNs in AddTags.
Recommendation:
Add
es:AddTagsto the OpenSearch statements everywhere, or remove/feature-flag the tagging attempt.Verifier verdict: unverified - P3, adversarial verification skipped.
Source: docs/reviews/codebase-review-2026-06-10.md (automated multi-dimension code review, adversarially verified for P1/P2)
Findings from the 2026-09-02 codebase audit
Added by an automated audit of
3c0f8ac94048a2c36fce5ccddee54e6c4849a5cd(tip oforigin/main). Each item below was reported by one reviewer and independently confirmed by a second that did not write it. Full report:docs/audits/codebase-audit-2026-09-02.md.A13-023 (low)
A second instance of this exact shape, worth handling in the same sweep.
internal/email/sender.go:192publishes tos.topicARN, sourced from theSNS_TOPIC_ARNenvironment variable (internal/email/factory.go:77).grep -rn 'sns:' terraform iacreturns nothing, so no Terraform module grantssns:Publishto the runtime role, andsns:is also absent fromWorkloadServiceCeiling(policy_boundary.tf:160-198), so a boundaried role would be denied even with an identity grant. Two qualifications the OpenSearch case does not have. First, the CloudFormation path is fine: cloudformation/stacks/CUDly/template.yaml:568-573 has anSNSPublishSid scoped to!Ref NotificationTopic, and the stack creates the topic at :729. Second, this is latent everywhere today, because nothing setsSNS_TOPIC_ARNsoSendNotificationtakes the empty-topic skip path; even the CFN stack setsNOTIFICATION_TOPIC_ARN(:607) against theSNS_TOPIC_ARNthe factory reads, so it skips there too. The moment an operator wiresmodule.monitoring.sns_topic_arnin, every notification fails with AccessDenied. Audit finding A13-023.