{
  "technique_id": "T1480",
  "name": "Execution Guardrails",
  "priority": "low",
  "status": "draft",
  "version": "0.1.0",
  "last_reviewed": "2026-07-23",
  "generated_by": "SOC Response Atlas by Basyrix",
  "tactics": [
    "Stealth"
  ],
  "platforms": [
    "ESXi",
    "Linux",
    "macOS",
    "Windows"
  ],
  "summary": "Adversaries may use execution guardrails to constrain execution or actions based on adversary supplied and environment specific conditions that are expected to be present on the target. Guardrails ensure that a payload only executes against an intended target and reduces collateral damage from an adversary’s campaign...",
  "soc_recommendation": "Investigate Execution Guardrails activity in the context of Stealth: confirm scope, affected host/identity, and whether it matches expected administrative behaviour before deciding this is benign.",
  "d3fend_mappings": [
    {
      "id": "D3-NTA",
      "name": "Network Traffic Analysis",
      "relationship": "detect",
      "practical_action": "Monitor for Network Traffic Analysis indicators relevant to this technique.",
      "tooling": [
        "Sentinel",
        "Defender for Endpoint"
      ]
    }
  ],
  "investigation_steps": {
    "microsoft": [
      "Review Defender for Endpoint / Defender XDR alerts and timeline for the affected host or identity.",
      "Check Sentinel analytics rules and incidents correlated with this technique.",
      "Review Entra ID sign-in and audit logs if the technique involves an identity or cloud resource."
    ],
    "generic": [
      "Confirm whether the observed execution guardrails activity matches expected administrative or application behaviour.",
      "Identify the host, account, or resource where the activity occurred and its business criticality.",
      "Check for related alerts before and after this activity to reconstruct the broader intrusion timeline.",
      "Real detection reference: \"Power Platform - DLP policy updated or removed\" -- Identifies changes to DLP policy, specifically policies which are updated or removed."
    ]
  },
  "evidence_to_collect": [
    "Host or resource affected",
    "Account or identity involved",
    "Timestamp of the activity",
    "Related process, file, or network artifact",
    "Any preceding or follow-on alerts"
  ],
  "response_actions": [
    {
      "name": "Contain the affected host or account",
      "category": "Containment",
      "risk": "Medium",
      "automation_safe": false,
      "approval_required": true,
      "tool": "Defender for Endpoint / Entra ID",
      "notes": "Requires approval -- confirm malicious intent before isolating a host or disabling an account."
    },
    {
      "name": "Collect and preserve evidence",
      "category": "Investigation",
      "risk": "Low",
      "automation_safe": true,
      "approval_required": false,
      "tool": "Defender for Endpoint",
      "notes": "Safe -- read-only evidence collection."
    }
  ],
  "queries": {
    "kql": [
      {
        "name": "1b2e6172-85c5-417a-90c3-7cc80cb787f5 — Power Platform - DLP policy updated or removed",
        "description": "Identifies changes to DLP policy, specifically policies which are updated or removed. (Source: Microsoft's official Azure-Sentinel Detections (MIT licensed).)",
        "query": "let create_policy_ignore_time_window = 10m;\nlet query_frequency = 1h;\nlet dlp_policy_events = PowerPlatformAdminActivity\n    | where TimeGenerated >= ago(query_frequency)\n    | where EventOriginalType == \"GovernanceApiPolicyOperation\"\n    | where PropertyCollection has_any (\"DeleteDlpPolicy\", \"UpdateDlpPolicy\", \"CreateDlpPolicy\")\n    | mv-expand PropertyCollection\n    | extend\n        Name = tostring(PropertyCollection.Name),\n        Value = tostring(PropertyCollection.Value)\n    | summarize Properties = make_bag(bag_pack(Name, Value))\n        by\n        TimeGenerated,\n        EventOriginalUid\n    | extend\n        PolicyName = tostring(Properties['powerplatform.analytics.resource.display_name']),\n        EventType = tostring(Properties['powerplatform.analytics.resource.tenant.governance.api_policy.operation_name']),\n        ActorName = tostring(Properties['enduser.principal_name']),\n        PolicyId = tostring(Properties['powerplatform.analytics.resource.id']),\n        AdditionalInfo = Properties['powerplatform.analytics.resource.tenant.governance.api_policy.additional_resources'];\nlet delete_events = dlp_policy_events\n    | where EventType == \"DeleteDlpPolicy\";\nlet update_events = dlp_policy_events\n    | where EventType == \"UpdateDlpPolicy\";\nlet create_events = dlp_policy_events\n    | where EventType == \"CreateDlpPolicy\"\n    | extend ignore_time = TimeGenerated + create_policy_ignore_time_window;\nunion\n    delete_events,\n    (update_events\n    | join kind=leftouter (\n        create_events\n        | project-away TimeGenerated\n        )\n        on PolicyId\n    | where isempty(ignore_time) or TimeGenerated > ignore_time\n    | project-away ignore_time)\n| where TimeGenerated >= ago(query_frequency)\n| extend\n    AccountName = tostring(split(ActorName, \"@\")[0]),\n    UPNSuffix = tostring(split(ActorName, \"@\")[1])\n| project\n    TimeGenerated,\n    ActorName,\n    EventType,\n    PolicyName,\n    PolicyId,\n    AccountName,\n    UPNSuffix,\n    AdditionalInfo"
      }
    ],
    "spl": [],
    "esql": []
  },
  "automation": {
    "safe": [
      "Add recommendation as Sentinel incident comment.",
      "Run enrichment queries.",
      "Create ServiceNow SecOps task."
    ],
    "approval_required": [
      "Contain or disable the affected host/account.",
      "Any change to production configuration."
    ]
  },
  "escalation_criteria": [
    "Execution Guardrails activity observed on a privileged account or critical system.",
    "Activity follows or precedes other suspicious behaviour in the same investigation.",
    "Automated triage cannot confidently rule out malicious intent."
  ],
  "false_positive_considerations": [
    "Legitimate administrative or maintenance activity matching this pattern.",
    "Approved security testing or red team exercise.",
    "Known benign software producing similar telemetry."
  ],
  "confluence": {
    "title": "T1480 - Execution Guardrails Response Guidance",
    "labels": [
      "mitre",
      "attack",
      "d3fend",
      "secops",
      "basyrix"
    ],
    "sections": [
      "summary",
      "d3fend_mappings",
      "investigation_steps",
      "response_actions",
      "queries",
      "automation",
      "escalation_criteria",
      "false_positive_considerations"
    ]
  }
}