internet_exposure¶
Category graph · sensitivity confidential · capabilities read_state · readOnly true, destructive false, idempotent true, openWorld false · outputSchema no · timeout: layer default (300 s)
Assets whose collector flag says they are internet-exposed, each with the evidence. internet_rules lists (up to 10) ingress edges whose source or CIDR stands for the internet (0.0.0.0/0, ::/0, Azure Internet, Any, *) that reach the asset directly or through a security group or NSG attached to it; egress rules are skipped: edge_type, ports (the port range, else up to 10 explicit ports, else all), protocol, and via (the group's name, or the edge description). sensitive_ports_open is the intersection of those ports with 22, 3389, 3306, 5432, 1433, 27017, 6379, 9200, 5601, 8080 and 8443. protected_by_waf is true when a PROTECTS edge points at the asset.
| Argument | Type | Default | Constraints | Description |
|---|---|---|---|---|
asset_types |
string[] or null | null |
Only these AssetType values. | |
include_reachable |
boolean | false |
Also list assets transitively reachable from the internet in the graph. | |
limit |
integer | 50 |
1..500 | Maximum items to return. |
cursor |
string | "" |
Opaque cursor from a previous call's next_cursor; empty = first page. | |
dataset |
string | "" |
Dataset name (see list_datasets). Empty = the active dataset. |
With include_reachable: true the result adds graph_reachable: the assets the reachability analysis reaches from the internet over network-flow edges (total, truncated and the first limit node briefs, sorted by id). IAM grants and INVOKES edges are not followed, but the walk passes security groups, subnets and load balancers, so the set is wider than the flagged one.
Called with the arguments below, internet_exposure returned this structuredContent.
{
"dataset": "sample",
"total": 6,
"offset": 0,
"returned": 3,
"next_cursor": "c3.a2a0bceed308",
"truncated": true,
"items": [
{
"id": "bastion",
"name": "bastion",
"type": "EC2",
"provider": "AWS",
"region": "us-east-1",
"account_id": "111111111111",
"arn": "arn:aws:ec2:us-east-1:111111111111:instance/i-0bast",
"internet_exposed": true,
"open_findings": 1,
"max_severity": "HIGH",
"uri": "cloudg://assets/bastion",
"internet_rules": [
{
"edge_type": "SECURITY_GROUP_RULE",
"ports": "22",
"protocol": "TCP",
"via": "sg-admin"
}
],
"sensitive_ports_open": [
22
],
"protected_by_waf": false
},
{
"id": "az-vm",
"name": "jump-vm",
"type": "VIRTUAL_MACHINE",
"provider": "AZURE",
"region": "westeurope",
"account_id": "00000000-aaaa-bbbb-cccc-000000000001",
"arn": "/subscriptions/00000000-aaaa-bbbb-cccc-000000000001/resourceGroups/rg-hub/providers/Microsoft.Compute/virtualMachines/jump-vm",
"internet_exposed": true,
"open_findings": 0,
"max_severity": null,
"uri": "cloudg://assets/az-vm",
"internet_rules": [
{
"edge_type": "SECURITY_GROUP_RULE",
"ports": "3389",
"protocol": "TCP",
"via": "jump-nsg"
}
],
"sensitive_ports_open": [
3389
],
"protected_by_waf": false
},
"... 1 more"
]
}
Called with the arguments below, internet_exposure returned this structuredContent.
{
"dataset": "sample",
"total": 1,
"offset": 0,
"returned": 1,
"next_cursor": null,
"truncated": false,
"items": [
{
"id": "logs-bucket",
"name": "prod-logs",
"type": "S3_BUCKET",
"provider": "AWS",
"region": "us-east-1",
"account_id": "111111111111",
"arn": "arn:aws:s3:::prod-logs",
"internet_exposed": true,
"open_findings": 1,
"max_severity": "HIGH",
"uri": "cloudg://assets/logs-bucket",
"internet_rules": [
{
"edge_type": "INTERNET_EXPOSED",
"ports": "all",
"protocol": null,
"via": "bucket policy Principal *"
}
],
"sensitive_ports_open": [],
"protected_by_waf": false
}
],
"graph_reachable": {
"total": 12,
"truncated": true,
"items": [
{
"id": "alb-web",
"name": "web-alb",
"type": "LOAD_BALANCER",
"provider": "AWS",
"region": "us-east-1",
"account_id": "111111111111",
"arn": "arn:aws:elasticloadbalancing:us-east-1:111111111111:loadbalancer/app/web-alb/abc",
"internet_exposed": true,
"open_findings": 0,
"max_severity": null,
"uri": "cloudg://assets/alb-web"
},
{
"id": "api-gw",
"name": "public-api",
"type": "API_GATEWAY",
"provider": "AWS",
"region": "us-east-1",
"account_id": "111111111111",
"arn": "arn:aws:apigateway:us-east-1::/restapis/a1b2c3",
"internet_exposed": true,
"open_findings": 0,
"max_severity": null,
"uri": "cloudg://assets/api-gw"
},
"... 1 more"
]
}
}
Related: get_edges(internet_only=true, port=...), attack_paths, security_coverage (internet_facing_without_waf).