{"version":"2.1.193","anchor":"workflow-vm-boundary-security","canonical_anchor":"workflow-vm-boundary-security","heading":"Workflow VM Boundary Security","tier":null,"area":null,"scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.193\/e\/workflow-vm-boundary-security","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.193","markdown":"### Workflow VM Boundary Security\n\n**What**\n\nValues crossing the workflow VM boundary now pass through a security-hardened sanitizer that runs inside the VM context itself, protecting against Proxy-based escape attacks.\n\n**Details**\n\n- The sanitizer uses a `WeakSet` for cap-error identity (cannot be faked by an attacker-controlled Proxy whose get-trap returns `true` for any key).\n- Arrays are length-capped at a maximum count; exceeding it throws with \"array length N exceeds the maximum of N supported across the workflow VM boundary.\"\n- Functions on crossed values are stripped to `undefined`.\n- Workflow results cannot be functions; attempting this now throws \"workflow result cannot be a function.\"\n\n**Evidence**\n\nNew in-VM sanitizer (search for `\"workflow VM boundary\"` or `\"workflow result cannot be a function\"`)"}