Topic
SNS/Service Bus topic/Pub/Sub topic.
class: Messaging
Realizing resources
aws aws
| resource | scope | enumerate | required permissions |
|---|---|---|---|
aws:sns:topic |
regional | sns:ListTopics |
sns:ListTopics |
gcp gcp
| resource | scope | enumerate | required permissions |
|---|---|---|---|
gcp:pubsub:topic |
global | pubsub.projects.topics.list |
pubsub.topics.list |
azure azure
| resource | scope | enumerate | required permissions |
|---|---|---|---|
azure:eventgrid:topic |
global | arg:microsoft.eventgrid/topics |
Microsoft.EventGrid/topics/read |
azure:notificationhubs:namespace |
global | arg:microsoft.notificationhubs/namespaces |
Microsoft.NotificationHubs/namespaces/read |
As edge source
As edge target
Exposure sites
aws-accessanalyzer-finding-details-metadataaws-appflow-flow-data-destinationaws-athena-query-result-rowsaws-backup-recovery-point-restored-contentaws-bedrock-runtime-prompt-response-payloadaws-cloudfront-key-value-store-valueaws-cloudtrail-event-data-store-query-resultsaws-cloudtrail-event-request-response-payload
Rules that touch Topic 19
A firing EventBridge rule invokes its configured target (Lambda, Step Functions, ECS, SQS, another bus, etc.) with the event payload.
aws
CanTriggersns:Subscribe lets an attacker create a new subscription (EventRule binding) on the topic, routing future publishes to a chosen Lambda or SQS endpoint.
aws
CanSchedulesns:SetTopicAttributes can modify topic configuration including KmsMasterKeyId (SSE), DeliveryPolicy, SignatureVersion, etc., enabling data-exposure and delivery attacks.
sns:SetTopicAttributes (Policy attribute) or sns:AddPermission rewrites or extends the SNS topic access policy, enabling self-grant of Publish/Subscribe or cross-account trust.
aws
CanModifyPolicyA principal with effective sns:Publish on an SNS topic can send messages to it, potentially triggering all bound subscribers.
aws
CanWriteDatasns:Subscribe lets an attacker add their own endpoint as a subscriber and receive all messages published to the topic, including embedded secrets.
aws
CanReadDataA confirmed active SNS subscription binds the topic to its consumer; every Publish invokes the consumer with the message payload.
aws
CanTriggerAn SNS topic without a DataProtectionPolicy may carry messages embedding secrets; any subscriber can read them (POTENTIAL - content heuristic, not confirmed).
aws
ContainsSecretAn SNS topic access policy granting sns:Publish to Principal '*' is internet-accessible - anyone can publish and trigger all subscribers.
A Service Bus topic with active entity-level SAS authorization rules embeds topic-scoped connection-string credentials usable at data-plane without Entra RBAC.
azure
ContainsSecretA confirmed event-source binding from a Service Bus topic subscription to a compute consumer - fan-out trigger fact.
azure
CanTriggerA principal with pubsub.topics.publish on a trigger's configured Pub/Sub topic can fire that trigger, potentially executing code as the trigger's SA.
gcp
CanTriggerA Cloud Scheduler Pub/Sub job targeting a topic in a different project establishes cross-project trust - the Cloud Scheduler service agent must hold roles/pubsub.publisher in the external project.
The Eventarc-managed Pub/Sub transport topic backs the trigger's event delivery - connects Topic node to EventRule node for the two-hop chain.
gcp
CanTriggerpubsub.topics.publish on the Eventarc-managed transport Pub/Sub topic lets an attacker inject crafted CloudEvent messages directly into the Eventarc delivery pipeline, bypassing the standard source adapter.
gcp
CanWriteDataPublishing to an Eventarc-managed Pub/Sub transport topic directly triggers the bound destination consumer - collapses the Topic → EventRule → Compute chain into a single CanTrigger(Topic → Compute) for messaging-chains rule 1.
gcp
CanTriggerpubsub.topics.publish on a topic is the data-plane publish action; the principal can send attacker-influenced messages that drive push-subscription consumers. Consumed by messaging-chains as CanWriteData(principal → topic).
gcp
CanWriteDatapubsub.topics.setIamPolicy allows rewriting the topic IAM policy, enabling self-grant of pubsub.topics.publish and the downstream trigger chain.
gcp
CanModifyPolicyallUsers or allAuthenticatedUsers granted pubsub.topics.publish on a topic makes it publicly writable; any internet caller can trigger bound push-subscription consumers via messaging-chains without project credentials.