azure-appsvc-publish-deploy

derived azure emits CanModifyCode

match (effective permission)

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

emit

source typeIdentity
source<principal>
target<Microsoft.Web/sites>
permissionsMicrosoft.Web/sites/publish/action
conditionsservice_state

Narrative

{principal.name} can deploy attacker code to {target.name} (Microsoft.Web/sites/publish/action).

Raw rule rules/derived/azure/appservice.yaml

id: azure-appsvc-publish-deploy
emits: CanModifyCode
match_effective_permission:
  action: Microsoft.Web/sites/publish/action
  scope_type: resource|resourceGroup|subscription
emit:
  source_type: Identity
  source: <principal>
  target: <Microsoft.Web/sites>
  permissions:
  - Microsoft.Web/sites/publish/action
  conditions:
  - service_state
  escalation: ZipDeploy / package publish attacker application code into the app worker.
  false_positive_note: Deployed code runs when the app worker is running; on a stopped app emit CONDITIONAL(service_state)
    and pair with azure-appsvc-start. No app credential is required.
  narrative: '{principal.name} can deploy attacker code to {target.name} (Microsoft.Web/sites/publish/action).'
move · open · esc close