Sha256: 1bcfe5c6582bb9aa164b580aa05aed5223e30d2cfb7c4262fa594cc2c7339ddc
Contents?: true
Size: 1.47 KB
Versions: 3
Compression:
Stored size: 1.47 KB
Contents
# Copyright (c) 2020 Contrast Security, Inc. See https://www.contrastsecurity.com/enduser-terms-0317a for more details. # frozen_string_literal: true cs__scoped_require 'contrast/components/interface' cs__scoped_require 'contrast/utils/gemfile_reader' cs__scoped_require 'contrast/api/decorators/application_update' module Contrast module Agent # this module handles one time static analysis tasks class StaticAnalysis include Singleton include Contrast::Components::Interface access_component :logging, :analysis, :scope class << self # After the first request is complete, we do a one-time manual catchup to review and # report the already-loaded gems. def catchup @_catchup ||= begin with_contrast_scope do Contrast::Utils::GemfileReader.instance.map_loaded_classes send_inventory_message true end end rescue StandardError => e logger.warn('Unable to run post-initialization static analysis', e) end def send_inventory_message return unless INVENTORY.enabled? app_update_msg = Contrast::Api::Dtm::ApplicationUpdate.build Contrast::Utils::InventoryUtil.append_db_config(app_update_msg) Contrast::Agent.messaging_queue.send_event_eventually(app_update_msg) end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
contrast-agent-3.13.2 | lib/contrast/agent/static_analysis.rb |
contrast-agent-3.13.1 | lib/contrast/agent/static_analysis.rb |
contrast-agent-3.13.0 | lib/contrast/agent/static_analysis.rb |