1. A method for detecting third party software components in a source file, comprising: receiving a source file containing source code at a server; generating a code signature for the source file, the generating comprising: determining a language of the source file; identifying a list of language reserved keywords and key phrases associated with the programing language; removing from the source file text that does not match a language reserved keyword or key phrase of the identified list; removing from the source file language-specific control characters and control character sequences; replacing each language reserved keyword and key phrase of the source file with a corresponding compact byte representation to produce an encoded sequence; and hashing the encoded sequence to produce the code signature; comparing the generated code signature to signatures stored in a reference database to identify matching third Party software files, the reference database storing a plurality of code signatures corresponding to the third party software files; creating a list of the identified third party software files; and presenting the list of identified third party to a user.