Module: Datadog::AppSec
- Defined in:
- lib/datadog/appsec.rb,
lib/datadog/appsec/ext.rb,
lib/datadog/appsec/event.rb,
lib/datadog/appsec/utils.rb,
lib/datadog/appsec/assets.rb,
lib/datadog/appsec/remote.rb,
lib/datadog/appsec/context.rb,
lib/datadog/appsec/metrics.rb,
lib/datadog/appsec/monitor.rb,
lib/datadog/appsec/response.rb,
lib/datadog/appsec/component.rb,
lib/datadog/appsec/anonymizer.rb,
lib/datadog/appsec/extensions.rb,
lib/datadog/appsec/utils/http.rb,
lib/datadog/appsec/sample_rate.rb,
lib/datadog/appsec/api_security.rb,
lib/datadog/appsec/rate_limiter.rb,
lib/datadog/appsec/trace_keeper.rb,
lib/datadog/appsec/configuration.rb,
lib/datadog/appsec/security_event.rb,
lib/datadog/appsec/actions_handler.rb,
lib/datadog/appsec/compressed_json.rb,
lib/datadog/appsec/instrumentation.rb,
lib/datadog/appsec/security_engine.rb,
lib/datadog/appsec/thread_safe_ref.rb,
lib/datadog/appsec/contrib/rack/ext.rb,
lib/datadog/appsec/metrics/exporter.rb,
lib/datadog/appsec/contrib/rails/ext.rb,
lib/datadog/appsec/metrics/collector.rb,
lib/datadog/appsec/metrics/telemetry.rb,
lib/datadog/appsec/contrib/devise/ext.rb,
lib/datadog/appsec/contrib/integration.rb,
lib/datadog/appsec/utils/hash_coercion.rb,
lib/datadog/appsec/api_security/sampler.rb,
lib/datadog/appsec/contrib/rack/patcher.rb,
lib/datadog/appsec/contrib/excon/patcher.rb,
lib/datadog/appsec/contrib/rails/patcher.rb,
lib/datadog/appsec/contrib/rails/request.rb,
lib/datadog/appsec/processor/rule_loader.rb,
lib/datadog/appsec/utils/http/media_type.rb,
lib/datadog/appsec/configuration/settings.rb,
lib/datadog/appsec/contrib/devise/patcher.rb,
lib/datadog/appsec/security_engine/engine.rb,
lib/datadog/appsec/security_engine/result.rb,
lib/datadog/appsec/security_engine/runner.rb,
lib/datadog/appsec/utils/http/media_range.rb,
lib/datadog/appsec/contrib/auto_instrument.rb,
lib/datadog/appsec/contrib/faraday/patcher.rb,
lib/datadog/appsec/contrib/graphql/patcher.rb,
lib/datadog/appsec/contrib/rails/framework.rb,
lib/datadog/appsec/contrib/sinatra/patcher.rb,
lib/datadog/appsec/instrumentation/gateway.rb,
lib/datadog/appsec/monitor/gateway/watcher.rb,
lib/datadog/appsec/contrib/rack/integration.rb,
lib/datadog/appsec/contrib/excon/integration.rb,
lib/datadog/appsec/contrib/rails/integration.rb,
lib/datadog/appsec/contrib/sinatra/framework.rb,
lib/datadog/appsec/contrib/devise/integration.rb,
lib/datadog/appsec/metrics/telemetry_exporter.rb,
lib/datadog/appsec/contrib/faraday/integration.rb,
lib/datadog/appsec/contrib/graphql/integration.rb,
lib/datadog/appsec/contrib/rest_client/patcher.rb,
lib/datadog/appsec/contrib/sinatra/integration.rb,
lib/datadog/appsec/api_security/route_extractor.rb,
lib/datadog/appsec/contrib/devise/configuration.rb,
lib/datadog/appsec/contrib/graphql/appsec_trace.rb,
lib/datadog/appsec/contrib/rack/gateway/request.rb,
lib/datadog/appsec/contrib/rack/gateway/watcher.rb,
lib/datadog/appsec/contrib/active_record/patcher.rb,
lib/datadog/appsec/contrib/devise/data_extractor.rb,
lib/datadog/appsec/contrib/rack/gateway/response.rb,
lib/datadog/appsec/contrib/rails/gateway/request.rb,
lib/datadog/appsec/contrib/rails/gateway/watcher.rb,
lib/datadog/appsec/contrib/graphql/gateway/watcher.rb,
lib/datadog/appsec/contrib/rack/request_middleware.rb,
lib/datadog/appsec/contrib/rest_client/integration.rb,
lib/datadog/appsec/contrib/sinatra/gateway/request.rb,
lib/datadog/appsec/contrib/sinatra/gateway/watcher.rb,
lib/datadog/appsec/api_security/endpoint_collection.rb,
lib/datadog/appsec/contrib/faraday/connection_patch.rb,
lib/datadog/appsec/contrib/rails/request_middleware.rb,
lib/datadog/appsec/instrumentation/gateway/argument.rb,
lib/datadog/appsec/contrib/active_record/integration.rb,
lib/datadog/appsec/contrib/graphql/gateway/multiplex.rb,
lib/datadog/appsec/contrib/devise/tracking_middleware.rb,
lib/datadog/appsec/contrib/faraday/rack_builder_patch.rb,
lib/datadog/appsec/contrib/sinatra/patches/json_patch.rb,
lib/datadog/appsec/contrib/sinatra/request_middleware.rb,
lib/datadog/appsec/instrumentation/gateway/middleware.rb,
lib/datadog/appsec/contrib/rack/request_body_middleware.rb,
lib/datadog/appsec/contrib/sinatra/gateway/route_params.rb,
lib/datadog/appsec/contrib/active_record/instrumentation.rb,
lib/datadog/appsec/actions_handler/serializable_backtrace.rb,
lib/datadog/appsec/contrib/excon/ssrf_detection_middleware.rb,
lib/datadog/appsec/contrib/faraday/ssrf_detection_middleware.rb,
lib/datadog/appsec/contrib/rails/patches/process_action_patch.rb,
lib/datadog/appsec/contrib/rails/patches/render_to_body_patch.rb,
lib/datadog/appsec/contrib/devise/patches/signin_tracking_patch.rb,
lib/datadog/appsec/contrib/devise/patches/signup_tracking_patch.rb,
lib/datadog/appsec/api_security/endpoint_collection/rails_collector.rb,
lib/datadog/appsec/contrib/rest_client/request_ssrf_detection_patch.rb,
lib/datadog/appsec/contrib/devise/patches/skip_signin_tracking_patch.rb,
lib/datadog/appsec/api_security/endpoint_collection/grape_route_serializer.rb,
lib/datadog/appsec/api_security/endpoint_collection/rails_route_serializer.rb,
lib/datadog/appsec/api_security/endpoint_collection/sinatra_route_serializer.rb
Overview
Namespace for Datadog AppSec instrumentation
Defined Under Namespace
Modules: APISecurity, ActionsHandler, Anonymizer, Assets, CompressedJson, Configuration, Contrib, Event, Ext, Extensions, Instrumentation, Metrics, Monitor, Remote, SecurityEngine, TraceKeeper, Utils
Classes: Component, Context, Processor, RateLimiter, Response, SampleRate, SecurityEvent, ThreadSafeRef
Class Method Summary
collapse
Class Method Details
.active_context ⇒ Object
21
22
23
|
# File 'lib/datadog/appsec.rb', line 21
def active_context
Datadog::AppSec::Context.active
end
|
.enabled? ⇒ Boolean
13
14
15
|
# File 'lib/datadog/appsec.rb', line 13
def enabled?
Datadog.configuration.appsec.enabled
end
|
43
44
45
46
|
# File 'lib/datadog/appsec.rb', line 43
def perform_api_security_check?
Datadog.configuration.appsec.api_security.enabled &&
Datadog.configuration.appsec.api_security.sample_rate.sample?
end
|
.rasp_enabled? ⇒ Boolean
17
18
19
|
# File 'lib/datadog/appsec.rb', line 17
def rasp_enabled?
Datadog.configuration.appsec.rasp_enabled
end
|
39
40
41
|
# File 'lib/datadog/appsec.rb', line 39
def reconfigure!
components.appsec&.reconfigure!
end
|
.security_engine ⇒ Object
35
36
37
|
# File 'lib/datadog/appsec.rb', line 35
def security_engine
components.appsec&.security_engine
end
|
.telemetry ⇒ Object
NOTE: This is a temporary workaround for type checking.
We want to move from possible nil-component to the disabled-component
on an initialization error. Technically, telemetry will be never
used if AppSec was not able to initialize, so it's safe to assume
that telemetry will never be used and will be nil at the same time.
31
32
33
|
# File 'lib/datadog/appsec.rb', line 31
def telemetry
components.appsec&.telemetry || components.telemetry
end
|