1. A computer-implemented method for sharing a security model with heterogeneous virtual machines (VMs) comprising: making, with a computing device, a direct function call to an object model from each of two or more heterogeneous VMs, each heterogeneous VM using a different programming language and using a direct binding generated for the respective VM based on the respective VM and a security policy, wherein the direct bindings of the two or more heterogeneous VMs share the security policy that restricts access to at least a portion of the object model and wherein each heterogeneous VM has different privileges for interacting with the object model as provided by the shared security policy; and ensuring only one of the two or more heterogeneous VMs interacts with the object model at a time.