14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
# File 'lib/newrelic_security/agent/configuration/manager.rb', line 14
def initialize
@cache = Hash.new
@cache[:agent_run_id] = ::NewRelic::Agent.agent.service.agent_id
@cache[:linking_metadata] = ::NewRelic::Agent.linking_metadata
@cache[:app_name] = ::NewRelic::Agent.config[:app_name][0]
@cache[:entity_guid] = ::NewRelic::Agent.config[:entity_guid]
@cache[:license_key] = ::NewRelic::Agent.config[:license_key]
@cache[:policy] = Hash.new
@cache[:account_id] = nil
@cache[:application_id] = nil
@cache[:primary_application_id] = nil
@cache[:log_file_path] = ::NewRelic::Agent.config[:log_file_path]
@cache[:fuzz_dir_path] = ::File.join(::File.absolute_path(::NewRelic::Agent.config[:log_file_path]), SEC_HOME_PATH, TMP_DIR)
@cache[:log_level] = ::NewRelic::Agent.config[:log_level]
@cache[:high_security] = ::NewRelic::Agent.config[:high_security]
@cache[:'agent.enabled'] = ::NewRelic::Agent.config[:'security.agent.enabled']
@cache[:'security.enabled'] = ::NewRelic::Agent.config[:'security.enabled']
@cache[:enabled] = false
@cache[:mode] = ::NewRelic::Agent.config[:'security.mode']
@cache[:validator_service_url] = ::NewRelic::Agent.config[:'security.validator_service_url']
@cache[:'security.detection.rci.enabled'] = ::NewRelic::Agent.config[:'security.detection.rci.enabled'].nil? ? true : ::NewRelic::Agent.config[:'security.detection.rci.enabled']
@cache[:'security.detection.rxss.enabled'] = ::NewRelic::Agent.config[:'security.detection.rxss.enabled'].nil? ? true : ::NewRelic::Agent.config[:'security.detection.rxss.enabled']
@cache[:'security.detection.deserialization.enabled'] = ::NewRelic::Agent.config[:'security.detection.deserialization.enabled'].nil? ? true : ::NewRelic::Agent.config[:'security.detection.deserialization.enabled']
@cache[:'security.scan_controllers.iast_scan_request_rate_limit'] = ::NewRelic::Agent.config[:'security.scan_controllers.iast_scan_request_rate_limit'].to_i
@cache[:framework] = detect_framework
@cache[:app_class] = detect_app_class if @cache[:framework] == :rack
@cache[:'security.application_info.port'] = ::NewRelic::Agent.config[:'security.application_info.port'].to_i
@cache[:listen_port] = nil
@cache[:process_start_time] = current_time_millis @cache[:traffic_start_time] = nil
@cache[:scan_start_time] = nil
@cache[:'security.scan_controllers.scan_instance_count'] = ::NewRelic::Agent.config[:'security.scan_controllers.scan_instance_count']
@cache[:'security.iast_test_identifier'] = ::NewRelic::Agent.config[:'security.iast_test_identifier']
@cache[:app_root] = NewRelic::Security::Agent::Utils.app_root
@cache[:jruby_objectspace_enabled] = false
@cache[:json_version] = :'1.2.9'
@cache[:'security.exclude_from_iast_scan.api'] = convert_to_regexp_list(::NewRelic::Agent.config[:'security.exclude_from_iast_scan.api'])
@cache[:'security.exclude_from_iast_scan.http_request_parameters.header'] = ::NewRelic::Agent.config[:'security.exclude_from_iast_scan.http_request_parameters.header']
@cache[:'security.exclude_from_iast_scan.http_request_parameters.query'] = ::NewRelic::Agent.config[:'security.exclude_from_iast_scan.http_request_parameters.query']
@cache[:'security.exclude_from_iast_scan.http_request_parameters.body'] = ::NewRelic::Agent.config[:'security.exclude_from_iast_scan.http_request_parameters.body']
@cache[:'security.exclude_from_iast_scan.iast_detection_category.insecure_settings'] = ::NewRelic::Agent.config[:'security.exclude_from_iast_scan.iast_detection_category.insecure_settings']
@cache[:'security.exclude_from_iast_scan.iast_detection_category.invalid_file_access'] = ::NewRelic::Agent.config[:'security.exclude_from_iast_scan.iast_detection_category.invalid_file_access']
@cache[:'security.exclude_from_iast_scan.iast_detection_category.sql_injection'] = ::NewRelic::Agent.config[:'security.exclude_from_iast_scan.iast_detection_category.sql_injection']
@cache[:'security.exclude_from_iast_scan.iast_detection_category.nosql_injection'] = ::NewRelic::Agent.config[:'security.exclude_from_iast_scan.iast_detection_category.nosql_injection']
@cache[:'security.exclude_from_iast_scan.iast_detection_category.ldap_injection'] = ::NewRelic::Agent.config[:'security.exclude_from_iast_scan.iast_detection_category.ldap_injection']
@cache[:'security.exclude_from_iast_scan.iast_detection_category.javascript_injection'] = ::NewRelic::Agent.config[:'security.exclude_from_iast_scan.iast_detection_category.javascript_injection']
@cache[:'security.exclude_from_iast_scan.iast_detection_category.command_injection'] = ::NewRelic::Agent.config[:'security.exclude_from_iast_scan.iast_detection_category.command_injection']
@cache[:'security.exclude_from_iast_scan.iast_detection_category.xpath_injection'] = ::NewRelic::Agent.config[:'security.exclude_from_iast_scan.iast_detection_category.xpath_injection']
@cache[:'security.exclude_from_iast_scan.iast_detection_category.ssrf'] = ::NewRelic::Agent.config[:'security.exclude_from_iast_scan.iast_detection_category.ssrf']
@cache[:'security.exclude_from_iast_scan.iast_detection_category.rxss'] = ::NewRelic::Agent.config[:'security.exclude_from_iast_scan.iast_detection_category.rxss']
@cache[:'security.scan_schedule.delay'] = ::NewRelic::Agent.config[:'security.scan_schedule.delay'].to_i
@cache[:'security.scan_schedule.duration'] = ::NewRelic::Agent.config[:'security.scan_schedule.duration'].to_i
@cache[:'security.scan_schedule.schedule'] = ::NewRelic::Agent.config[:'security.scan_schedule.schedule']
@cache[:'security.scan_schedule.always_sample_traces'] = ::NewRelic::Agent.config[:'security.scan_schedule.always_sample_traces']
@environment_source = NewRelic::Security::Agent::Configuration::EnvironmentSource.new
@server_source = NewRelic::Security::Agent::Configuration::ServerSource.new
@manual_source = NewRelic::Security::Agent::Configuration::ManualSource.new
@yaml_source = NewRelic::Security::Agent::Configuration::YamlSource.new
@default_source = NewRelic::Security::Agent::Configuration::DefaultSource.new
rescue Exception => exception
::NewRelic::Agent.notice_error(exception)
end
|