A method for detecting security vulnerabilities in a web application
includes analyzing the client requests and server responses resulting
therefrom in order to discover pre-defined elements of the application's
interface with external clients and the attributes of these elements. The
client requests are then mutated based on a pre-defined set of mutation
rules to thereby generate exploits unique to the application. The web
application is attacked using the exploits and the results of the attack
are evaluated for anomalous application activity.