azure-appsvc-config-list

derived azure emits CanReadSecret

match (effective permission)

{ "action": "Microsoft.Web/sites/config/list/action", "scope_type": "resource|resourceGroup|subscription" }

emit

source<principal>
target<app settings + connection strings of the site>
permissionsMicrosoft.Web/sites/config/list/action

Narrative

{principal.name} can list app settings and connection strings of {target.name} in cleartext (config/list/action).

Raw rule rules/derived/azure/appservice.yaml

id: azure-appsvc-config-list
emits: CanReadSecret
match_effective_permission:
  action: Microsoft.Web/sites/config/list/action
  scope_type: resource|resourceGroup|subscription
emit:
  source: <principal>
  target: <app settings + connection strings of the site>
  permissions:
  - Microsoft.Web/sites/config/list/action
  note: Returns app settings and connection strings in cleartext (DB/Storage/Service Bus creds, Key Vault
    reference targets). The companion credential-exposure fact is emitted by azure-appsvc-config-list-exposescred
    (ExposesCredential).
  false_positive_note: config/list/action is NOT in Website Contributor; do not infer it from sites/write.
    Key Vault references resolve to a reference string, not the secret, unless already resolved.
  narrative: '{principal.name} can list app settings and connection strings of {target.name} in cleartext
    (config/list/action).'
move · open · esc close