{
  "model_id": "SOC.009",
  "name": "Webroot Write Webshell",
  "description": "File written under web document root — highest-signal webshell indicator.",
  "threshold": 0.7,
  "evaluations": [
    {
      "name": "WebWrite",
      "type": "comparison",
      "left": "event.type",
      "operator": "==",
      "right": "file.webroot.write",
      "weight": 5
    },
    {
      "name": "Path",
      "type": "logical",
      "operator": "OR",
      "operands": [
        "VarWww",
        "Srv"
      ],
      "weight": 3
    },
    {
      "name": "Logic",
      "type": "logical",
      "operator": "AND",
      "operands": [
        "WebWrite",
        "Path"
      ],
      "weight": 5
    },
    {
      "name": "VarWww",
      "type": "comparison",
      "left": "event.raw.path",
      "operator": "LIKE",
      "right": "/var/www/%",
      "weight": 4
    },
    {
      "name": "Srv",
      "type": "comparison",
      "left": "event.raw.path",
      "operator": "LIKE",
      "right": "/srv/%",
      "weight": 3
    }
  ],
  "actions": [
    {
      "type": "emit_alert",
      "reason": "Webshell indicator: write to webroot {event.raw.path}."
    },
    {
      "type": "enqueue_evidence",
      "reason": "Capture file + access logs."
    }
  ],
  "mitre_tactics": [
    "Persistence",
    "Initial Access"
  ],
  "mitre_techniques": [
    "T1505.003",
    "T1190"
  ],
  "severity": "high",
  "observables": [
    "event.raw.path"
  ]
}
