1. A method for determining whether a composite security vulnerability based on a plurality of vulnerabilities exists in a code, the method comprising performing by a processor the steps of: (a) classifying a set of detected vulnerabilities associated with a code into a plurality of classes; (b) selecting a vulnerability pattern comprising at least a first reference vulnerability and a second reference vulnerability; (c) performing a first test to determine whether a first class comprises a first individual vulnerability matching the first reference vulnerability; (d) performing a second test to determine whether a second class comprises a second individual vulnerability matching the second reference vulnerability; and (e) identifying, based at least on results of the first and second tests, a composite security vulnerability that corresponds to the selected vulnerability pattern and that is based on the first and second individual vulnerabilities.