Sha256: e2fb765fc3c36c0a5f39d194a1cab042bad39e01a350957005f6fa69ec713695
Contents?: true
Size: 1.43 KB
Versions: 16
Compression:
Stored size: 1.43 KB
Contents
module Dradis::Plugins::Vulndb::Filters class FullTextSearch < Dradis::Plugins::Import::Filters::Base def query(params={}) results = [] # In case the user has changed the vulndb:rest_url setting we re-read # it every time rest_url = URI::parse(Dradis::Plugins::Vulndb::Engine::settings.hq_rest_url) client = ::VulnDBHQ::client client.host = "https://#{rest_url.host}" client.user = CGI::unescape(rest_url.user) client.password = CGI::unescape(rest_url.password) begin results += client.private_pages(q: params[:query]).collect do |page| Dradis::Plugins::Import::Result.new( description: page.content.dup, title: "[pri] #{page.name}", tags: ["!f89406_private"] ) end results += client.public_pages(:q => params[:query]).collect do |page| Dradis::Plugins::Import::Result.new( description: page.content.dup, title: "[pub] #{page.name}", tags: ['!468847_public'] ) end rescue Exception => e results << Dradis::Plugins::Import::Result.new( title: 'Error fetching records', description: e.message ) end return results end end end Dradis::Plugins::Import::Filters.add :vulndb, :full_text_search, Dradis::Plugins::Vulndb::Filters::FullTextSearch
Version data entries
16 entries across 16 versions & 1 rubygems