1. A method of characterizing vulnerabilities of application source code, comprising one or more computer processors performing steps comprising: traversing a representation of the application source code, the representation of the application source code comprising an abstract syntax tree of the application source code; identifying a potentially vulnerable node during traversal of the representation of the application source code; collecting metadata of the potentially vulnerable node, the metadata comprising one or more parent or child nodes associated with the potentially vulnerable node; generating a signature of the potentially vulnerable node, the signature comprising a value of a hash function on the metadata of the potentially vulnerable node; and determining characteristics of a potential vulnerability associated with the potentially vulnerable node, based on a correlation between the generated signature of the potentially vulnerable node and previously stored signatures of potentially vulnerable nodes.