dd-trace 5.81.0 → 5.82.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.d.ts +7 -0
- package/loader-hook.mjs +7 -2
- package/package.json +13 -18
- package/packages/datadog-core/src/utils/src/parse-tags.js +1 -1
- package/packages/datadog-esbuild/index.js +8 -7
- package/packages/datadog-esbuild/src/utils.js +14 -2
- package/packages/datadog-instrumentations/src/aerospike.js +3 -2
- package/packages/datadog-instrumentations/src/ai.js +2 -2
- package/packages/datadog-instrumentations/src/amqp10.js +1 -1
- package/packages/datadog-instrumentations/src/amqplib.js +4 -4
- package/packages/datadog-instrumentations/src/anthropic.js +2 -2
- package/packages/datadog-instrumentations/src/apollo-server-core.js +2 -2
- package/packages/datadog-instrumentations/src/apollo-server.js +1 -1
- package/packages/datadog-instrumentations/src/apollo.js +3 -2
- package/packages/datadog-instrumentations/src/avsc.js +1 -1
- package/packages/datadog-instrumentations/src/aws-sdk.js +1 -1
- package/packages/datadog-instrumentations/src/azure-event-hubs.js +4 -3
- package/packages/datadog-instrumentations/src/azure-functions.js +2 -2
- package/packages/datadog-instrumentations/src/azure-service-bus.js +3 -4
- package/packages/datadog-instrumentations/src/bluebird.js +1 -1
- package/packages/datadog-instrumentations/src/bullmq.js +11 -0
- package/packages/datadog-instrumentations/src/bunyan.js +1 -1
- package/packages/datadog-instrumentations/src/cassandra-driver.js +1 -1
- package/packages/datadog-instrumentations/src/child_process.js +2 -2
- package/packages/datadog-instrumentations/src/confluentinc-kafka-javascript.js +3 -3
- package/packages/datadog-instrumentations/src/couchbase.js +1 -1
- package/packages/datadog-instrumentations/src/crypto.js +1 -1
- package/packages/datadog-instrumentations/src/cucumber.js +12 -13
- package/packages/datadog-instrumentations/src/cypress.js +1 -1
- package/packages/datadog-instrumentations/src/dns.js +1 -1
- package/packages/datadog-instrumentations/src/elasticsearch.js +1 -1
- package/packages/datadog-instrumentations/src/express-mongo-sanitize.js +1 -1
- package/packages/datadog-instrumentations/src/express.js +1 -1
- package/packages/datadog-instrumentations/src/fs.js +1 -1
- package/packages/datadog-instrumentations/src/generic-pool.js +1 -1
- package/packages/datadog-instrumentations/src/google-cloud-pubsub.js +137 -15
- package/packages/datadog-instrumentations/src/google-cloud-vertexai.js +2 -3
- package/packages/datadog-instrumentations/src/google-genai.js +3 -3
- package/packages/datadog-instrumentations/src/graphql.js +1 -1
- package/packages/datadog-instrumentations/src/grpc/client.js +1 -1
- package/packages/datadog-instrumentations/src/grpc/server.js +1 -1
- package/packages/datadog-instrumentations/src/helpers/bundler-register.js +1 -1
- package/packages/datadog-instrumentations/src/helpers/hook.js +1 -1
- package/packages/datadog-instrumentations/src/helpers/hooks.js +4 -1
- package/packages/datadog-instrumentations/src/helpers/instrument.js +1 -1
- package/packages/datadog-instrumentations/src/helpers/register.js +6 -4
- package/packages/datadog-instrumentations/src/helpers/rewriter/index.js +2 -2
- package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/bullmq.json +106 -0
- package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/index.js +2 -1
- package/packages/datadog-instrumentations/src/helpers/router-helper.js +1 -1
- package/packages/datadog-instrumentations/src/helpers/shared-utils.js +9 -0
- package/packages/datadog-instrumentations/src/hono.js +55 -10
- package/packages/datadog-instrumentations/src/ioredis.js +1 -1
- package/packages/datadog-instrumentations/src/iovalkey.js +1 -1
- package/packages/datadog-instrumentations/src/jest.js +2 -2
- package/packages/datadog-instrumentations/src/kafkajs.js +3 -3
- package/packages/datadog-instrumentations/src/knex.js +1 -1
- package/packages/datadog-instrumentations/src/ldapjs.js +1 -1
- package/packages/datadog-instrumentations/src/light-my-request.js +93 -0
- package/packages/datadog-instrumentations/src/limitd-client.js +1 -1
- package/packages/datadog-instrumentations/src/lodash.js +1 -2
- package/packages/datadog-instrumentations/src/mariadb.js +1 -2
- package/packages/datadog-instrumentations/src/memcached.js +1 -1
- package/packages/datadog-instrumentations/src/mongodb-core.js +1 -1
- package/packages/datadog-instrumentations/src/mongodb.js +1 -1
- package/packages/datadog-instrumentations/src/mongoose.js +1 -1
- package/packages/datadog-instrumentations/src/mquery.js +1 -1
- package/packages/datadog-instrumentations/src/mysql.js +1 -1
- package/packages/datadog-instrumentations/src/mysql2.js +1 -1
- package/packages/datadog-instrumentations/src/net.js +1 -1
- package/packages/datadog-instrumentations/src/next.js +1 -1
- package/packages/datadog-instrumentations/src/nyc.js +1 -1
- package/packages/datadog-instrumentations/src/openai.js +2 -2
- package/packages/datadog-instrumentations/src/opensearch.js +1 -1
- package/packages/datadog-instrumentations/src/oracledb.js +1 -1
- package/packages/datadog-instrumentations/src/otel-sdk-trace.js +1 -1
- package/packages/datadog-instrumentations/src/pg.js +3 -3
- package/packages/datadog-instrumentations/src/pino.js +1 -1
- package/packages/datadog-instrumentations/src/playwright.js +1 -1
- package/packages/datadog-instrumentations/src/prisma.js +52 -37
- package/packages/datadog-instrumentations/src/process.js +1 -1
- package/packages/datadog-instrumentations/src/promise-js.js +1 -1
- package/packages/datadog-instrumentations/src/promise.js +1 -1
- package/packages/datadog-instrumentations/src/protobufjs.js +1 -1
- package/packages/datadog-instrumentations/src/q.js +1 -1
- package/packages/datadog-instrumentations/src/redis.js +1 -1
- package/packages/datadog-instrumentations/src/rhea.js +1 -1
- package/packages/datadog-instrumentations/src/selenium.js +1 -1
- package/packages/datadog-instrumentations/src/sequelize.js +1 -2
- package/packages/datadog-instrumentations/src/sharedb.js +1 -1
- package/packages/datadog-instrumentations/src/tedious.js +1 -1
- package/packages/datadog-instrumentations/src/undici.js +4 -4
- package/packages/datadog-instrumentations/src/url.js +1 -1
- package/packages/datadog-instrumentations/src/vitest.js +1 -1
- package/packages/datadog-instrumentations/src/vm.js +1 -1
- package/packages/datadog-instrumentations/src/when.js +1 -1
- package/packages/datadog-instrumentations/src/winston.js +1 -1
- package/packages/datadog-instrumentations/src/ws.js +3 -2
- package/packages/datadog-plugin-amqp10/src/index.js +1 -1
- package/packages/datadog-plugin-amqplib/src/index.js +1 -1
- package/packages/datadog-plugin-anthropic/src/index.js +1 -1
- package/packages/datadog-plugin-aws-sdk/src/services/bedrockruntime/index.js +1 -1
- package/packages/datadog-plugin-aws-sdk/src/services/dynamodb.js +4 -4
- package/packages/datadog-plugin-aws-sdk/src/services/eventbridge.js +2 -2
- package/packages/datadog-plugin-aws-sdk/src/util.js +3 -3
- package/packages/datadog-plugin-azure-event-hubs/src/index.js +1 -1
- package/packages/datadog-plugin-azure-event-hubs/src/producer.js +19 -5
- package/packages/datadog-plugin-azure-service-bus/src/index.js +1 -1
- package/packages/datadog-plugin-azure-service-bus/src/producer.js +4 -0
- package/packages/datadog-plugin-bullmq/src/consumer.js +60 -0
- package/packages/datadog-plugin-bullmq/src/index.js +18 -0
- package/packages/datadog-plugin-bullmq/src/producer.js +178 -0
- package/packages/datadog-plugin-confluentinc-kafka-javascript/src/index.js +1 -1
- package/packages/datadog-plugin-cypress/src/plugin.js +1 -1
- package/packages/datadog-plugin-express/src/index.js +1 -1
- package/packages/datadog-plugin-fastify/src/index.js +1 -1
- package/packages/datadog-plugin-google-cloud-pubsub/src/client.js +13 -3
- package/packages/datadog-plugin-google-cloud-pubsub/src/consumer.js +171 -12
- package/packages/datadog-plugin-google-cloud-pubsub/src/index.js +1 -2
- package/packages/datadog-plugin-google-cloud-pubsub/src/producer.js +160 -13
- package/packages/datadog-plugin-google-cloud-pubsub/src/pubsub-push-subscription.js +217 -0
- package/packages/datadog-plugin-google-cloud-vertexai/src/index.js +1 -1
- package/packages/datadog-plugin-google-genai/src/index.js +1 -1
- package/packages/datadog-plugin-graphql/src/resolve.js +1 -1
- package/packages/datadog-plugin-grpc/src/index.js +1 -1
- package/packages/datadog-plugin-http/src/client.js +2 -1
- package/packages/datadog-plugin-http/src/index.js +25 -5
- package/packages/datadog-plugin-http2/src/client.js +2 -2
- package/packages/datadog-plugin-http2/src/index.js +1 -1
- package/packages/datadog-plugin-kafkajs/src/index.js +1 -1
- package/packages/datadog-plugin-langchain/src/index.js +1 -1
- package/packages/datadog-plugin-moleculer/src/index.js +1 -1
- package/packages/datadog-plugin-mongodb-core/src/index.js +6 -2
- package/packages/datadog-plugin-openai/src/index.js +1 -1
- package/packages/datadog-plugin-openai/src/stream-helpers.js +30 -10
- package/packages/datadog-plugin-openai/src/tracing.js +2 -2
- package/packages/datadog-plugin-rhea/src/index.js +1 -1
- package/packages/datadog-plugin-ws/src/close.js +56 -3
- package/packages/datadog-plugin-ws/src/index.js +4 -0
- package/packages/datadog-plugin-ws/src/producer.js +39 -4
- package/packages/datadog-plugin-ws/src/receiver.js +39 -3
- package/packages/datadog-plugin-ws/src/server.js +13 -1
- package/packages/datadog-plugin-ws/src/util.js +107 -0
- package/packages/datadog-shimmer/src/shimmer.js +2 -2
- package/packages/dd-trace/src/aiguard/sdk.js +3 -3
- package/packages/dd-trace/src/appsec/graphql.js +2 -2
- package/packages/dd-trace/src/appsec/iast/analyzers/code-injection-analyzer.js +1 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/command-injection-analyzer.js +1 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/cookie-analyzer.js +1 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-base-analyzer.js +1 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/injection-analyzer.js +1 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/ldap-injection-analyzer.js +1 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/nosql-injection-mongodb-analyzer.js +3 -3
- package/packages/dd-trace/src/appsec/iast/analyzers/path-traversal-analyzer.js +1 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/ssrf-analyzer.js +1 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/untrusted-deserialization-analyzer.js +1 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/unvalidated-redirect-analyzer.js +1 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/weak-cipher-analyzer.js +1 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/weak-hash-analyzer.js +3 -2
- package/packages/dd-trace/src/appsec/iast/analyzers/weak-randomness-analyzer.js +1 -1
- package/packages/dd-trace/src/appsec/iast/iast-plugin.js +3 -3
- package/packages/dd-trace/src/appsec/iast/index.js +5 -5
- package/packages/dd-trace/src/appsec/iast/security-controls/index.js +1 -1
- package/packages/dd-trace/src/appsec/iast/taint-tracking/index.js +1 -2
- package/packages/dd-trace/src/appsec/iast/taint-tracking/operations-taint-object.js +1 -1
- package/packages/dd-trace/src/appsec/iast/taint-tracking/plugin.js +1 -1
- package/packages/dd-trace/src/appsec/iast/taint-tracking/rewriter.js +10 -14
- package/packages/dd-trace/src/appsec/iast/taint-tracking/taint-tracking-impl.js +1 -1
- package/packages/dd-trace/src/appsec/iast/telemetry/namespaces.js +1 -1
- package/packages/dd-trace/src/appsec/iast/vulnerability-reporter.js +3 -3
- package/packages/dd-trace/src/appsec/index.js +8 -8
- package/packages/dd-trace/src/appsec/rasp/command_injection.js +1 -1
- package/packages/dd-trace/src/appsec/rasp/index.js +1 -1
- package/packages/dd-trace/src/appsec/rasp/lfi.js +1 -1
- package/packages/dd-trace/src/appsec/rc-products.js +10 -0
- package/packages/dd-trace/src/appsec/recommended.json +230 -3
- package/packages/dd-trace/src/appsec/remote_config.js +177 -0
- package/packages/dd-trace/src/appsec/reporter.js +3 -3
- package/packages/dd-trace/src/appsec/rule_manager.js +37 -20
- package/packages/dd-trace/src/appsec/sdk/index.js +1 -1
- package/packages/dd-trace/src/appsec/sdk/set_user.js +1 -1
- package/packages/dd-trace/src/appsec/sdk/track_event.js +2 -2
- package/packages/dd-trace/src/appsec/sdk/user_blocking.js +2 -2
- package/packages/dd-trace/src/appsec/user_tracking.js +2 -2
- package/packages/dd-trace/src/appsec/waf/index.js +17 -3
- package/packages/dd-trace/src/appsec/waf/waf_manager.js +11 -0
- package/packages/dd-trace/src/azure_metadata.js +8 -2
- package/packages/dd-trace/src/ci-visibility/dynamic-instrumentation/worker/index.js +6 -0
- package/packages/dd-trace/src/ci-visibility/exporters/agentless/index.js +2 -2
- package/packages/dd-trace/src/ci-visibility/exporters/ci-visibility-exporter.js +1 -1
- package/packages/dd-trace/src/ci-visibility/exporters/test-worker/index.js +1 -1
- package/packages/dd-trace/src/config/remote_config.js +34 -0
- package/packages/dd-trace/src/config.js +29 -28
- package/packages/dd-trace/src/config_defaults.js +2 -1
- package/packages/dd-trace/src/constants.js +5 -0
- package/packages/dd-trace/src/crashtracking/crashtracker.js +10 -1
- package/packages/dd-trace/src/datastreams/checkpointer.js +2 -2
- package/packages/dd-trace/src/datastreams/index.js +1 -1
- package/packages/dd-trace/src/datastreams/pathway.js +7 -7
- package/packages/dd-trace/src/datastreams/processor.js +2 -2
- package/packages/dd-trace/src/datastreams/writer.js +2 -2
- package/packages/dd-trace/src/debugger/config.js +1 -0
- package/packages/dd-trace/src/debugger/devtools_client/config.js +1 -1
- package/packages/dd-trace/src/debugger/devtools_client/index.js +7 -2
- package/packages/dd-trace/src/debugger/devtools_client/send.js +3 -3
- package/packages/dd-trace/src/debugger/devtools_client/session.js +1 -1
- package/packages/dd-trace/src/debugger/devtools_client/snapshot/collector.js +5 -5
- package/packages/dd-trace/src/debugger/devtools_client/snapshot/index.js +2 -2
- package/packages/dd-trace/src/debugger/devtools_client/state.js +1 -1
- package/packages/dd-trace/src/debugger/devtools_client/status.js +2 -2
- package/packages/dd-trace/src/debugger/index.js +1 -1
- package/packages/dd-trace/src/dogstatsd.js +3 -2
- package/packages/dd-trace/src/encode/0.4.js +1 -1
- package/packages/dd-trace/src/encode/agentless-ci-visibility.js +2 -2
- package/packages/dd-trace/src/encode/coverage-ci-visibility.js +1 -1
- package/packages/dd-trace/src/encode/span-stats.js +6 -1
- package/packages/dd-trace/src/exporter.js +2 -2
- package/packages/dd-trace/src/exporters/agent/index.js +1 -1
- package/packages/dd-trace/src/exporters/common/agent-info-exporter.js +1 -1
- package/packages/dd-trace/src/exporters/common/request.js +2 -2
- package/packages/dd-trace/src/exporters/common/writer.js +1 -1
- package/packages/dd-trace/src/exporters/span-stats/index.js +1 -1
- package/packages/dd-trace/src/external-logger/src/index.js +1 -2
- package/packages/dd-trace/src/flare/index.js +1 -1
- package/packages/dd-trace/src/guardrails/index.js +6 -3
- package/packages/dd-trace/src/id.js +1 -1
- package/packages/dd-trace/src/index.js +1 -1
- package/packages/dd-trace/src/lambda/handler.js +4 -4
- package/packages/dd-trace/src/lambda/index.js +1 -1
- package/packages/dd-trace/src/lambda/runtime/patch.js +4 -4
- package/packages/dd-trace/src/lambda/runtime/ritm.js +1 -1
- package/packages/dd-trace/src/llmobs/constants/tags.js +7 -1
- package/packages/dd-trace/src/llmobs/index.js +8 -9
- package/packages/dd-trace/src/llmobs/plugins/ai/index.js +38 -7
- package/packages/dd-trace/src/llmobs/plugins/ai/util.js +30 -9
- package/packages/dd-trace/src/llmobs/plugins/bedrockruntime.js +3 -3
- package/packages/dd-trace/src/llmobs/plugins/genai/util.js +2 -2
- package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/chain.js +1 -1
- package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/chat_model.js +1 -1
- package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/embedding.js +1 -1
- package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/llm.js +1 -1
- package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/vectorstore.js +1 -1
- package/packages/dd-trace/src/llmobs/plugins/openai/constants.js +16 -0
- package/packages/dd-trace/src/llmobs/plugins/openai/index.js +16 -1
- package/packages/dd-trace/src/llmobs/plugins/openai/utils.js +22 -10
- package/packages/dd-trace/src/llmobs/plugins/vertexai.js +1 -1
- package/packages/dd-trace/src/llmobs/sdk.js +15 -22
- package/packages/dd-trace/src/llmobs/span_processor.js +9 -13
- package/packages/dd-trace/src/llmobs/telemetry.js +3 -4
- package/packages/dd-trace/src/llmobs/writers/base.js +2 -2
- package/packages/dd-trace/src/llmobs/writers/spans.js +1 -2
- package/packages/dd-trace/src/log/index.js +1 -1
- package/packages/dd-trace/src/noop/proxy.js +2 -2
- package/packages/dd-trace/src/noop/span.js +1 -1
- package/packages/dd-trace/src/openfeature/index.js +2 -2
- package/packages/dd-trace/src/openfeature/noop.js +14 -14
- package/packages/dd-trace/src/openfeature/remote_config.js +31 -0
- package/packages/dd-trace/src/openfeature/writers/base.js +5 -5
- package/packages/dd-trace/src/openfeature/writers/exposures.js +9 -9
- package/packages/dd-trace/src/opentelemetry/context_manager.js +2 -2
- package/packages/dd-trace/src/opentelemetry/logs/logger.js +1 -1
- package/packages/dd-trace/src/opentelemetry/logs/logger_provider.js +4 -4
- package/packages/dd-trace/src/opentelemetry/logs/otlp_transformer.js +9 -8
- package/packages/dd-trace/src/opentelemetry/metrics/instruments.js +3 -3
- package/packages/dd-trace/src/opentelemetry/metrics/meter.js +2 -2
- package/packages/dd-trace/src/opentelemetry/metrics/otlp_transformer.js +4 -4
- package/packages/dd-trace/src/opentelemetry/metrics/periodic_metric_reader.js +36 -11
- package/packages/dd-trace/src/opentelemetry/otlp/otlp_transformer_base.js +11 -10
- package/packages/dd-trace/src/opentelemetry/otlp/protobuf_loader.js +1 -1
- package/packages/dd-trace/src/opentelemetry/span.js +2 -2
- package/packages/dd-trace/src/opentelemetry/tracer.js +3 -3
- package/packages/dd-trace/src/opentracing/propagation/text_map.js +24 -8
- package/packages/dd-trace/src/opentracing/span.js +3 -3
- package/packages/dd-trace/src/opentracing/tracer.js +5 -5
- package/packages/dd-trace/src/payload-tagging/index.js +6 -2
- package/packages/dd-trace/src/plugin_manager.js +1 -1
- package/packages/dd-trace/src/plugins/apollo.js +1 -1
- package/packages/dd-trace/src/plugins/ci_plugin.js +27 -27
- package/packages/dd-trace/src/plugins/database.js +1 -1
- package/packages/dd-trace/src/plugins/index.js +5 -1
- package/packages/dd-trace/src/plugins/log_plugin.js +1 -1
- package/packages/dd-trace/src/plugins/outbound.js +1 -1
- package/packages/dd-trace/src/plugins/tracing.js +1 -1
- package/packages/dd-trace/src/plugins/util/ci.js +1 -1
- package/packages/dd-trace/src/plugins/util/git.js +8 -8
- package/packages/dd-trace/src/plugins/util/stacktrace.js +1 -1
- package/packages/dd-trace/src/plugins/util/test.js +24 -24
- package/packages/dd-trace/src/plugins/util/user-provided-git.js +1 -1
- package/packages/dd-trace/src/plugins/util/web.js +8 -5
- package/packages/dd-trace/src/priority_sampler.js +15 -16
- package/packages/dd-trace/src/process-tags/index.js +31 -29
- package/packages/dd-trace/src/profiling/config.js +32 -21
- package/packages/dd-trace/src/profiling/exporter_cli.js +4 -4
- package/packages/dd-trace/src/profiling/exporters/agent.js +5 -5
- package/packages/dd-trace/src/profiling/index.js +1 -1
- package/packages/dd-trace/src/profiling/libuv-size.js +1 -1
- package/packages/dd-trace/src/profiling/profiler.js +4 -5
- package/packages/dd-trace/src/profiling/profilers/event_plugins/event.js +1 -1
- package/packages/dd-trace/src/profiling/profilers/events.js +2 -2
- package/packages/dd-trace/src/profiling/profilers/wall.js +4 -4
- package/packages/dd-trace/src/proxy.js +12 -18
- package/packages/dd-trace/src/remote_config/index.js +541 -137
- package/packages/dd-trace/src/require-package-json.js +1 -1
- package/packages/dd-trace/src/ritm.js +50 -27
- package/packages/dd-trace/src/runtime_metrics/runtime_metrics.js +1 -1
- package/packages/dd-trace/src/serverless.js +16 -0
- package/packages/dd-trace/src/service-naming/schemas/v0/messaging.js +8 -0
- package/packages/dd-trace/src/service-naming/schemas/v1/messaging.js +8 -0
- package/packages/dd-trace/src/span_format.js +1 -1
- package/packages/dd-trace/src/span_processor.js +2 -2
- package/packages/dd-trace/src/span_stats.js +6 -4
- package/packages/dd-trace/src/standalone/index.js +1 -1
- package/packages/dd-trace/src/startup-log.js +3 -3
- package/packages/dd-trace/src/supported-configurations.json +3 -0
- package/packages/dd-trace/src/telemetry/dependencies.js +3 -3
- package/packages/dd-trace/src/telemetry/endpoints.js +8 -8
- package/packages/dd-trace/src/telemetry/logs/index.js +1 -1
- package/packages/dd-trace/src/telemetry/telemetry.js +11 -6
- package/packages/dd-trace/src/tracer.js +3 -3
- package/packages/dd-trace/src/tracer_metadata.js +19 -15
- package/packages/dd-trace/src/remote_config/manager.js +0 -368
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
3
|
const rfdc = require('../../../../vendor/dist/rfdc')({ proto: false, circles: false })
|
|
4
|
+
const log = require('../log')
|
|
5
|
+
const telemetryMetrics = require('../telemetry/metrics')
|
|
6
|
+
const tracerVersion = require('../../../../package.json').version
|
|
4
7
|
const NoopAIGuard = require('./noop')
|
|
5
8
|
const executeRequest = require('./client')
|
|
6
9
|
const {
|
|
@@ -14,9 +17,6 @@ const {
|
|
|
14
17
|
AI_GUARD_TELEMETRY_REQUESTS,
|
|
15
18
|
AI_GUARD_TELEMETRY_TRUNCATED
|
|
16
19
|
} = require('./tags')
|
|
17
|
-
const log = require('../log')
|
|
18
|
-
const telemetryMetrics = require('../telemetry/metrics')
|
|
19
|
-
const tracerVersion = require('../../../../package.json').version
|
|
20
20
|
|
|
21
21
|
const appsecMetrics = telemetryMetrics.manager.namespace('appsec')
|
|
22
22
|
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
3
|
const { storage } = require('../../../datadog-core')
|
|
4
|
+
const log = require('../log')
|
|
5
|
+
const web = require('../plugins/util/web')
|
|
4
6
|
const {
|
|
5
7
|
addSpecificEndpoint,
|
|
6
8
|
specificBlockingTypes,
|
|
7
9
|
getBlockingData,
|
|
8
10
|
getBlockingAction
|
|
9
11
|
} = require('./blocking')
|
|
10
|
-
const log = require('../log')
|
|
11
12
|
const waf = require('./waf')
|
|
12
13
|
const addresses = require('./addresses')
|
|
13
|
-
const web = require('../plugins/util/web')
|
|
14
14
|
const {
|
|
15
15
|
startGraphqlResolve,
|
|
16
16
|
graphqlMiddlewareChannel,
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
3
|
const { CODE_INJECTION } = require('../vulnerabilities')
|
|
4
|
-
const StoredInjectionAnalyzer = require('./stored-injection-analyzer')
|
|
5
4
|
const { INSTRUMENTED_SINK } = require('../telemetry/iast-metric')
|
|
6
5
|
const { storage } = require('../../../../../datadog-core')
|
|
7
6
|
const { getIastContext } = require('../iast-context')
|
|
7
|
+
const StoredInjectionAnalyzer = require('./stored-injection-analyzer')
|
|
8
8
|
|
|
9
9
|
class CodeInjectionAnalyzer extends StoredInjectionAnalyzer {
|
|
10
10
|
constructor () {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict'
|
|
2
|
-
const InjectionAnalyzer = require('./injection-analyzer')
|
|
3
2
|
const { COMMAND_INJECTION } = require('../vulnerabilities')
|
|
3
|
+
const InjectionAnalyzer = require('./injection-analyzer')
|
|
4
4
|
|
|
5
5
|
class CommandInjectionAnalyzer extends InjectionAnalyzer {
|
|
6
6
|
constructor () {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
const Analyzer = require('./vulnerability-analyzer')
|
|
4
3
|
const { getRelativePath } = require('../path-line')
|
|
4
|
+
const Analyzer = require('./vulnerability-analyzer')
|
|
5
5
|
|
|
6
6
|
class HardcodedBaseAnalyzer extends Analyzer {
|
|
7
7
|
constructor (type, allRules = [], valueOnlyRules = []) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict'
|
|
2
|
-
const Analyzer = require('./vulnerability-analyzer')
|
|
3
2
|
const { getRanges } = require('../taint-tracking/operations')
|
|
4
3
|
const { SQL_ROW_VALUE } = require('../taint-tracking/source-types')
|
|
4
|
+
const Analyzer = require('./vulnerability-analyzer')
|
|
5
5
|
|
|
6
6
|
class InjectionAnalyzer extends Analyzer {
|
|
7
7
|
_isVulnerable (value, iastContext) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict'
|
|
2
|
-
const InjectionAnalyzer = require('./injection-analyzer')
|
|
3
2
|
const { LDAP_INJECTION } = require('../vulnerabilities')
|
|
4
3
|
const { getNodeModulesPaths } = require('../path-line')
|
|
4
|
+
const InjectionAnalyzer = require('./injection-analyzer')
|
|
5
5
|
|
|
6
6
|
const EXCLUDED_PATHS = getNodeModulesPaths('ldapjs-promise')
|
|
7
7
|
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
const InjectionAnalyzer = require('./injection-analyzer')
|
|
4
3
|
const { NOSQL_MONGODB_INJECTION } = require('../vulnerabilities')
|
|
5
4
|
const { getRanges, addSecureMark } = require('../taint-tracking/operations')
|
|
6
5
|
const { getNodeModulesPaths } = require('../path-line')
|
|
7
6
|
const { storage } = require('../../../../../datadog-core')
|
|
8
7
|
const { getIastContext } = require('../iast-context')
|
|
9
8
|
const { HTTP_REQUEST_PARAMETER, HTTP_REQUEST_BODY } = require('../taint-tracking/source-types')
|
|
10
|
-
|
|
11
|
-
const EXCLUDED_PATHS_FROM_STACK = getNodeModulesPaths('mongodb', 'mongoose', 'mquery')
|
|
12
9
|
const { NOSQL_MONGODB_INJECTION_MARK } = require('../taint-tracking/secure-marks')
|
|
13
10
|
const { iterateObjectStrings } = require('../utils')
|
|
11
|
+
const InjectionAnalyzer = require('./injection-analyzer')
|
|
12
|
+
|
|
13
|
+
const EXCLUDED_PATHS_FROM_STACK = getNodeModulesPaths('mongodb', 'mongoose', 'mquery')
|
|
14
14
|
|
|
15
15
|
const SAFE_OPERATORS = new Set(['$eq', '$gt', '$gte', '$in', '$lt', '$lte', '$ne', '$nin',
|
|
16
16
|
'$exists', '$type', '$mod', '$bitsAllClear', '$bitsAllSet', '$bitsAnyClear', '$bitsAnySet'])
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
const path = require('path')
|
|
4
4
|
|
|
5
|
-
const InjectionAnalyzer = require('./injection-analyzer')
|
|
6
5
|
const { getIastContext } = require('../iast-context')
|
|
7
6
|
const { storage } = require('../../../../../datadog-core')
|
|
8
7
|
const { PATH_TRAVERSAL } = require('../vulnerabilities')
|
|
8
|
+
const InjectionAnalyzer = require('./injection-analyzer')
|
|
9
9
|
|
|
10
10
|
const ignoredOperations = new Set(['dir.close', 'close'])
|
|
11
11
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
const InjectionAnalyzer = require('./injection-analyzer')
|
|
4
3
|
const { UNTRUSTED_DESERIALIZATION } = require('../vulnerabilities')
|
|
4
|
+
const InjectionAnalyzer = require('./injection-analyzer')
|
|
5
5
|
|
|
6
6
|
class UntrustedDeserializationAnalyzer extends InjectionAnalyzer {
|
|
7
7
|
constructor () {
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
const InjectionAnalyzer = require('./injection-analyzer')
|
|
4
3
|
const { UNVALIDATED_REDIRECT } = require('../vulnerabilities')
|
|
5
4
|
const { getNodeModulesPaths } = require('../path-line')
|
|
6
5
|
const { getRanges } = require('../taint-tracking/operations')
|
|
@@ -8,6 +7,7 @@ const {
|
|
|
8
7
|
HTTP_REQUEST_BODY,
|
|
9
8
|
HTTP_REQUEST_PARAMETER
|
|
10
9
|
} = require('../taint-tracking/source-types')
|
|
10
|
+
const InjectionAnalyzer = require('./injection-analyzer')
|
|
11
11
|
|
|
12
12
|
const EXCLUDED_PATHS = [
|
|
13
13
|
getNodeModulesPaths('express/lib/response.js'),
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict'
|
|
2
|
-
const Analyzer = require('./vulnerability-analyzer')
|
|
3
2
|
const { WEAK_CIPHER } = require('../vulnerabilities')
|
|
3
|
+
const Analyzer = require('./vulnerability-analyzer')
|
|
4
4
|
|
|
5
5
|
const INSECURE_CIPHERS = new Set([
|
|
6
6
|
'des', 'des-cbc', 'des-cfb', 'des-cfb1', 'des-cfb8', 'des-ecb', 'des-ede', 'des-ede-cbc', 'des-ede-cfb',
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
const path = require('path')
|
|
4
4
|
|
|
5
5
|
const { getNodeModulesPaths } = require('../path-line')
|
|
6
|
-
const Analyzer = require('./vulnerability-analyzer')
|
|
7
6
|
const { WEAK_HASH } = require('../vulnerabilities')
|
|
7
|
+
const Analyzer = require('./vulnerability-analyzer')
|
|
8
8
|
|
|
9
9
|
const INSECURE_HASH_ALGORITHMS = new Set([
|
|
10
10
|
'md4', 'md4WithRSAEncryption', 'RSA-MD4',
|
|
@@ -23,7 +23,8 @@ const EXCLUDED_LOCATIONS = getNodeModulesPaths(
|
|
|
23
23
|
'ws/lib/websocket-server.js',
|
|
24
24
|
'google-gax/build/src/grpc.js',
|
|
25
25
|
'cookie-signature/index.js',
|
|
26
|
-
'express-session/index.js'
|
|
26
|
+
'express-session/index.js',
|
|
27
|
+
'node-preload/preload-list-env.js'
|
|
27
28
|
)
|
|
28
29
|
|
|
29
30
|
const EXCLUDED_PATHS_FROM_STACK = [
|
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
const { channel } = require('dc-polyfill')
|
|
4
4
|
|
|
5
5
|
const Plugin = require('../../plugins/plugin')
|
|
6
|
+
const { storage } = require('../../../../datadog-core')
|
|
7
|
+
const instrumentations = require('../../../../datadog-instrumentations/src/helpers/instrumentations')
|
|
8
|
+
const log = require('../../log')
|
|
6
9
|
const iastTelemetry = require('./telemetry')
|
|
7
10
|
const { getInstrumentedMetric, getExecutedMetric, TagKey, EXECUTED_SOURCE, formatTags } =
|
|
8
11
|
require('./telemetry/iast-metric')
|
|
9
|
-
const { storage } = require('../../../../datadog-core')
|
|
10
12
|
const { getIastContext } = require('./iast-context')
|
|
11
|
-
const instrumentations = require('../../../../datadog-instrumentations/src/helpers/instrumentations')
|
|
12
|
-
const log = require('../../log')
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* Used by vulnerability sources and sinks to subscribe diagnostic channel events
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
const
|
|
4
|
-
const { enableAllAnalyzers, disableAllAnalyzers } = require('./analyzers')
|
|
3
|
+
const dc = require('dc-polyfill')
|
|
5
4
|
const web = require('../../plugins/util/web')
|
|
6
5
|
const { storage } = require('../../../../datadog-core')
|
|
6
|
+
const { enable: enableFsPlugin, disable: disableFsPlugin, IAST_MODULE } = require('../rasp/fs-plugin')
|
|
7
|
+
const { incomingHttpRequestStart, incomingHttpRequestEnd, responseWriteHead } = require('../channels')
|
|
8
|
+
const vulnerabilityReporter = require('./vulnerability-reporter')
|
|
9
|
+
const { enableAllAnalyzers, disableAllAnalyzers } = require('./analyzers')
|
|
7
10
|
const overheadController = require('./overhead-controller')
|
|
8
|
-
const dc = require('dc-polyfill')
|
|
9
11
|
const iastContextFunctions = require('./iast-context')
|
|
10
12
|
const {
|
|
11
13
|
enableTaintTracking,
|
|
@@ -16,9 +18,7 @@ const {
|
|
|
16
18
|
} = require('./taint-tracking')
|
|
17
19
|
const { IAST_ENABLED_TAG_KEY } = require('./tags')
|
|
18
20
|
const iastTelemetry = require('./telemetry')
|
|
19
|
-
const { enable: enableFsPlugin, disable: disableFsPlugin, IAST_MODULE } = require('../rasp/fs-plugin')
|
|
20
21
|
const securityControls = require('./security-controls')
|
|
21
|
-
const { incomingHttpRequestStart, incomingHttpRequestEnd, responseWriteHead } = require('../channels')
|
|
22
22
|
|
|
23
23
|
const collectedResponseHeaders = new WeakMap()
|
|
24
24
|
|
|
@@ -5,10 +5,10 @@ const dc = require('dc-polyfill')
|
|
|
5
5
|
const { storage } = require('../../../../../datadog-core')
|
|
6
6
|
const shimmer = require('../../../../../datadog-shimmer')
|
|
7
7
|
const log = require('../../../log')
|
|
8
|
-
const { parse, SANITIZER_TYPE } = require('./parser')
|
|
9
8
|
const TaintTrackingOperations = require('../taint-tracking/operations')
|
|
10
9
|
const { getIastContext } = require('../iast-context')
|
|
11
10
|
const { iterateObjectStrings } = require('../utils')
|
|
11
|
+
const { parse, SANITIZER_TYPE } = require('./parser')
|
|
12
12
|
|
|
13
13
|
// esm
|
|
14
14
|
const moduleLoadStartChannel = dc.channel('dd-trace:moduleLoadStart')
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
+
const kafkaContextPlugin = require('../context/kafka-ctx-plugin')
|
|
3
4
|
const {
|
|
4
5
|
createTransaction,
|
|
5
6
|
removeTransaction,
|
|
@@ -11,8 +12,6 @@ const {
|
|
|
11
12
|
const taintTrackingPlugin = require('./plugin')
|
|
12
13
|
const kafkaConsumerPlugin = require('./plugins/kafka')
|
|
13
14
|
|
|
14
|
-
const kafkaContextPlugin = require('../context/kafka-ctx-plugin')
|
|
15
|
-
|
|
16
15
|
module.exports = {
|
|
17
16
|
enableTaintTracking (config, telemetryVerbosity) {
|
|
18
17
|
enableTaintOperations(telemetryVerbosity)
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
const TaintedUtils = require('@datadog/native-iast-taint-tracking')
|
|
4
4
|
const { IAST_TRANSACTION_ID } = require('../iast-context')
|
|
5
|
-
const { HTTP_REQUEST_PARAMETER } = require('./source-types')
|
|
6
5
|
const log = require('../../../log')
|
|
6
|
+
const { HTTP_REQUEST_PARAMETER } = require('./source-types')
|
|
7
7
|
|
|
8
8
|
const SEPARATOR = '\u0000' // Unit Separator (cannot be in URL keys)
|
|
9
9
|
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
const { SourceIastPlugin } = require('../iast-plugin')
|
|
4
4
|
const { getIastContext } = require('../iast-context')
|
|
5
5
|
const { storage } = require('../../../../../datadog-core')
|
|
6
|
+
const { EXECUTED_SOURCE } = require('../telemetry/iast-metric')
|
|
6
7
|
const { taintObject, newTaintedString, getRanges, taintQueryWithCache } = require('./operations')
|
|
7
8
|
const {
|
|
8
9
|
HTTP_REQUEST_BODY,
|
|
@@ -15,7 +16,6 @@ const {
|
|
|
15
16
|
HTTP_REQUEST_URI,
|
|
16
17
|
SQL_ROW_VALUE
|
|
17
18
|
} = require('./source-types')
|
|
18
|
-
const { EXECUTED_SOURCE } = require('../telemetry/iast-metric')
|
|
19
19
|
|
|
20
20
|
const REQ_HEADER_TAGS = EXECUTED_SOURCE.formatTags(HTTP_REQUEST_HEADER_VALUE, HTTP_REQUEST_HEADER_NAME)
|
|
21
21
|
const REQ_URI_TAGS = EXECUTED_SOURCE.formatTags(HTTP_REQUEST_URI)
|
|
@@ -5,18 +5,18 @@
|
|
|
5
5
|
const Module = require('module')
|
|
6
6
|
const { pathToFileURL } = require('url')
|
|
7
7
|
const { MessageChannel } = require('worker_threads')
|
|
8
|
+
const { isMainThread } = require('worker_threads')
|
|
9
|
+
const dc = require('dc-polyfill')
|
|
8
10
|
const shimmer = require('../../../../../datadog-shimmer')
|
|
9
|
-
const { isPrivateModule, isDdTrace } = require('./filter')
|
|
10
|
-
const { csiMethods } = require('./csi-methods')
|
|
11
11
|
const { getName } = require('../telemetry/verbosity')
|
|
12
12
|
const telemetry = require('../telemetry')
|
|
13
|
-
const { incrementTelemetryIfNeeded } = require('./rewriter-telemetry')
|
|
14
|
-
const dc = require('dc-polyfill')
|
|
15
13
|
const log = require('../../../log')
|
|
16
|
-
const { isMainThread } = require('worker_threads')
|
|
17
|
-
const { LOG_MESSAGE, REWRITTEN_MESSAGE } = require('./constants')
|
|
18
14
|
const orchestrionConfig = require('../../../../../datadog-instrumentations/src/orchestrion-config')
|
|
19
15
|
const { getEnvironmentVariable } = require('../../../config-helper')
|
|
16
|
+
const { LOG_MESSAGE, REWRITTEN_MESSAGE } = require('./constants')
|
|
17
|
+
const { incrementTelemetryIfNeeded } = require('./rewriter-telemetry')
|
|
18
|
+
const { csiMethods } = require('./csi-methods')
|
|
19
|
+
const { isPrivateModule, isDdTrace } = require('./filter')
|
|
20
20
|
|
|
21
21
|
let config
|
|
22
22
|
const hardcodedSecretCh = dc.channel('datadog:secrets:result')
|
|
@@ -183,14 +183,10 @@ function enableRewriter (telemetryVerbosity) {
|
|
|
183
183
|
}
|
|
184
184
|
|
|
185
185
|
function isEsmConfigured () {
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
if (require.cache[`${process.cwd()}/node_modules/import-in-the-middle/hook.js`]) {
|
|
191
|
-
return true
|
|
192
|
-
}
|
|
193
|
-
return Object.keys(require.cache).some(file => file.endsWith('import-in-the-middle/hook.js'))
|
|
186
|
+
return (isFlagPresent('--loader') ||
|
|
187
|
+
isFlagPresent('--experimental-loader') ||
|
|
188
|
+
isFlagPresent('dd-trace/initialize.mjs')) ||
|
|
189
|
+
isFlagPresent('dd-trace/register.js')
|
|
194
190
|
}
|
|
195
191
|
|
|
196
192
|
let enableEsmRewriter = function (telemetryVerbosity) {
|
|
@@ -6,8 +6,8 @@ const { storage } = require('../../../../../datadog-core')
|
|
|
6
6
|
const iastContextFunctions = require('../iast-context')
|
|
7
7
|
const { EXECUTED_PROPAGATION } = require('../telemetry/iast-metric')
|
|
8
8
|
const { isDebugAllowed } = require('../telemetry/verbosity')
|
|
9
|
-
const { taintObject } = require('./operations-taint-object')
|
|
10
9
|
const log = require('../../../log')
|
|
10
|
+
const { taintObject } = require('./operations-taint-object')
|
|
11
11
|
|
|
12
12
|
const mathRandomCallCh = dc.channel('datadog:random:call')
|
|
13
13
|
const evalCallCh = dc.channel('datadog:eval:call')
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
const log = require('../../../log')
|
|
4
4
|
const { Namespace } = require('../../../telemetry/metrics')
|
|
5
|
-
const { addMetricsToSpan } = require('./span-tags')
|
|
6
5
|
const { IAST_TRACE_METRIC_PREFIX } = require('../tags')
|
|
6
|
+
const { addMetricsToSpan } = require('./span-tags')
|
|
7
7
|
|
|
8
8
|
const DD_IAST_METRICS_NAMESPACE = Symbol('_dd.iast.request.metrics.namespace')
|
|
9
9
|
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
3
|
const { LRUCache } = require('../../../../../vendor/dist/lru-cache')
|
|
4
|
-
const vulnerabilitiesFormatter = require('./vulnerabilities-formatter')
|
|
5
|
-
const { IAST_ENABLED_TAG_KEY, IAST_JSON_TAG_KEY } = require('./tags')
|
|
6
4
|
const { keepTrace } = require('../../priority_sampler')
|
|
7
5
|
const { reportStackTrace, getCallsiteFrames, canReportStackTrace, STACK_TRACE_NAMESPACES } = require('../stack_trace')
|
|
8
|
-
const { getOriginalPathAndLineFromSourceMap } = require('./taint-tracking/rewriter')
|
|
9
6
|
const { ASM } = require('../../standalone/product')
|
|
7
|
+
const vulnerabilitiesFormatter = require('./vulnerabilities-formatter')
|
|
8
|
+
const { IAST_ENABLED_TAG_KEY, IAST_JSON_TAG_KEY } = require('./tags')
|
|
9
|
+
const { getOriginalPathAndLineFromSourceMap } = require('./taint-tracking/rewriter')
|
|
10
10
|
|
|
11
11
|
const VULNERABILITIES_KEY = 'vulnerabilities'
|
|
12
12
|
const VULNERABILITY_HASHES_MAX_SIZE = 1000
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
3
|
const log = require('../log')
|
|
4
|
+
const web = require('../plugins/util/web')
|
|
5
|
+
const { extractIp } = require('../plugins/util/ip_extractor')
|
|
6
|
+
const { HTTP_CLIENT_IP } = require('../../../../ext/tags')
|
|
7
|
+
const { storage } = require('../../../datadog-core')
|
|
8
|
+
const { isInServerlessEnvironment } = require('../serverless')
|
|
4
9
|
const RuleManager = require('./rule_manager')
|
|
5
|
-
const
|
|
10
|
+
const appsecRemoteConfig = require('./remote_config')
|
|
6
11
|
const {
|
|
7
12
|
bodyParser,
|
|
8
13
|
cookieParser,
|
|
@@ -31,15 +36,10 @@ const addresses = require('./addresses')
|
|
|
31
36
|
const Reporter = require('./reporter')
|
|
32
37
|
const appsecTelemetry = require('./telemetry')
|
|
33
38
|
const apiSecuritySampler = require('./api_security_sampler')
|
|
34
|
-
const web = require('../plugins/util/web')
|
|
35
|
-
const { extractIp } = require('../plugins/util/ip_extractor')
|
|
36
|
-
const { HTTP_CLIENT_IP } = require('../../../../ext/tags')
|
|
37
39
|
const { isBlocked, block, callBlockDelegation, setTemplates, getBlockingAction } = require('./blocking')
|
|
38
40
|
const UserTracking = require('./user_tracking')
|
|
39
|
-
const { storage } = require('../../../datadog-core')
|
|
40
41
|
const graphql = require('./graphql')
|
|
41
42
|
const rasp = require('./rasp')
|
|
42
|
-
const { isInServerlessEnvironment } = require('../serverless')
|
|
43
43
|
|
|
44
44
|
const responseAnalyzedSet = new WeakSet()
|
|
45
45
|
const storedResponseHeaders = new WeakMap()
|
|
@@ -63,7 +63,7 @@ function enable (_config) {
|
|
|
63
63
|
|
|
64
64
|
RuleManager.loadRules(_config.appsec)
|
|
65
65
|
|
|
66
|
-
|
|
66
|
+
appsecRemoteConfig.enableWafUpdate(_config.appsec)
|
|
67
67
|
|
|
68
68
|
Reporter.init(_config.appsec)
|
|
69
69
|
|
|
@@ -373,7 +373,7 @@ function disable () {
|
|
|
373
373
|
graphql.disable()
|
|
374
374
|
rasp.disable()
|
|
375
375
|
|
|
376
|
-
|
|
376
|
+
appsecRemoteConfig.disableWafUpdate()
|
|
377
377
|
|
|
378
378
|
apiSecuritySampler.disable()
|
|
379
379
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
3
|
const { childProcessExecutionTracingChannel } = require('../channels')
|
|
4
|
-
const { RULE_TYPES, handleResult } = require('./utils')
|
|
5
4
|
const { storage } = require('../../../../datadog-core')
|
|
6
5
|
const addresses = require('../addresses')
|
|
7
6
|
const waf = require('../waf')
|
|
7
|
+
const { RULE_TYPES, handleResult } = require('./utils')
|
|
8
8
|
|
|
9
9
|
let config
|
|
10
10
|
|
|
@@ -8,11 +8,11 @@ const {
|
|
|
8
8
|
routerMiddlewareError
|
|
9
9
|
} = require('../channels')
|
|
10
10
|
const { block, registerBlockDelegation, isBlocked } = require('../blocking')
|
|
11
|
+
const { updateRaspRuleMatchMetricTags } = require('../telemetry')
|
|
11
12
|
const ssrf = require('./ssrf')
|
|
12
13
|
const sqli = require('./sql_injection')
|
|
13
14
|
const lfi = require('./lfi')
|
|
14
15
|
const cmdi = require('./command_injection')
|
|
15
|
-
const { updateRaspRuleMatchMetricTags } = require('../telemetry')
|
|
16
16
|
|
|
17
17
|
const { DatadogRaspAbortError } = require('./utils')
|
|
18
18
|
|
|
@@ -4,9 +4,9 @@ const { isAbsolute } = require('path')
|
|
|
4
4
|
|
|
5
5
|
const { fsOperationStart, incomingHttpRequestStart, expressResponseRenderStart } = require('../channels')
|
|
6
6
|
const { storage } = require('../../../../datadog-core')
|
|
7
|
-
const { enable: enableFsPlugin, disable: disableFsPlugin, RASP_MODULE } = require('./fs-plugin')
|
|
8
7
|
const { FS_OPERATION_PATH } = require('../addresses')
|
|
9
8
|
const waf = require('../waf')
|
|
9
|
+
const { enable: enableFsPlugin, disable: disableFsPlugin, RASP_MODULE } = require('./fs-plugin')
|
|
10
10
|
const { RULE_TYPES, handleResult } = require('./utils')
|
|
11
11
|
|
|
12
12
|
let config
|