Module: Msf::DBManager::VulnDetail
- Included in:
- Msf::DBManager
- Defined in:
- lib/msf/core/db_manager/vuln_detail.rb
Instance Method Summary collapse
-
#report_vuln_details(vuln, details) ⇒ Object
Populate the vuln_details table with additional information, matched by a specific criteria.
-
#update_vuln_details(details) ⇒ Object
Update vuln_details records en-masse based on specific criteria Note that this can update data across workspaces.
Instance Method Details
#report_vuln_details(vuln, details) ⇒ Object
Populate the vuln_details table with additional information, matched by a specific criteria
6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/msf/core/db_manager/vuln_detail.rb', line 6 def report_vuln_details(vuln, details) ::ApplicationRecord.connection_pool.with_connection { detail = ::Mdm::VulnDetail.where(( details.delete(:key) || {} ).merge(:vuln_id => vuln.id)).first if detail details.each_pair do |k,v| detail[k] = v end detail.save! if detail.changed? detail else detail = ::Mdm::VulnDetail.create(details.merge(:vuln_id => vuln.id)) end } end |
#update_vuln_details(details) ⇒ Object
Update vuln_details records en-masse based on specific criteria Note that this can update data across workspaces
25 26 27 28 29 30 31 32 |
# File 'lib/msf/core/db_manager/vuln_detail.rb', line 25 def update_vuln_details(details) ::ApplicationRecord.connection_pool.with_connection { criteria = details.delete(:key) || {} vuln_detail = ::Mdm::VulnDetail.find(key) vuln_detail.update!(criteria) return vuln_detail } end |