For a work project, I wrote a library in perl that can be used to query the NVD feed that NIST publishes here:
http://nvd.nist.gov/download.cfm
Here’s a snippit from the perldoc:
use NIST::NVD::Query; # use convert_nvdcve to generate these files from the XML dumps at # http://nvd.nist.gov/download.cfm my( $path_to_db, $path_to_idx_cpe ) = @ARGV; my $q = NIST::NVD::Query->new( database => $path_to_db, idx_cpe => $path_to_idx_cpe, ); # Given a Common Platform Enumeration urn, returns a list of known # CVE IDs my $cve_id_list = $q->cve_for_cpe( cpe => 'cpe:/a:zaal:tgt:1.0.6' ); my @entry; foreach my $cve_id ( @$cve_id_list ){ # Given a CVE ID, returns a CVE entry my $entry = $q->cve( cve_id => $cve_id ); push( @entry, $entry ); print $entry->{'vuln:summary'}; }