4. A system implementing a moving target defense against cross-site scripting, the system comprising: a network interface communicatively coupled to a network; a data store storing N versions of a web page each with a mutated version of JavaScript; a processor communicatively coupled to the network interface and the data store; and memory storing instructions that, when executed, cause the processor to: create the N versions of a web page, mutated off-line to avoid run time penalties, by changing only one or more lexical tokens that are a left parenthesis and assignment operator which are used to manipulate behavior or state within JavaScript to provide a mutated version of JavaScript, with the one or more lexical tokens selected based on use in malicious JavaScript attacks; receive a request for the web page from the network interface; select one of the N versions, wherein the web page is randomly reselected and replaced every M minutes; send an indication of the mutated version of JavaScript associated with one of the N versions in response to the request; and receive an indication of a violation including JavaScript not conforming to the mutated version of JavaScript associated with the selected web page, wherein the indication includes a page on which the violation occurred, the page's referrer, a resource that violated the page's policy, and a specific directive of the violation.
4. A system implementing a moving target defense against cross-site scripting, the system comprising: a network interface communicatively coupled to a network; a data store storing N versions of a web page each with a mutated version of JavaScript; a processor communicatively coupled to the network interface and the data store; and memory storing instructions that, when executed, cause the processor to: create the N versions of a web page, mutated off-line to avoid run time penalties, by changing only one or more lexical tokens that are a left parenthesis and assignment operator which are used to manipulate behavior or state within JavaScript to provide a mutated version of JavaScript, with the one or more lexical tokens selected based on use in malicious JavaScript attacks; receive a request for the web page from the network interface; select one of the N versions, wherein the web page is randomly reselected and replaced every M minutes; send an indication of the mutated version of JavaScript associated with one of the N versions in response to the request; and receive an indication of a violation including JavaScript not conforming to the mutated version of JavaScript associated with the selected web page, wherein the indication includes a page on which the violation occurred, the page's referrer, a resource that violated the page's policy, and a specific directive of the violation. 5. The system of claim 4 , further comprising: a load balancer configured to assist in selecting the one of the N versions.