From f5cf4b6b29c78991ea387439d6132989847482ee Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 20 Nov 2024 14:28:07 +0100 Subject: [PATCH 01/17] [Version Bump] 3.7.0 (#6311) The following files were found to be modified (as expected) - [x] docs/CHANGELOG.md - [x] .azure-pipelines/ultimate-pipeline.yml - [x] profiler/src/ProfilerEngine/Datadog.Profiler.Native.Linux/CMakeLists.txt - [x] profiler/src/ProfilerEngine/Datadog.Profiler.Native.Windows/Resource.rc - [x] profiler/src/ProfilerEngine/Datadog.Profiler.Native/dd_profiler_version.h - [x] profiler/src/ProfilerEngine/Datadog.Linux.ApiWrapper/CMakeLists.txt - [x] profiler/src/ProfilerEngine/ProductVersion.props - [x] shared/src/Datadog.Trace.ClrProfiler.Native/CMakeLists.txt - [x] shared/src/Datadog.Trace.ClrProfiler.Native/Resource.rc - [x] shared/src/msi-installer/WindowsInstaller.wixproj - [x] shared/src/native-src/version.h - [x] tracer/build/artifacts/dd-dotnet.sh - [x] tracer/build/_build/Build.cs - [x] tracer/samples/AutomaticTraceIdInjection/MicrosoftExtensionsExample/MicrosoftExtensionsExample.csproj - [x] tracer/samples/AutomaticTraceIdInjection/Log4NetExample/Log4NetExample.csproj - [x] tracer/samples/AutomaticTraceIdInjection/NLog40Example/NLog40Example.csproj - [x] tracer/samples/AutomaticTraceIdInjection/NLog45Example/NLog45Example.csproj - [x] tracer/samples/AutomaticTraceIdInjection/NLog46Example/NLog46Example.csproj - [x] tracer/samples/AutomaticTraceIdInjection/SerilogExample/SerilogExample.csproj - [x] tracer/samples/ConsoleApp/Alpine3.10.dockerfile - [x] tracer/samples/ConsoleApp/Alpine3.9.dockerfile - [x] tracer/samples/ConsoleApp/Debian.dockerfile - [x] tracer/samples/OpenTelemetry/Debian.dockerfile - [x] tracer/samples/WindowsContainer/Dockerfile - [x] tracer/src/Datadog.Trace.Bundle/Datadog.Trace.Bundle.csproj - [x] tracer/src/Datadog.Trace.ClrProfiler.Managed.Loader/Datadog.Trace.ClrProfiler.Managed.Loader.csproj - [x] tracer/src/Datadog.Trace.ClrProfiler.Managed.Loader/Startup.cs - [x] tracer/src/Datadog.Trace.Manual/Datadog.Trace.Manual.csproj - [x] tracer/src/Datadog.Tracer.Native/CMakeLists.txt - [x] tracer/src/Datadog.Tracer.Native/dd_profiler_constants.h - [x] tracer/src/Datadog.Tracer.Native/Resource.rc - [x] tracer/src/Datadog.Trace.MSBuild/Datadog.Trace.MSBuild.csproj - [x] tracer/src/Datadog.Trace.BenchmarkDotNet/Datadog.Trace.BenchmarkDotNet.csproj - [x] tracer/src/Datadog.Trace.OpenTracing/Datadog.Trace.OpenTracing.csproj - [x] tracer/src/Datadog.Trace.Tools.dd_dotnet/Datadog.Trace.Tools.dd_dotnet.csproj - [x] tracer/src/Datadog.Trace.Tools.Runner/Datadog.Trace.Tools.Runner.csproj - [x] tracer/src/Datadog.Trace/Datadog.Trace.csproj - [x] tracer/src/Datadog.Trace/TracerConstants.cs - [x] tracer/src/Datadog.Trace.Trimming/Datadog.Trace.Trimming.csproj - [x] tracer/tools/PipelineMonitor/PipelineMonitor.csproj @DataDog/apm-dotnet Co-authored-by: andrewlock --- .azure-pipelines/ultimate-pipeline.yml | 2 +- docs/CHANGELOG.md | 78 +++++++++++++++++++ .../Datadog.Linux.ApiWrapper/CMakeLists.txt | 2 +- .../CMakeLists.txt | 2 +- .../Resource.rc | 8 +- .../dd_profiler_version.h | 2 +- .../src/ProfilerEngine/ProductVersion.props | 2 +- .../CMakeLists.txt | 2 +- .../Resource.rc | 8 +- .../msi-installer/WindowsInstaller.wixproj | 4 +- shared/src/native-src/version.h | 2 +- tracer/build/_build/Build.cs | 2 +- tracer/build/artifacts/dd-dotnet.sh | 2 +- .../Log4NetExample/Log4NetExample.csproj | 2 +- .../MicrosoftExtensionsExample.csproj | 2 +- .../NLog40Example/NLog40Example.csproj | 2 +- .../NLog45Example/NLog45Example.csproj | 2 +- .../NLog46Example/NLog46Example.csproj | 2 +- .../SerilogExample/SerilogExample.csproj | 2 +- .../samples/ConsoleApp/Alpine3.10.dockerfile | 2 +- .../samples/ConsoleApp/Alpine3.9.dockerfile | 2 +- tracer/samples/ConsoleApp/Debian.dockerfile | 2 +- .../samples/OpenTelemetry/Debian.dockerfile | 2 +- tracer/samples/WindowsContainer/Dockerfile | 2 +- .../Datadog.Trace.BenchmarkDotNet.csproj | 2 +- .../Datadog.Trace.Bundle.csproj | 2 +- ...og.Trace.ClrProfiler.Managed.Loader.csproj | 2 +- .../Startup.cs | 2 +- .../Datadog.Trace.MSBuild.csproj | 2 +- .../Datadog.Trace.Manual.csproj | 2 +- .../Datadog.Trace.OpenTracing.csproj | 2 +- .../Datadog.Trace.Tools.Runner.csproj | 2 +- .../Datadog.Trace.Tools.dd_dotnet.csproj | 2 +- .../Datadog.Trace.Trimming.csproj | 2 +- tracer/src/Datadog.Trace/Datadog.Trace.csproj | 2 +- tracer/src/Datadog.Trace/TracerConstants.cs | 4 +- .../src/Datadog.Tracer.Native/CMakeLists.txt | 2 +- tracer/src/Datadog.Tracer.Native/Resource.rc | 8 +- .../dd_profiler_constants.h | 4 +- .../PipelineMonitor/PipelineMonitor.csproj | 2 +- 40 files changed, 129 insertions(+), 51 deletions(-) diff --git a/.azure-pipelines/ultimate-pipeline.yml b/.azure-pipelines/ultimate-pipeline.yml index c5032aed53a5..56ff5f3fdfef 100644 --- a/.azure-pipelines/ultimate-pipeline.yml +++ b/.azure-pipelines/ultimate-pipeline.yml @@ -171,7 +171,7 @@ variables: DD_COLLECTOR_CPU_USAGE: true # If we're doing an SSI run, set the indicator, the rest need to be set in the stage IS_SSI_RUN: $[ or(eq(variables['Build.CronSchedule.DisplayName'], 'Daily SSI Run'), eq(variables['force_ssi_run'], 'true')) ] - ToolVersion: 3.6.0 + ToolVersion: 3.7.0 # Declare the datadog agent as a resource to be used as a pipeline service resources: diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index c3921695f4f8..452e32d9120b 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -8,6 +8,84 @@ + +## [Release 3.6.0](https://github.com/DataDog/dd-trace-dotnet/releases/tag/v3.6.0) + +## Summary + +* Adds support for .NET 9 +* Adds DSM support for AWS SNS +* Add support for baggage propagation +* [CI Visibility] Add support for coverlet.msbuild coverage reporting +* [Dynamic Instrumentation] Collect code origin for exit spans +* [ASM] Fix shutdown bug +* [Continuous Profiler] Fix crash at shutdown + +## Changes + +### Tracer +* Baggage part 3/3: add public api to `Datadog.Trace.Manual` (#6190) +* Baggage part 2/3: propagation (#6158) +* Remove dependency on System.IO.Compression for .NET Framework build (#6192) +* Add default value to StringBuilderCache, and use in more places (#6232) +* Enable baggage propagator by default (#6258) +* Add support for `AllowWriteStreamBuffering=false` in `WebRequest` for .NET 9 (#6271) +* Add initial support for .NET 9 (#6265) +* Ensure that we never run any call target instrumentations in partial trust (#6290) + +### CI Visibility +* [CI Visibility] Add more checks for the object pack files (#6256) +* [CI Visibility] GitInfoProvider refactor (#6259) +* [CI Visibility] Add support for coverlet.msbuild coverage reporting (#6284) +* [CI Visibility] Fix GitCommandParser test (#6289) +* [CI Visibility] Catch some gitinfo exceptions. (#6297) + +### ASM +* [ASM] Avoid HttpRequestValidationException when reading body or namevalueCollection values (#6185) +* [ASM] Fix issue with waf disposing while it might concurrently be updating (#6250) +* [ASM] Serialize ASM tags and metrics (#6272) +* [ASM] Fix benchmarks AppSecBodyBenchmarks: have a trace context to avoid null reference exceptions (#6274) +* [ASM] IAST: Add web form tests (#6276) +* [ASM] iast: Fix `Microsoft.Data.Sqlite` database tainting (#6295) +* [IAST] Minor cleanup in IAST aspects (#6293) +* [IAST] Updated CallSite IL Dump (#6240) + +### Continuous Profiler +* [Profiler] CPU profiler: Check if the stackwalk lock was not already taken (#6198) +* [Profiler] Prevent `StackSamplerLoop` from crashing at shutdown (#6238) +* [Profiler] Add metrics for cpu and walltime profilers (#6267) +* [Profiler] Fix crash at shutdown with the `timer_create`-based CPU profiler (#6268) + +### Debugger +* [Dynamic Instrumentation] DEBUG-2916 Stabilize the probe processor (#6077) +* [Dynamic Instrumentation] DEBUG-3088 Add object pool (#6105) +* [Dynamic Instrumentation] DEBUG-2913 Fix runtime reflection exceptions when getting field value (#6078) +* [Dynamic Instrumentation] DEBUG-2602 Collection expressions fixes (#6087) +* [Dynamic Instrumentation] DEBUG-3076 Code origin for exit spans (#6216) +* [Dynamic Instrumentation] DEBUG-3110 Fix how we access span in probe processor (#6242) + +### Miscellaneous +* Add DSM support for AWS SNS (#6253) +* Downgrade error to warning (#6263) +* Improve docs for building on mac (APMSP-1425) (#6254) +* baggage propagator clean up (#6266) +* Add additional exclusions for dependency collection (#6282) + +### Build / Test +* [IAST] Macos compilation warning fix (#6255) +* [refacto] Unify SNS and SQS instrumentation code (#6199) +* Add additional exclusions to for obsolete libraries (#6231) +* Fix typo in create_draft_release.yml (#6246) +* [Test Package Versions Bump] Updating package versions (#6249) +* Make snapshot tests compatible with running on Docker v2 (#6260) +* Fix R2R build for OSX-ARM64 (#6264) +* Small fixes for .NET 9 (#6277) +* Exclude Paket from exploration tests for now (#6283) +* Fix r2r manual instrumentation issue in .NET 9 x86 (#6286) +* Add more smoke testing for .NET 9 (#6296) + +[Changes since 3.5.0](https://github.com/DataDog/dd-trace-dotnet/compare/v3.5.0...v3.6.0) + ## [Release 3.5.0](https://github.com/DataDog/dd-trace-dotnet/releases/tag/v3.5.0) ## Summary diff --git a/profiler/src/ProfilerEngine/Datadog.Linux.ApiWrapper/CMakeLists.txt b/profiler/src/ProfilerEngine/Datadog.Linux.ApiWrapper/CMakeLists.txt index be994fe05aff..6cda401905df 100644 --- a/profiler/src/ProfilerEngine/Datadog.Linux.ApiWrapper/CMakeLists.txt +++ b/profiler/src/ProfilerEngine/Datadog.Linux.ApiWrapper/CMakeLists.txt @@ -2,7 +2,7 @@ # Project definition # ****************************************************** -project("Datadog.Linux.ApiWrapper" VERSION 3.6.0) +project("Datadog.Linux.ApiWrapper" VERSION 3.7.0) # ****************************************************** # Compiler options diff --git a/profiler/src/ProfilerEngine/Datadog.Profiler.Native.Linux/CMakeLists.txt b/profiler/src/ProfilerEngine/Datadog.Profiler.Native.Linux/CMakeLists.txt index f4f1209fe77f..7380b571dd4e 100644 --- a/profiler/src/ProfilerEngine/Datadog.Profiler.Native.Linux/CMakeLists.txt +++ b/profiler/src/ProfilerEngine/Datadog.Profiler.Native.Linux/CMakeLists.txt @@ -2,7 +2,7 @@ # Project definition # ****************************************************** -project("Datadog.Profiler.Native.Linux" VERSION 3.6.0) +project("Datadog.Profiler.Native.Linux" VERSION 3.7.0) option(RUN_ASAN "Build with Clang Undefined-Behavior Sanitizer" OFF) option(RUN_UBSAN "Build with Clang Undefined-Behavior Sanitizer" OFF) diff --git a/profiler/src/ProfilerEngine/Datadog.Profiler.Native.Windows/Resource.rc b/profiler/src/ProfilerEngine/Datadog.Profiler.Native.Windows/Resource.rc index c7e03daef5fe..c62471c9d840 100644 --- a/profiler/src/ProfilerEngine/Datadog.Profiler.Native.Windows/Resource.rc +++ b/profiler/src/ProfilerEngine/Datadog.Profiler.Native.Windows/Resource.rc @@ -62,8 +62,8 @@ END // ------- version info ------------------------------------------------------- VS_VERSION_INFO VERSIONINFO -FILEVERSION 3,6,0,0 -PRODUCTVERSION 3,6,0,0 +FILEVERSION 3,7,0,0 +PRODUCTVERSION 3,7,0,0 FILEFLAGSMASK VS_FF_PRERELEASE FILEOS VOS_NT FILETYPE VFT_DLL @@ -74,12 +74,12 @@ BEGIN BEGIN VALUE "CompanyName", "Datadog" VALUE "FileDescription", "Continuous Profiler for .NET Applications" - VALUE "FileVersion", "3.6.0.0" + VALUE "FileVersion", "3.7.0.0" VALUE "InternalName", "Native Profiler Engine" VALUE "LegalCopyright", "(c) Datadog 2020-2022" VALUE "OriginalFilename", "Datadog.Profiler.Native.dll" VALUE "ProductName", "Continuous Profiler for .NET Applications" - VALUE "ProductVersion", "3.6.0.0" + VALUE "ProductVersion", "3.7.0.0" END END BLOCK "VarFileInfo" diff --git a/profiler/src/ProfilerEngine/Datadog.Profiler.Native/dd_profiler_version.h b/profiler/src/ProfilerEngine/Datadog.Profiler.Native/dd_profiler_version.h index fa69f0b7b37a..5bd449a4d8c8 100644 --- a/profiler/src/ProfilerEngine/Datadog.Profiler.Native/dd_profiler_version.h +++ b/profiler/src/ProfilerEngine/Datadog.Profiler.Native/dd_profiler_version.h @@ -3,4 +3,4 @@ #pragma once -constexpr auto PROFILER_VERSION = "3.6.0"; +constexpr auto PROFILER_VERSION = "3.7.0"; diff --git a/profiler/src/ProfilerEngine/ProductVersion.props b/profiler/src/ProfilerEngine/ProductVersion.props index fc07f79861d7..779f180027dc 100644 --- a/profiler/src/ProfilerEngine/ProductVersion.props +++ b/profiler/src/ProfilerEngine/ProductVersion.props @@ -5,7 +5,7 @@ - 3.6.0 + 3.7.0 diff --git a/shared/src/Datadog.Trace.ClrProfiler.Native/CMakeLists.txt b/shared/src/Datadog.Trace.ClrProfiler.Native/CMakeLists.txt index 579fdc402fbb..baf64396f7d3 100644 --- a/shared/src/Datadog.Trace.ClrProfiler.Native/CMakeLists.txt +++ b/shared/src/Datadog.Trace.ClrProfiler.Native/CMakeLists.txt @@ -12,7 +12,7 @@ endif() # Project definition # ****************************************************** -project("Datadog.Trace.ClrProfiler.Native" VERSION 3.6.0) +project("Datadog.Trace.ClrProfiler.Native" VERSION 3.7.0) if (UNIVERSAL) find_package(GlibcCompat REQUIRED) diff --git a/shared/src/Datadog.Trace.ClrProfiler.Native/Resource.rc b/shared/src/Datadog.Trace.ClrProfiler.Native/Resource.rc index e822adc3333a..2d0dad24a432 100644 --- a/shared/src/Datadog.Trace.ClrProfiler.Native/Resource.rc +++ b/shared/src/Datadog.Trace.ClrProfiler.Native/Resource.rc @@ -57,8 +57,8 @@ VS_VERSION_INFO VERSIONINFO #else FILEFLAGS 0x0L #endif - FILEVERSION 3,6,0,0 - PRODUCTVERSION 3,6,0,0 + FILEVERSION 3,7,0,0 + PRODUCTVERSION 3,7,0,0 FILEOS VOS_NT FILETYPE VFT_DLL BEGIN @@ -68,12 +68,12 @@ BEGIN BEGIN VALUE "CompanyName", "Datadog" VALUE "FileDescription", "Native loader for Datadog .NET APM" - VALUE "FileVersion", "3.6.0.0" + VALUE "FileVersion", "3.7.0.0" VALUE "InternalName", "Native loader" VALUE "LegalCopyright", "(c) Datadog 2020-2022" VALUE "OriginalFilename", "Datadog.Trace.ClrProfiler.Native.dll" VALUE "ProductName", "Native loader for Datadog .NET APM" - VALUE "ProductVersion", "3.6.0.0" + VALUE "ProductVersion", "3.7.0.0" END END BLOCK "VarFileInfo" diff --git a/shared/src/msi-installer/WindowsInstaller.wixproj b/shared/src/msi-installer/WindowsInstaller.wixproj index 733e6ffc8fcf..68e6d084c48f 100644 --- a/shared/src/msi-installer/WindowsInstaller.wixproj +++ b/shared/src/msi-installer/WindowsInstaller.wixproj @@ -17,9 +17,9 @@ obj\$(Configuration)\$(Platform)\ True false - datadog-dotnet-apm-3.6.0-$(Platform) + datadog-dotnet-apm-3.7.0-$(Platform) $(MSBuildThisFileDirectory)..\..\bin\monitoring-home - InstallerVersion=3.6.0;MonitoringHomeDirectory=$(MonitoringHomeDirectory); + InstallerVersion=3.7.0;MonitoringHomeDirectory=$(MonitoringHomeDirectory); $(DefineConstants);Debug diff --git a/shared/src/native-src/version.h b/shared/src/native-src/version.h index 1f9206e3f1ef..e73f82b780b8 100644 --- a/shared/src/native-src/version.h +++ b/shared/src/native-src/version.h @@ -1,3 +1,3 @@ #pragma once -constexpr auto PROFILER_VERSION = "3.6.0"; +constexpr auto PROFILER_VERSION = "3.7.0"; diff --git a/tracer/build/_build/Build.cs b/tracer/build/_build/Build.cs index 6a3de37eece3..6b7143506830 100644 --- a/tracer/build/_build/Build.cs +++ b/tracer/build/_build/Build.cs @@ -62,7 +62,7 @@ partial class Build : NukeBuild const int LatestMajorVersion = 3; [Parameter("The current version of the source and build")] - readonly string Version = "3.6.0"; + readonly string Version = "3.7.0"; [Parameter("Whether the current build version is a prerelease(for packaging purposes)")] readonly bool IsPrerelease = false; diff --git a/tracer/build/artifacts/dd-dotnet.sh b/tracer/build/artifacts/dd-dotnet.sh index 97acb51eeb43..80f1424d3f66 100755 --- a/tracer/build/artifacts/dd-dotnet.sh +++ b/tracer/build/artifacts/dd-dotnet.sh @@ -1,6 +1,6 @@ #!/bin/sh -TRACER_VERSION="3.6.0" +TRACER_VERSION="3.7.0" # Get the directory of the script DIR=$(dirname "$(readlink -f "$0")") diff --git a/tracer/samples/AutomaticTraceIdInjection/Log4NetExample/Log4NetExample.csproj b/tracer/samples/AutomaticTraceIdInjection/Log4NetExample/Log4NetExample.csproj index f3363f8f101a..8759509ea74e 100644 --- a/tracer/samples/AutomaticTraceIdInjection/Log4NetExample/Log4NetExample.csproj +++ b/tracer/samples/AutomaticTraceIdInjection/Log4NetExample/Log4NetExample.csproj @@ -7,7 +7,7 @@ - + diff --git a/tracer/samples/AutomaticTraceIdInjection/MicrosoftExtensionsExample/MicrosoftExtensionsExample.csproj b/tracer/samples/AutomaticTraceIdInjection/MicrosoftExtensionsExample/MicrosoftExtensionsExample.csproj index 845b04ddffdf..0179abd67e63 100644 --- a/tracer/samples/AutomaticTraceIdInjection/MicrosoftExtensionsExample/MicrosoftExtensionsExample.csproj +++ b/tracer/samples/AutomaticTraceIdInjection/MicrosoftExtensionsExample/MicrosoftExtensionsExample.csproj @@ -6,7 +6,7 @@ - + diff --git a/tracer/samples/AutomaticTraceIdInjection/NLog40Example/NLog40Example.csproj b/tracer/samples/AutomaticTraceIdInjection/NLog40Example/NLog40Example.csproj index 96361ca6832e..6456a6ebc2ca 100644 --- a/tracer/samples/AutomaticTraceIdInjection/NLog40Example/NLog40Example.csproj +++ b/tracer/samples/AutomaticTraceIdInjection/NLog40Example/NLog40Example.csproj @@ -7,7 +7,7 @@ - + diff --git a/tracer/samples/AutomaticTraceIdInjection/NLog45Example/NLog45Example.csproj b/tracer/samples/AutomaticTraceIdInjection/NLog45Example/NLog45Example.csproj index 43ad43dceceb..713901b243e0 100644 --- a/tracer/samples/AutomaticTraceIdInjection/NLog45Example/NLog45Example.csproj +++ b/tracer/samples/AutomaticTraceIdInjection/NLog45Example/NLog45Example.csproj @@ -7,7 +7,7 @@ - + diff --git a/tracer/samples/AutomaticTraceIdInjection/NLog46Example/NLog46Example.csproj b/tracer/samples/AutomaticTraceIdInjection/NLog46Example/NLog46Example.csproj index 62f4008d9117..b7cf4dd57538 100644 --- a/tracer/samples/AutomaticTraceIdInjection/NLog46Example/NLog46Example.csproj +++ b/tracer/samples/AutomaticTraceIdInjection/NLog46Example/NLog46Example.csproj @@ -7,7 +7,7 @@ - + diff --git a/tracer/samples/AutomaticTraceIdInjection/SerilogExample/SerilogExample.csproj b/tracer/samples/AutomaticTraceIdInjection/SerilogExample/SerilogExample.csproj index 0f964097f7f6..82f2bba6f6f4 100644 --- a/tracer/samples/AutomaticTraceIdInjection/SerilogExample/SerilogExample.csproj +++ b/tracer/samples/AutomaticTraceIdInjection/SerilogExample/SerilogExample.csproj @@ -7,7 +7,7 @@ - + diff --git a/tracer/samples/ConsoleApp/Alpine3.10.dockerfile b/tracer/samples/ConsoleApp/Alpine3.10.dockerfile index 81295de375e7..66c854d4a62c 100644 --- a/tracer/samples/ConsoleApp/Alpine3.10.dockerfile +++ b/tracer/samples/ConsoleApp/Alpine3.10.dockerfile @@ -16,7 +16,7 @@ COPY --from=build /app/out . # Set up Datadog APM RUN apk --no-cache update && apk add curl -ARG TRACER_VERSION=3.5.0 +ARG TRACER_VERSION=3.6.0 RUN mkdir -p /var/log/datadog RUN mkdir -p /opt/datadog RUN curl -L https://github.com/DataDog/dd-trace-dotnet/releases/download/v${TRACER_VERSION}/datadog-dotnet-apm-${TRACER_VERSION}-musl.tar.gz \ diff --git a/tracer/samples/ConsoleApp/Alpine3.9.dockerfile b/tracer/samples/ConsoleApp/Alpine3.9.dockerfile index 4931fc077682..74f9057a6d7e 100644 --- a/tracer/samples/ConsoleApp/Alpine3.9.dockerfile +++ b/tracer/samples/ConsoleApp/Alpine3.9.dockerfile @@ -16,7 +16,7 @@ COPY --from=build /app/out . # Set up Datadog APM RUN apk --no-cache update && apk add curl -ARG TRACER_VERSION=3.5.0 +ARG TRACER_VERSION=3.6.0 RUN mkdir -p /var/log/datadog RUN mkdir -p /opt/datadog RUN curl -L https://github.com/DataDog/dd-trace-dotnet/releases/download/v${TRACER_VERSION}/datadog-dotnet-apm-${TRACER_VERSION}-musl.tar.gz \ diff --git a/tracer/samples/ConsoleApp/Debian.dockerfile b/tracer/samples/ConsoleApp/Debian.dockerfile index a4d5e5fb0523..e3a6c5a16718 100644 --- a/tracer/samples/ConsoleApp/Debian.dockerfile +++ b/tracer/samples/ConsoleApp/Debian.dockerfile @@ -15,7 +15,7 @@ WORKDIR /app COPY --from=build /app/out . # Set up Datadog APM -ARG TRACER_VERSION=3.5.0 +ARG TRACER_VERSION=3.6.0 RUN mkdir -p /var/log/datadog RUN mkdir -p /opt/datadog RUN curl -LO https://github.com/DataDog/dd-trace-dotnet/releases/download/v${TRACER_VERSION}/datadog-dotnet-apm_${TRACER_VERSION}_amd64.deb diff --git a/tracer/samples/OpenTelemetry/Debian.dockerfile b/tracer/samples/OpenTelemetry/Debian.dockerfile index 186723acc1e0..d5c97d7d20e5 100644 --- a/tracer/samples/OpenTelemetry/Debian.dockerfile +++ b/tracer/samples/OpenTelemetry/Debian.dockerfile @@ -16,7 +16,7 @@ WORKDIR /app COPY --from=build /app/out . # Download the Datadog .NET Tracer -ARG TRACER_VERSION=3.5.0 +ARG TRACER_VERSION=3.6.0 RUN mkdir -p /var/log/datadog RUN mkdir -p /opt/datadog RUN curl -LO https://github.com/DataDog/dd-trace-dotnet/releases/download/v${TRACER_VERSION}/datadog-dotnet-apm_${TRACER_VERSION}_amd64.deb diff --git a/tracer/samples/WindowsContainer/Dockerfile b/tracer/samples/WindowsContainer/Dockerfile index 2ac7a6907504..1191075349bb 100644 --- a/tracer/samples/WindowsContainer/Dockerfile +++ b/tracer/samples/WindowsContainer/Dockerfile @@ -6,7 +6,7 @@ FROM mcr.microsoft.com/dotnet/aspnet:5.0-windowsservercore-ltsc2019 AS base WORKDIR /app -ARG TRACER_VERSION=3.5.0 +ARG TRACER_VERSION=3.6.0 ENV DD_TRACER_VERSION=$TRACER_VERSION ENV ASPNETCORE_URLS=http://*.80 diff --git a/tracer/src/Datadog.Trace.BenchmarkDotNet/Datadog.Trace.BenchmarkDotNet.csproj b/tracer/src/Datadog.Trace.BenchmarkDotNet/Datadog.Trace.BenchmarkDotNet.csproj index abb55ee49d50..7c3596264585 100644 --- a/tracer/src/Datadog.Trace.BenchmarkDotNet/Datadog.Trace.BenchmarkDotNet.csproj +++ b/tracer/src/Datadog.Trace.BenchmarkDotNet/Datadog.Trace.BenchmarkDotNet.csproj @@ -1,7 +1,7 @@ - 3.6.0 + 3.7.0 Datadog CI Visibility - BenchmarkDotNet BenchmarkDotNet exporter for Datadog CI Visibility enable diff --git a/tracer/src/Datadog.Trace.Bundle/Datadog.Trace.Bundle.csproj b/tracer/src/Datadog.Trace.Bundle/Datadog.Trace.Bundle.csproj index d0a146bd4113..8b4378915430 100644 --- a/tracer/src/Datadog.Trace.Bundle/Datadog.Trace.Bundle.csproj +++ b/tracer/src/Datadog.Trace.Bundle/Datadog.Trace.Bundle.csproj @@ -1,7 +1,7 @@ - 3.6.0 + 3.7.0 Datadog APM Auto-instrumentation Assets Auto-instrumentation assets for Datadog APM false diff --git a/tracer/src/Datadog.Trace.ClrProfiler.Managed.Loader/Datadog.Trace.ClrProfiler.Managed.Loader.csproj b/tracer/src/Datadog.Trace.ClrProfiler.Managed.Loader/Datadog.Trace.ClrProfiler.Managed.Loader.csproj index 9cf8ed951245..a8c5f63b1fae 100644 --- a/tracer/src/Datadog.Trace.ClrProfiler.Managed.Loader/Datadog.Trace.ClrProfiler.Managed.Loader.csproj +++ b/tracer/src/Datadog.Trace.ClrProfiler.Managed.Loader/Datadog.Trace.ClrProfiler.Managed.Loader.csproj @@ -6,7 +6,7 @@ ..\bin\ProfilerResources\ - 3.6.0 + 3.7.0 false diff --git a/tracer/src/Datadog.Trace.ClrProfiler.Managed.Loader/Startup.cs b/tracer/src/Datadog.Trace.ClrProfiler.Managed.Loader/Startup.cs index 9199e4353c03..aa494b24297a 100644 --- a/tracer/src/Datadog.Trace.ClrProfiler.Managed.Loader/Startup.cs +++ b/tracer/src/Datadog.Trace.ClrProfiler.Managed.Loader/Startup.cs @@ -16,7 +16,7 @@ namespace Datadog.Trace.ClrProfiler.Managed.Loader /// public partial class Startup { - private const string AssemblyName = "Datadog.Trace, Version=3.6.0.0, Culture=neutral, PublicKeyToken=def86d061d0d2eeb"; + private const string AssemblyName = "Datadog.Trace, Version=3.7.0.0, Culture=neutral, PublicKeyToken=def86d061d0d2eeb"; private const string AzureAppServicesKey = "DD_AZURE_APP_SERVICES"; private static int _startupCtorInitialized; diff --git a/tracer/src/Datadog.Trace.MSBuild/Datadog.Trace.MSBuild.csproj b/tracer/src/Datadog.Trace.MSBuild/Datadog.Trace.MSBuild.csproj index 84edb83070ab..a3847086bf9b 100644 --- a/tracer/src/Datadog.Trace.MSBuild/Datadog.Trace.MSBuild.csproj +++ b/tracer/src/Datadog.Trace.MSBuild/Datadog.Trace.MSBuild.csproj @@ -1,7 +1,7 @@ - 3.6.0 + 3.7.0 - 3.6.0 + 3.7.0 net461;netstandard2.0;netcoreapp3.1 Datadog.Trace Datadog APM diff --git a/tracer/src/Datadog.Trace.OpenTracing/Datadog.Trace.OpenTracing.csproj b/tracer/src/Datadog.Trace.OpenTracing/Datadog.Trace.OpenTracing.csproj index d79c03ba12a3..70b8c0f999cc 100644 --- a/tracer/src/Datadog.Trace.OpenTracing/Datadog.Trace.OpenTracing.csproj +++ b/tracer/src/Datadog.Trace.OpenTracing/Datadog.Trace.OpenTracing.csproj @@ -2,7 +2,7 @@ - 3.6.0 + 3.7.0 Datadog APM - OpenTracing Provides OpenTracing support for Datadog APM $(PackageTags);OpenTracing diff --git a/tracer/src/Datadog.Trace.Tools.Runner/Datadog.Trace.Tools.Runner.csproj b/tracer/src/Datadog.Trace.Tools.Runner/Datadog.Trace.Tools.Runner.csproj index 7ae0094678a7..2b18dd2cc4f4 100644 --- a/tracer/src/Datadog.Trace.Tools.Runner/Datadog.Trace.Tools.Runner.csproj +++ b/tracer/src/Datadog.Trace.Tools.Runner/Datadog.Trace.Tools.Runner.csproj @@ -1,7 +1,7 @@ - 3.6.0 + 3.7.0 Datadog APM Auto-instrumentation Runner Copyright 2020 Datadog, Inc. Auto-instrumentation dotnet global tool for Datadog APM diff --git a/tracer/src/Datadog.Trace.Tools.dd_dotnet/Datadog.Trace.Tools.dd_dotnet.csproj b/tracer/src/Datadog.Trace.Tools.dd_dotnet/Datadog.Trace.Tools.dd_dotnet.csproj index beeb0157059a..492670c8cb15 100644 --- a/tracer/src/Datadog.Trace.Tools.dd_dotnet/Datadog.Trace.Tools.dd_dotnet.csproj +++ b/tracer/src/Datadog.Trace.Tools.dd_dotnet/Datadog.Trace.Tools.dd_dotnet.csproj @@ -1,7 +1,7 @@ - 3.6.0 + 3.7.0 Datadog APM Auto-instrumentation Launcher Copyright 2020 Datadog, Inc. Auto-instrumentation dotnet tool for Datadog APM diff --git a/tracer/src/Datadog.Trace.Trimming/Datadog.Trace.Trimming.csproj b/tracer/src/Datadog.Trace.Trimming/Datadog.Trace.Trimming.csproj index abc8582b4366..54289bcdb55d 100644 --- a/tracer/src/Datadog.Trace.Trimming/Datadog.Trace.Trimming.csproj +++ b/tracer/src/Datadog.Trace.Trimming/Datadog.Trace.Trimming.csproj @@ -1,7 +1,7 @@ - 3.6.0 + 3.7.0 $(Version)-prerelease diff --git a/tracer/src/Datadog.Trace/Datadog.Trace.csproj b/tracer/src/Datadog.Trace/Datadog.Trace.csproj index 8727bb7ba9a5..55b4e4b986e6 100644 --- a/tracer/src/Datadog.Trace/Datadog.Trace.csproj +++ b/tracer/src/Datadog.Trace/Datadog.Trace.csproj @@ -2,7 +2,7 @@ - 3.6.0 + 3.7.0 Datadog APM Instrumentation library for Datadog APM. true diff --git a/tracer/src/Datadog.Trace/TracerConstants.cs b/tracer/src/Datadog.Trace/TracerConstants.cs index eeeec8e8c0d2..2b998b0fc8a9 100644 --- a/tracer/src/Datadog.Trace/TracerConstants.cs +++ b/tracer/src/Datadog.Trace/TracerConstants.cs @@ -8,7 +8,7 @@ namespace Datadog.Trace internal static class TracerConstants { public const string Language = "dotnet"; - public const string AssemblyVersion = "3.6.0.0"; - public const string ThreePartVersion = "3.6.0"; + public const string AssemblyVersion = "3.7.0.0"; + public const string ThreePartVersion = "3.7.0"; } } diff --git a/tracer/src/Datadog.Tracer.Native/CMakeLists.txt b/tracer/src/Datadog.Tracer.Native/CMakeLists.txt index 1bc5053ab19d..8bc15de6ecf4 100644 --- a/tracer/src/Datadog.Tracer.Native/CMakeLists.txt +++ b/tracer/src/Datadog.Tracer.Native/CMakeLists.txt @@ -12,7 +12,7 @@ endif() # Project definition # ****************************************************** -project("Datadog.Tracer.Native" VERSION 3.6.0) +project("Datadog.Tracer.Native" VERSION 3.7.0) # ****************************************************** # Environment detection diff --git a/tracer/src/Datadog.Tracer.Native/Resource.rc b/tracer/src/Datadog.Tracer.Native/Resource.rc index 6d452443b10b..9597322bc9b2 100644 --- a/tracer/src/Datadog.Tracer.Native/Resource.rc +++ b/tracer/src/Datadog.Tracer.Native/Resource.rc @@ -50,8 +50,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 3,6,0,0 - PRODUCTVERSION 3,6,0,0 + FILEVERSION 3,7,0,0 + PRODUCTVERSION 3,7,0,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -68,12 +68,12 @@ BEGIN BEGIN VALUE "CompanyName", "Datadog, Inc." VALUE "FileDescription", "Datadog CLR Profiler" - VALUE "FileVersion", "3.6.0.0" + VALUE "FileVersion", "3.7.0.0" VALUE "InternalName", "Datadog.Tracer.Native.DLL" VALUE "LegalCopyright", "Copyright 2017 Datadog, Inc." VALUE "OriginalFilename", "Datadog.Tracer.Native.DLL" VALUE "ProductName", "Datadog .NET Tracer" - VALUE "ProductVersion", "3.6.0" + VALUE "ProductVersion", "3.7.0" END END BLOCK "VarFileInfo" diff --git a/tracer/src/Datadog.Tracer.Native/dd_profiler_constants.h b/tracer/src/Datadog.Tracer.Native/dd_profiler_constants.h index 270a084f364f..311e152a1191 100644 --- a/tracer/src/Datadog.Tracer.Native/dd_profiler_constants.h +++ b/tracer/src/Datadog.Tracer.Native/dd_profiler_constants.h @@ -111,7 +111,7 @@ const shared::WSTRING system_private_corelib_assemblyName = WStr("System.Private const shared::WSTRING datadog_trace_clrprofiler_managed_loader_assemblyName = WStr("Datadog.Trace.ClrProfiler.Managed.Loader"); const shared::WSTRING managed_profiler_full_assembly_version = - WStr("Datadog.Trace, Version=3.6.0.0, Culture=neutral, PublicKeyToken=def86d061d0d2eeb"); + WStr("Datadog.Trace, Version=3.7.0.0, Culture=neutral, PublicKeyToken=def86d061d0d2eeb"); const shared::WSTRING managed_profiler_name = WStr("Datadog.Trace"); const shared::WSTRING manual_instrumentation_name = WStr("Datadog.Trace.Manual"); @@ -159,7 +159,7 @@ const AssemblyProperty managed_profiler_assembly_property = AssemblyProperty( 49, 105, 236, 40, 21, 176, 12, 238, 238, 204, 141, 90, 27, 244, 61, 182, 125, 41, 97, 163, 233, 190, 161, 57, 127, 4, 62, 192, 116, 145, 112, 150, 73, 37, 47, 85, 101, 183, 86, 197}, 160, 32772, 1) - .WithVersion(3, 6, 0, 0); + .WithVersion(3, 7, 0, 0); } // namespace trace diff --git a/tracer/tools/PipelineMonitor/PipelineMonitor.csproj b/tracer/tools/PipelineMonitor/PipelineMonitor.csproj index eebb3eb8c2be..b2871ed1a075 100644 --- a/tracer/tools/PipelineMonitor/PipelineMonitor.csproj +++ b/tracer/tools/PipelineMonitor/PipelineMonitor.csproj @@ -8,7 +8,7 @@ - + From 0897e58cbe8f5cb4e7f4461153f6f80dee5d108b Mon Sep 17 00:00:00 2001 From: Andrew Lock Date: Wed, 20 Nov 2024 13:28:21 +0000 Subject: [PATCH 02/17] Use agent telemetry proxy instead of the standalone telemetry (#6324) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary of changes Use the agent proxy instead of the standalone telemetry in the HttpMessageHandlerTests ## Reason for change Currently (after updating the VM images) the non-socket handler tests fail due to a lack of telemetry. I really don't understand how or why - the logs show that we are _successfully_ sending telemetry _somewhere_ 😬 Will investigate that in parallel. Note also, this _only_ impacts alpine with .NET Core 2.1, 3.0, and 3.1. Debian or .NET 5+ are unaffected 🤷‍♂️ ## Implementation details Switched to using the agent proxy for telemetry (and added some missing extension helpers to the helper) ## Test coverage The same really, there's no reason we need to use the external telemetry proxy for these tests. ## Other details Will follow up once we have more details. Hopefully this will finally unblock the builds --- .../Helpers/TelemetryHelper.cs | 8 ++++++- .../HttpMessageHandlerTests.cs | 22 +++++++++---------- 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/Helpers/TelemetryHelper.cs b/tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/Helpers/TelemetryHelper.cs index 4476c183baba..a8b1c02249d2 100644 --- a/tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/Helpers/TelemetryHelper.cs +++ b/tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/Helpers/TelemetryHelper.cs @@ -47,11 +47,17 @@ public static void AssertIntegrationDisabled(this MockTelemetryAgent telemetry, } public static void AssertIntegrationEnabled(this MockTracerAgent mockAgent, IntegrationId integrationId) + => mockAgent.AssertIntegration(integrationId, enabled: true, autoEnabled: true); + + public static void AssertIntegrationDisabled(this MockTracerAgent mockAgent, IntegrationId integrationId) + => mockAgent.AssertIntegration(integrationId, enabled: false, autoEnabled: true); + + public static void AssertIntegration(this MockTracerAgent mockAgent, IntegrationId integrationId, bool enabled, bool? autoEnabled) { mockAgent.WaitForLatestTelemetry(x => ((TelemetryData)x).IsRequestType(TelemetryRequestTypes.AppClosing)); var allData = mockAgent.Telemetry.Cast().ToArray(); - AssertIntegration(allData, integrationId, true, true); + AssertIntegration(allData, integrationId, enabled, autoEnabled); } public static void AssertIntegration(this MockTelemetryAgent telemetry, IntegrationId integrationId, bool enabled, bool? autoEnabled) diff --git a/tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/HttpMessageHandlerTests.cs b/tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/HttpMessageHandlerTests.cs index c305fff9ccaf..ff131f2ef7fc 100644 --- a/tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/HttpMessageHandlerTests.cs +++ b/tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/HttpMessageHandlerTests.cs @@ -103,8 +103,7 @@ public async Task HttpClient_SubmitsTraces( var isExternalSpan = metadataSchemaVersion == "v0"; var clientSpanServiceName = isExternalSpan ? $"{EnvironmentHelper.FullSampleName}-http-client" : EnvironmentHelper.FullSampleName; - using var telemetry = this.ConfigureTelemetry(); - using (var agent = EnvironmentHelper.GetMockAgent()) + using (var agent = EnvironmentHelper.GetMockAgent(useTelemetry: true)) using (ProcessResult processResult = await RunSampleAndWaitForExit(agent, arguments: $"Port={httpPort}")) { agent.SpanFilters.Add(s => s.Type == SpanTypes.Http); @@ -166,11 +165,11 @@ public async Task HttpClient_SubmitsTraces( } using var scope = new AssertionScope(); - telemetry.AssertIntegrationEnabled(IntegrationId.HttpMessageHandler); + agent.AssertIntegrationEnabled(IntegrationId.HttpMessageHandler); // ignore for now auto enabled for simplicity - telemetry.AssertIntegration(IntegrationId.HttpSocketsHandler, enabled: IsUsingSocketHandler(instrumentation), autoEnabled: null); - telemetry.AssertIntegration(IntegrationId.WinHttpHandler, enabled: IsUsingWinHttpHandler(instrumentation), autoEnabled: null); - telemetry.AssertIntegration(IntegrationId.CurlHandler, enabled: IsUsingCurlHandler(instrumentation), autoEnabled: null); + agent.AssertIntegration(IntegrationId.HttpSocketsHandler, enabled: IsUsingSocketHandler(instrumentation), autoEnabled: null); + agent.AssertIntegration(IntegrationId.WinHttpHandler, enabled: IsUsingWinHttpHandler(instrumentation), autoEnabled: null); + agent.AssertIntegration(IntegrationId.CurlHandler, enabled: IsUsingCurlHandler(instrumentation), autoEnabled: null); VerifyInstrumentation(processResult.Process); } } @@ -197,10 +196,9 @@ public async Task TracingDisabled_DoesNotSubmitsTraces(InstrumentationOptions in SetInstrumentationVerification(); ConfigureInstrumentation(instrumentation, enableSocketsHandler); - using var telemetry = this.ConfigureTelemetry(); int httpPort = TcpPortProvider.GetOpenPort(); - using (var agent = EnvironmentHelper.GetMockAgent()) + using (var agent = EnvironmentHelper.GetMockAgent(useTelemetry: true)) using (ProcessResult processResult = await RunSampleAndWaitForExit(agent, arguments: $"TracingDisabled Port={httpPort}")) { var spans = agent.Spans.Where(s => s.Type == SpanTypes.Http); @@ -216,10 +214,10 @@ public async Task TracingDisabled_DoesNotSubmitsTraces(InstrumentationOptions in using var scope = new AssertionScope(); // ignore auto enabled for simplicity - telemetry.AssertIntegrationDisabled(IntegrationId.HttpMessageHandler); - telemetry.AssertIntegration(IntegrationId.HttpSocketsHandler, enabled: false, autoEnabled: null); - telemetry.AssertIntegration(IntegrationId.WinHttpHandler, enabled: false, autoEnabled: null); - telemetry.AssertIntegration(IntegrationId.CurlHandler, enabled: false, autoEnabled: null); + agent.AssertIntegrationDisabled(IntegrationId.HttpMessageHandler); + agent.AssertIntegration(IntegrationId.HttpSocketsHandler, enabled: false, autoEnabled: null); + agent.AssertIntegration(IntegrationId.WinHttpHandler, enabled: false, autoEnabled: null); + agent.AssertIntegration(IntegrationId.CurlHandler, enabled: false, autoEnabled: null); VerifyInstrumentation(processResult.Process); } } From 534ec8964bb32bb6306b59434f9ca00914f2e11d Mon Sep 17 00:00:00 2001 From: Andrew Lock Date: Wed, 20 Nov 2024 13:32:40 +0000 Subject: [PATCH 03/17] Fix the debug symbol publish step in release process (#6312) ## Summary of changes Fixes the debug symbol publish step in release process. ## Reason for change It's still broken. ## Implementation details Use the correct path ## Test coverage Nope ## Other details If at first you don't succeed, fail, and fail again... --- .github/workflows/create_draft_release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/create_draft_release.yml b/.github/workflows/create_draft_release.yml index e18255bb2392..726561515e89 100644 --- a/.github/workflows/create_draft_release.yml +++ b/.github/workflows/create_draft_release.yml @@ -110,7 +110,7 @@ jobs: shell: bash run: | mkdir debug_symbols - tar -zxvf linux-native-symbols.tar.gz -C debug_symbols + tar -zxvf ${{steps.assets.outputs.artifacts_path}}/linux-native-symbols.tar.gz -C debug_symbols - name: 'Push debug symbols to datadog' uses: ./.github/actions/publish-debug-symbols From a142bb94c4f5d981424834d8f17fe4dfcdf91bc8 Mon Sep 17 00:00:00 2001 From: NachoEchevarria <53266532+NachoEchevarria@users.noreply.github.com> Date: Wed, 20 Nov 2024 14:34:10 +0100 Subject: [PATCH 04/17] [ASM] Restore IAST unit tests (#6294) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary of changes Some IAST string tests were failing under the prerelease version of .Net 9. It seems that they don't fail with the official .net 9 release version, which suggest that the optimizations that were are added to the prerelease were finally discarded. That means that the changed IAST tests can be safely restored. ## Reason for change ## Implementation details ## Test coverage ## Other details --- .../ReflectionInjection/AssemblyTests.cs | 4 +++ .../String/StringConcatTests.cs | 12 ++++---- .../String/StringFormatTests.cs | 2 +- .../Vulnerabilities/String/StringJoinTests.cs | 28 +++++++++---------- .../String/StringMaxRangesTests.cs | 6 ++-- 5 files changed, 28 insertions(+), 24 deletions(-) diff --git a/tracer/test/test-applications/integrations/Samples.InstrumentedTests/Vulnerabilities/ReflectionInjection/AssemblyTests.cs b/tracer/test/test-applications/integrations/Samples.InstrumentedTests/Vulnerabilities/ReflectionInjection/AssemblyTests.cs index 91089fc6b900..0919f7539616 100644 --- a/tracer/test/test-applications/integrations/Samples.InstrumentedTests/Vulnerabilities/ReflectionInjection/AssemblyTests.cs +++ b/tracer/test/test-applications/integrations/Samples.InstrumentedTests/Vulnerabilities/ReflectionInjection/AssemblyTests.cs @@ -64,14 +64,18 @@ public void GivenAnAssembly_LoadFromNotTainted_NotVulnerable() [Fact] public void GivenAnAssembly_LoadFromTaintedHash_VulnerabilityIsReported() { +#pragma warning disable SYSLIB0056 // Type or member is obsolete try { Assembly.LoadFrom(taintedAssembly, null, System.Configuration.Assemblies.AssemblyHashAlgorithm.SHA1); } catch { /* ignore */ } +#pragma warning restore SYSLIB0056 // Type or member is obsolete AssertVulnerable(); } [Fact] public void GivenAnAssembly_LoadFromNotTaintedHash_NotVulnerable() { +#pragma warning disable SYSLIB0056 // Type or member is obsolete try { Assembly.LoadFrom(notTaintedAssembly, null, System.Configuration.Assemblies.AssemblyHashAlgorithm.SHA1); } catch { /* ignore */ } +#pragma warning restore SYSLIB0056 // Type or member is obsolete AssertNotVulnerable(); } diff --git a/tracer/test/test-applications/integrations/Samples.InstrumentedTests/Vulnerabilities/String/StringConcatTests.cs b/tracer/test/test-applications/integrations/Samples.InstrumentedTests/Vulnerabilities/String/StringConcatTests.cs index 31aa640574db..3a9e1fc043cd 100644 --- a/tracer/test/test-applications/integrations/Samples.InstrumentedTests/Vulnerabilities/String/StringConcatTests.cs +++ b/tracer/test/test-applications/integrations/Samples.InstrumentedTests/Vulnerabilities/String/StringConcatTests.cs @@ -83,7 +83,7 @@ public void GivenStringConcatOperations_WhenPerformedWithGenerics_ResultIsOK() [Fact] public void GivenAStringConcatOneString_WhenPerformed_ResultIsOK() { - AssertTaintedFormatWithOriginalCallCheck(":+-tainted-+:", String.Concat(taintedValue), () => String.Concat(new[] { taintedValue })); + AssertTaintedFormatWithOriginalCallCheck(":+-tainted-+:", String.Concat(taintedValue), () => String.Concat(taintedValue)); } [Fact] @@ -265,7 +265,7 @@ public void GivenATaintedString_WhenCallingConcatWithStringNullParam_ResultIsTai [Fact] public void GivenATaintedString_WhenCallingConcat_ResultIsTainted() { - AssertTaintedFormatWithOriginalCallCheck(":+-tainted-+:", String.Concat(taintedValue), () => String.Concat(new[] { taintedValue })); + AssertTaintedFormatWithOriginalCallCheck(":+-tainted-+:", String.Concat(taintedValue), () => String.Concat(taintedValue)); } [Fact] @@ -419,7 +419,7 @@ public void GivenStringConcatObjectFourParamsWithBoth_WhenConcat_ResultIsTainted AssertTaintedFormatWithOriginalCallCheck( ":+-TaintedObject-+:UntaintedObject:+-OtherTaintedObject-+:OtherUntaintedObject", String.Concat(TaintedObject, UntaintedObject, OtherTaintedObject, OtherUntaintedObject), - () => String.Concat(new [] { TaintedObject, UntaintedObject, OtherTaintedObject, OtherUntaintedObject })); + () => String.Concat(TaintedObject, UntaintedObject, OtherTaintedObject, OtherUntaintedObject)); } @@ -429,7 +429,7 @@ public void GivenStringConcatObjectFourParamsWithUntainted_WhenConcat_ResultIsTa AssertTaintedFormatWithOriginalCallCheck( "UntaintedObject:+-TaintedObject-+:OtherUntaintedObject:+-OtherTaintedObject-+:", String.Concat(UntaintedObject, TaintedObject, OtherUntaintedObject, OtherTaintedObject), - () => String.Concat(new [] { UntaintedObject, TaintedObject, OtherUntaintedObject, OtherTaintedObject })); + () => String.Concat(UntaintedObject, TaintedObject, OtherUntaintedObject, OtherTaintedObject)); } [Fact] @@ -493,7 +493,7 @@ public void GivenATaintedObject_WhenCallingConcatWith3ObjectParams_ResultIsTaint [Fact] public void GivenATaintedObject_WhenCallingConcatWith4ObjectParams_ResultIsTainted() { - AssertTaintedFormatWithOriginalCallCheck(":+-TAINTED2-+:concat:+-tainted-+:concat2", String.Concat(taintedValue2, (object)"concat", taintedValue, (object)"concat2"), () => String.Concat(new object[] { taintedValue2, (object)"concat", taintedValue, (object)"concat2" })); + AssertTaintedFormatWithOriginalCallCheck(":+-TAINTED2-+:concat:+-tainted-+:concat2", String.Concat(taintedValue2, (object)"concat", taintedValue, (object)"concat2"), () => String.Concat(taintedValue2, (object)"concat", taintedValue, (object)"concat2")); } [Fact] @@ -637,7 +637,7 @@ public void GivenATaintedObject_WhenCallingConcatWithGenericObjectListParam_Resu [Fact] public void GivenAListOfObjects_WhenCallingConcat_ThenNoExceptionIsThrown() { - AssertTaintedFormatWithOriginalCallCheck(":+-tainted-+:4str2", String.Concat(taintedValue, 4, null, "str2"), () => String.Concat(new object[] { taintedValue, 4, null, "str2" })); + AssertTaintedFormatWithOriginalCallCheck(":+-tainted-+:4str2", String.Concat(taintedValue, 4, null, "str2"), () => String.Concat(taintedValue, 4, null, "str2")); } [Fact] diff --git a/tracer/test/test-applications/integrations/Samples.InstrumentedTests/Vulnerabilities/String/StringFormatTests.cs b/tracer/test/test-applications/integrations/Samples.InstrumentedTests/Vulnerabilities/String/StringFormatTests.cs index 909b70913b7d..12e23632c57f 100644 --- a/tracer/test/test-applications/integrations/Samples.InstrumentedTests/Vulnerabilities/String/StringFormatTests.cs +++ b/tracer/test/test-applications/integrations/Samples.InstrumentedTests/Vulnerabilities/String/StringFormatTests.cs @@ -54,7 +54,7 @@ public void GivenATaintedObject_WhenCallingFormatWithProvider_ResultIsTainted3() string str = "Literal with tainteds {0}{1} and untainted {2} and tainted {3} and another untainted {4}"; AssertTaintedFormatWithOriginalCallCheck(":+-Literal with tainteds taintedcustomformatTAINTED2customformat and untainted UntaintedStringcustomformat and tainted TAINTED2customformat and another untainted OtherUntaintedStringcustomformat-+:", String.Format(new FormatProviderForTest(), str, _taintedValue, _taintedValue2, _untaintedString, _taintedValue2, _otherUntaintedString), - () => String.Format(new FormatProviderForTest(), str, new object[] { _taintedValue, _taintedValue2, _untaintedString, _taintedValue2, _otherUntaintedString })); + () => String.Format(new FormatProviderForTest(), str, _taintedValue, _taintedValue2, _untaintedString, _taintedValue2, _otherUntaintedString)); } [Fact] diff --git a/tracer/test/test-applications/integrations/Samples.InstrumentedTests/Vulnerabilities/String/StringJoinTests.cs b/tracer/test/test-applications/integrations/Samples.InstrumentedTests/Vulnerabilities/String/StringJoinTests.cs index 36a656aabbc2..4e52cf89e625 100644 --- a/tracer/test/test-applications/integrations/Samples.InstrumentedTests/Vulnerabilities/String/StringJoinTests.cs +++ b/tracer/test/test-applications/integrations/Samples.InstrumentedTests/Vulnerabilities/String/StringJoinTests.cs @@ -37,7 +37,7 @@ public void GivenATaintedObject_WhenCallingJoinWithObjectArray_ResultIsTainted() [Fact] public void GivenATaintedObject_WhenCallingJoinWithObjectArray_ResultIsTainted2() { - AssertTaintedFormatWithOriginalCallCheck(":+-tainted-+:,:+-TAINTED2-+:", String.Join(",", taintedValue, taintedValue2), () => String.Join(",", new[] { taintedValue , taintedValue2 })); + AssertTaintedFormatWithOriginalCallCheck(":+-tainted-+:,:+-TAINTED2-+:", String.Join(",", taintedValue, taintedValue2), () => String.Join(",", taintedValue , taintedValue2)); } [Fact] @@ -55,7 +55,7 @@ public void GivenATaintedObject_WhenCallingJoinWithStringArray_ResultIsTainted() [Fact] public void GivenATaintedObject_WhenCallingJoinWithStringArray_ResultIsTainted2() { - AssertTaintedFormatWithOriginalCallCheck(":+-tainted-+:,:+-TAINTED2-+:", String.Join(",", taintedValue, taintedValue2), () => String.Join(",", new[] { taintedValue, taintedValue2 })); + AssertTaintedFormatWithOriginalCallCheck(":+-tainted-+:,:+-TAINTED2-+:", String.Join(",", taintedValue, taintedValue2), () => String.Join(",", taintedValue, taintedValue2)); } [Fact] @@ -144,7 +144,7 @@ public void GivenATaintedObject_WhenCallingJoinWithObjectArrayAndTaintedSeparato [Fact] public void GivenATaintedObject_WhenCallingJoinWithStringArrayOneNullParams_ResultIsTainted2() { - AssertTaintedFormatWithOriginalCallCheck(",:+-TAINTED2-+:", String.Join(",", null, taintedValue2), () => String.Join(",", new[] { null, taintedValue2 })); + AssertTaintedFormatWithOriginalCallCheck(",:+-TAINTED2-+:", String.Join(",", null, taintedValue2), () => String.Join(",", null, taintedValue2)); } [Fact] @@ -162,7 +162,7 @@ public void GivenATaintedObject_WhenCallingJoinWithObjectArrayAndNullSeparator_R [Fact] public void GivenATaintedObject_WhenCallingJoinWithStringArrayNullSeparator_ResultIsTainted2() { - AssertTaintedFormatWithOriginalCallCheck(":+-tainted-+::+-TAINTED2-+:", String.Join(null, taintedValue, taintedValue2), () => String.Join(null, new[] { taintedValue, taintedValue2 })); + AssertTaintedFormatWithOriginalCallCheck(":+-tainted-+::+-TAINTED2-+:", String.Join(null, taintedValue, taintedValue2), () => String.Join(null, taintedValue, taintedValue2)); } [Fact] @@ -216,7 +216,7 @@ public void GivenATaintedStringInStruct_WhenCallingJoin_ResultIsTainted4() [Fact] public void GivenATaintedStringInStruct_WhenCallingJoin_ResultIsTainted3() { - AssertTaintedFormatWithOriginalCallCheck("UntaintedString,:+-tainted-+:", String.Join(",", new StructForStringTest("UntaintedString"), new StructForStringTest(taintedValue)), () => String.Join(",", new object[] { new StructForStringTest("UntaintedString"), new StructForStringTest(taintedValue) })); + AssertTaintedFormatWithOriginalCallCheck("UntaintedString,:+-tainted-+:", String.Join(",", new StructForStringTest("UntaintedString"), new StructForStringTest(taintedValue)), () => String.Join(",", new StructForStringTest("UntaintedString"), new StructForStringTest(taintedValue))); } [Fact] @@ -234,19 +234,19 @@ public void GivenATaintedStringInClass_WhenCallingJoin_ResultIsTainted2() [Fact] public void GivenATaintedStringInClass_WhenCallingJoin_ResultIsTainted3() { - AssertTaintedFormatWithOriginalCallCheck("UntaintedString,:+-tainted-+:", String.Join(",", new ClassForStringTest("UntaintedString"), new ClassForStringTest(taintedValue)), () => String.Join(",", new object[] { new ClassForStringTest("UntaintedString"), new ClassForStringTest(taintedValue) })); + AssertTaintedFormatWithOriginalCallCheck("UntaintedString,:+-tainted-+:", String.Join(",", new ClassForStringTest("UntaintedString"), new ClassForStringTest(taintedValue)), () => String.Join(",", new ClassForStringTest("UntaintedString"), new ClassForStringTest(taintedValue))); } [Fact] public void GivenATaintedStringInClass_WhenCallingJoin_ResultIsTainted4() { - AssertTaintedFormatWithOriginalCallCheck("UntaintedString,:+-tainted-+:", String.Join(",", new ClassForStringTest("UntaintedString"), new ClassForStringTest(taintedValue)), () => String.Join(",", new object[] { new ClassForStringTest("UntaintedString"), new ClassForStringTest(taintedValue) })); + AssertTaintedFormatWithOriginalCallCheck("UntaintedString,:+-tainted-+:", String.Join(",", new ClassForStringTest("UntaintedString"), new ClassForStringTest(taintedValue)), () => String.Join(",", new ClassForStringTest("UntaintedString"), new ClassForStringTest(taintedValue))); } [Fact] public void GivenATaintedStringInClass_WhenCallingJoin_ResultIsTainted5() { - AssertTaintedFormatWithOriginalCallCheck(":+-tainted-+:", String.Join(",", new ClassForStringTest(taintedValue)), () => String.Join(",", new object[] { new ClassForStringTest(taintedValue) })); + AssertTaintedFormatWithOriginalCallCheck(":+-tainted-+:", String.Join(",", new ClassForStringTest(taintedValue)), () => String.Join(",", new ClassForStringTest(taintedValue))); } #if NETCOREAPP3_1_OR_GREATER @@ -296,7 +296,7 @@ public void GivenATaintedString_WhenCallingJoin_ResultIsTainted7() String.Concat(taintedValue, "eee"); AssertTaintedFormatWithOriginalCallCheck(":+-tainted-+:a:+-tainted-+:", String.Join('a', taintedValue, taintedValue), - () => String.Join('a', new[] { taintedValue, taintedValue })); + () => String.Join('a', taintedValue, taintedValue)); } [Fact] @@ -304,7 +304,7 @@ public void GivenATaintedString_WhenCallingJoin_ResultIsTainted8() { AssertTaintedFormatWithOriginalCallCheck(":+-tainted-+:a:+-tainted-+:", String.Join('a', (object)taintedValue, (object)taintedValue), - () => String.Join('a', new object[] { (object)taintedValue, (object)taintedValue })); + () => String.Join('a', (object)taintedValue, (object)taintedValue)); } [Fact] @@ -312,7 +312,7 @@ public void GivenATaintedString_WhenCallingJoin_ResultIsTainted9() { AssertTaintedFormatWithOriginalCallCheck(":+-tainted-+:a:+-tainted-+:a1", String.Join('a', (object)taintedValue, (object)taintedValue, 1), - () => String.Join('a', new object[] { (object)taintedValue, (object)taintedValue, 1 })); + () => String.Join('a', (object)taintedValue, (object)taintedValue, 1)); } [Fact] @@ -371,9 +371,9 @@ public void GivenSomeStrings_WhenJoin_ResultIsOk() string testString1 = (string) AddTainted("01"); string testString2 = (string) AddTainted("abc"); - AssertTaintedFormatWithOriginalCallCheck(":+-01-+:", String.Join("-", testString1), () => String.Join("-", new[] { testString1 })); - AssertTaintedFormatWithOriginalCallCheck(":+-01-+:", String.Join(separator, testString1), () => String.Join(separator, new[] { testString1 })); - AssertTaintedFormatWithOriginalCallCheck(":+-01-+:-:+-abc-+:", String.Join("-", testString1, testString2), () => String.Join("-", new[] { testString1, testString2 })); + AssertTaintedFormatWithOriginalCallCheck(":+-01-+:", String.Join("-", testString1), () => String.Join("-",testString1)); + AssertTaintedFormatWithOriginalCallCheck(":+-01-+:", String.Join(separator, testString1), () => String.Join(separator, testString1)); + AssertTaintedFormatWithOriginalCallCheck(":+-01-+:-:+-abc-+:", String.Join("-", testString1, testString2), () => String.Join("-", testString1, testString2)); } [Fact] diff --git a/tracer/test/test-applications/integrations/Samples.InstrumentedTests/Vulnerabilities/String/StringMaxRangesTests.cs b/tracer/test/test-applications/integrations/Samples.InstrumentedTests/Vulnerabilities/String/StringMaxRangesTests.cs index 18c7fab4ffdd..c7b2f5b3d078 100644 --- a/tracer/test/test-applications/integrations/Samples.InstrumentedTests/Vulnerabilities/String/StringMaxRangesTests.cs +++ b/tracer/test/test-applications/integrations/Samples.InstrumentedTests/Vulnerabilities/String/StringMaxRangesTests.cs @@ -22,7 +22,7 @@ public void GivenATaintedObject_WithAMaxedOutRanges_WhenCallingConcat_ResultIsTa AssertTaintedFormatWithOriginalCallCheck(":+-1-+:|:+-2-+:|:+-3-+:|:+-4-+:|:+-5-+:|:+-6-+:|:+-7-+:|:+-8-+:|:+-9-+:|:+-10-+:|", string.Concat(testString1, UntaintedString, testString2, UntaintedString, testString3, UntaintedString, testString4, UntaintedString, testString5, UntaintedString, testString6, UntaintedString, testString7, UntaintedString, testString8, UntaintedString, testString9, UntaintedString, testString10, UntaintedString), - () => string.Concat(new[] { testString1, UntaintedString, testString2, UntaintedString, testString3, UntaintedString, testString4, UntaintedString, testString5, UntaintedString, testString6, UntaintedString, testString7, UntaintedString, testString8, UntaintedString, testString9, UntaintedString, testString10, UntaintedString })); + () => string.Concat(testString1, UntaintedString, testString2, UntaintedString, testString3, UntaintedString, testString4, UntaintedString, testString5, UntaintedString, testString6, UntaintedString, testString7, UntaintedString, testString8, UntaintedString, testString9, UntaintedString, testString10, UntaintedString)); } // same but with 11 tainted strings @@ -44,7 +44,7 @@ public void GivenATaintedObject_WithAMaxedOutRangesDefault_WhenCallingConcat_Res AssertTaintedFormatWithOriginalCallCheck(":+-1-+:|:+-2-+:|:+-3-+:|:+-4-+:|:+-5-+:|:+-6-+:|:+-7-+:|:+-8-+:|:+-9-+:|:+-10-+:|11|12", string.Concat(testString1, UntaintedString, testString2, UntaintedString, testString3, UntaintedString, testString4, UntaintedString, testString5, UntaintedString, testString6, UntaintedString, testString7, UntaintedString, testString8, UntaintedString, testString9, UntaintedString, testString10, UntaintedString, testString11, UntaintedString, testString12), - () => string.Concat(new[] { testString1, UntaintedString, testString2, UntaintedString, testString3, UntaintedString, testString4, UntaintedString, testString5, UntaintedString, testString6, UntaintedString, testString7, UntaintedString, testString8, UntaintedString, testString9, UntaintedString, testString10, UntaintedString, testString11, UntaintedString, testString12 })); + () => string.Concat(testString1, UntaintedString, testString2, UntaintedString, testString3, UntaintedString, testString4, UntaintedString, testString5, UntaintedString, testString6, UntaintedString, testString7, UntaintedString, testString8, UntaintedString, testString9, UntaintedString, testString10, UntaintedString, testString11, UntaintedString, testString12)); } [Fact] @@ -64,6 +64,6 @@ public void GivenATaintedObject_WithAMaxedOutRangesDefault_WhenCallingConcatAndI AssertTaintedFormatWithOriginalCallCheck(":+-11-+::+-1-+:|:+-2-+:|:+-3-+:|:+-4-+:|:+-5-+:|:+-6-+:|:+-7-+:|:+-8-+:|:+-9-+:|10", string.Concat(testString1, UntaintedString, testString2, UntaintedString, testString3, UntaintedString, testString4, UntaintedString, testString5, UntaintedString, testString6, UntaintedString, testString7, UntaintedString, testString8, UntaintedString, testString9, UntaintedString, testString10).Insert(0, testString11), - () => string.Concat(new[] { testString1, UntaintedString, testString2, UntaintedString, testString3, UntaintedString, testString4, UntaintedString, testString5, UntaintedString, testString6, UntaintedString, testString7, UntaintedString, testString8, UntaintedString, testString9, UntaintedString, testString10 }).Insert(0, testString11)); + () => string.Concat(testString1, UntaintedString, testString2, UntaintedString, testString3, UntaintedString, testString4, UntaintedString, testString5, UntaintedString, testString6, UntaintedString, testString7, UntaintedString, testString8, UntaintedString, testString9, UntaintedString, testString10).Insert(0, testString11)); } } From 7566d1b6e8e377bd7809d3d494f1938d2ed86914 Mon Sep 17 00:00:00 2001 From: Gregory LEOCADIE Date: Wed, 20 Nov 2024 14:38:54 +0100 Subject: [PATCH 05/17] Fix CMake warnings (#6309) ## Summary of changes Fixes CMake warnings ## Reason for change Because .... --- CMakeLists.txt | 2 +- shared/src/Datadog.Trace.ClrProfiler.Native/CMakeLists.txt | 2 +- tracer/src/Datadog.Tracer.Native/CMakeLists.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a5e62e30e432..88325575aa6f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 3.8..3.19) +cmake_minimum_required (VERSION 3.13.4) cmake_policy(SET CMP0015 NEW) if(POLICY CMP0135) diff --git a/shared/src/Datadog.Trace.ClrProfiler.Native/CMakeLists.txt b/shared/src/Datadog.Trace.ClrProfiler.Native/CMakeLists.txt index baf64396f7d3..2598c70f4f6e 100644 --- a/shared/src/Datadog.Trace.ClrProfiler.Native/CMakeLists.txt +++ b/shared/src/Datadog.Trace.ClrProfiler.Native/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 3.8..3.19) +cmake_minimum_required (VERSION 3.13.4) cmake_policy(SET CMP0015 NEW) # macOS uses 3.30 which deprecates FetchContent_Populate in favor of FetchContent_MakeAvailable, diff --git a/tracer/src/Datadog.Tracer.Native/CMakeLists.txt b/tracer/src/Datadog.Tracer.Native/CMakeLists.txt index 8bc15de6ecf4..f2bdafca6bcf 100644 --- a/tracer/src/Datadog.Tracer.Native/CMakeLists.txt +++ b/tracer/src/Datadog.Tracer.Native/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 3.8..3.19) +cmake_minimum_required (VERSION 3.13.4) cmake_policy(SET CMP0015 NEW) # macOS uses 3.30 which deprecates FetchContent_Populate in favor of FetchContent_MakeAvailable, From b32c78865e5be6f7f76a80fc8400195afdf8b21f Mon Sep 17 00:00:00 2001 From: Kevin Gosse Date: Wed, 20 Nov 2024 14:50:01 +0100 Subject: [PATCH 06/17] Enable RuntimeMetricsShutdownSmokeTest only for .NET 9+ (#6316) ## Summary of changes Disable RuntimeMetricsShutdownSmokeTest in runtimes prior to .NET 9. ## Reason for change We get a ton of non-actionable failures because of https://github.com/dotnet/runtime/issues/103480, which defeats the purpose of the test. --- .../SmokeTests/RuntimeMetricsShutdownSmokeTest.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/SmokeTests/RuntimeMetricsShutdownSmokeTest.cs b/tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/SmokeTests/RuntimeMetricsShutdownSmokeTest.cs index a8dec0ff24a7..781cecf198fa 100644 --- a/tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/SmokeTests/RuntimeMetricsShutdownSmokeTest.cs +++ b/tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/SmokeTests/RuntimeMetricsShutdownSmokeTest.cs @@ -3,7 +3,7 @@ // This product includes software developed at Datadog (https://www.datadoghq.com/). Copyright 2017 Datadog, Inc. // -#if !NETFRAMEWORK +#if NET9_0_OR_GREATER using System.Threading.Tasks; using Xunit; From fb95b3e988661eccb6d0e0e3f13f3e1428b545e0 Mon Sep 17 00:00:00 2001 From: Andrew Lock Date: Wed, 20 Nov 2024 17:39:17 +0000 Subject: [PATCH 07/17] Fix typo in smoke test (#6300) ## Summary of changes Fix using incorrect TFM in smoke test ## Reason for change Typo ## Implementation details Fix the typo --- tracer/build/_build/Build.VariableGenerations.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tracer/build/_build/Build.VariableGenerations.cs b/tracer/build/_build/Build.VariableGenerations.cs index 316d29dcc5b3..f61697b19bd0 100644 --- a/tracer/build/_build/Build.VariableGenerations.cs +++ b/tracer/build/_build/Build.VariableGenerations.cs @@ -846,7 +846,7 @@ void GenerateLinuxNuGetSmokeTestsMatrix() "opensuse", new SmokeTestImage[] { - new (publishFramework: TargetFramework.NET7_0, "15-9.0"), + new (publishFramework: TargetFramework.NET9_0, "15-9.0"), new (publishFramework: TargetFramework.NET7_0, "15-7.0"), new (publishFramework: TargetFramework.NET6_0, "15-6.0"), new (publishFramework: TargetFramework.NET5_0, "15-5.0"), From 85e45e74d7771b981d4093f83830eb23db3c9ccc Mon Sep 17 00:00:00 2001 From: Gregory LEOCADIE Date: Thu, 21 Nov 2024 01:12:34 +0100 Subject: [PATCH 08/17] [Profiler] Fix a crash detected by crashtracker windows (#6328) --- .../ContentionProvider.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/profiler/src/ProfilerEngine/Datadog.Profiler.Native/ContentionProvider.cpp b/profiler/src/ProfilerEngine/Datadog.Profiler.Native/ContentionProvider.cpp index 7c6395077c85..bc6d9e7196ee 100644 --- a/profiler/src/ProfilerEngine/Datadog.Profiler.Native/ContentionProvider.cpp +++ b/profiler/src/ProfilerEngine/Datadog.Profiler.Native/ContentionProvider.cpp @@ -91,9 +91,12 @@ void ContentionProvider::OnContention(uint64_t timestamp, uint32_t threadId, dou void ContentionProvider::SetBlockingThread(uint64_t osThreadId) { std::shared_ptr info; - if (osThreadId != 0 && _pManagedThreadList->TryGetThreadInfo(static_cast(osThreadId), info)) + auto currentThreadInfo = ManagedThreadInfo::CurrentThreadInfo; + if (osThreadId != 0 && + currentThreadInfo != nullptr && + _pManagedThreadList->TryGetThreadInfo(static_cast(osThreadId), info)) { - ManagedThreadInfo::CurrentThreadInfo->SetBlockingThread(osThreadId, info->GetThreadName()); + currentThreadInfo->SetBlockingThread(osThreadId, info->GetThreadName()); } } @@ -101,7 +104,13 @@ void ContentionProvider::SetBlockingThread(uint64_t osThreadId) // It means that the current thread will be stack walking itself. void ContentionProvider::OnContention(double contentionDurationNs) { - auto [blockingThreadId, blockingThreadName] = ManagedThreadInfo::CurrentThreadInfo->SetBlockingThread(0, WStr("")); + auto currentThreadInfo = ManagedThreadInfo::CurrentThreadInfo; + if (currentThreadInfo == nullptr) + { + return; + } + + auto [blockingThreadId, blockingThreadName] = currentThreadInfo->SetBlockingThread(0, WStr("")); AddContentionSample(0, -1, contentionDurationNs, blockingThreadId, std::move(blockingThreadName), _emptyStack); } From 7826d354d492243718d33f96469683a73f0c151e Mon Sep 17 00:00:00 2001 From: NachoEchevarria <53266532+NachoEchevarria@users.noreply.github.com> Date: Thu, 21 Nov 2024 10:27:30 +0100 Subject: [PATCH 09/17] [ASM] Update WAF v1.21.0 Ruleset 1.13.3 (#6287) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary of changes This PR updates the WAF to its latest version: https://github.com/DataDog/libddwaf/releases/tag/1.21.0 The default ruleset has been also updated to version 1.13.3 https://github.com/DataDog/appsec-event-rules/releases/tag/1.13.3 ## Reason for change ## Implementation details ## Test coverage ## Other details --- tracer/build/_build/Build.Steps.cs | 2 +- .../smoke_test_snapshots.json | 6 +- .../smoke_test_snapshots_2_1.json | 6 +- .../AppSec/Waf/ConfigFiles/rule-set.json | 508 ++++++++++++------ .../WafErrorsTests.cs | 2 +- ...led.test-external-waf-headers.verified.txt | 2 +- ...led.test-external-waf-headers.verified.txt | 2 +- ...urityEnabled.test-null-action.verified.txt | 2 +- ..._test=blocking-user_url=_user.verified.txt | 4 +- ...ed.TestSecurityInitialization.verified.txt | 6 +- ...et.TestSecurityInitialization.verified.txt | 2 +- ...y.AspNetCore5AsmRemoteRules._.verified.txt | 6 +- ...rue.__test=blocking-ips_url=_.verified.txt | 8 +- ..._test=blocking-user_url=_user.verified.txt | 4 +- ...rue.__test=blocking-ips_url=_.verified.txt | 8 +- ..._test=blocking-user_url=_user.verified.txt | 4 +- ...=blocking-ips_url=_api_health.verified.txt | 4 +- ...t=blocking-user_url=_api_user.verified.txt | 8 +- ...=blocking-ips_url=_api_health.verified.txt | 8 +- ...t=blocking-user_url=_api_user.verified.txt | 4 +- ...locking-ips_url=_default.aspx.verified.txt | 4 +- ..._test=blocking-user_url=_user.verified.txt | 8 +- ...locking-ips_url=_default.aspx.verified.txt | 8 +- ..._test=blocking-user_url=_user.verified.txt | 4 +- 24 files changed, 409 insertions(+), 211 deletions(-) diff --git a/tracer/build/_build/Build.Steps.cs b/tracer/build/_build/Build.Steps.cs index 74d0d314a84e..465109298548 100644 --- a/tracer/build/_build/Build.Steps.cs +++ b/tracer/build/_build/Build.Steps.cs @@ -62,7 +62,7 @@ partial class Build AbsolutePath NativeBuildDirectory => RootDirectory / "obj"; - const string LibDdwafVersion = "1.20.1"; + const string LibDdwafVersion = "1.21.0"; string[] OlderLibDdwafVersions = { "1.3.0", "1.10.0", "1.14.0", "1.16.0" }; diff --git a/tracer/build/smoke_test_snapshots/smoke_test_snapshots.json b/tracer/build/smoke_test_snapshots/smoke_test_snapshots.json index 88dd2b5730e0..bcaf9b1ba703 100644 --- a/tracer/build/smoke_test_snapshots/smoke_test_snapshots.json +++ b/tracer/build/smoke_test_snapshots/smoke_test_snapshots.json @@ -38,8 +38,8 @@ "parent_id": 1, "type": "web", "meta": { - "_dd.appsec.event_rules.version": "1.13.2", - "_dd.appsec.waf.version": "1.20.1", + "_dd.appsec.event_rules.version": "1.13.3", + "_dd.appsec.waf.version": "1.21.0", "_dd.runtime_family": "dotnet", "_dd.appsec.s.req.params": "H4sIAAAAAAAAA4uuVkrOzyspys/JSS1Ssoq2iNVRSkwuyczPA3NqYwH+CR9jIQAAAA==", "_dd.appsec.s.res.body": "H4sIAAAAAAAAA4u2iAUA8YntnQMAAAA=", @@ -62,7 +62,7 @@ "metrics": { "_dd.appsec.enabled": 1.0, "_dd.appsec.event_rules.error_count": 0.0, - "_dd.appsec.event_rules.loaded": 158.0, + "_dd.appsec.event_rules.loaded": 159.0, "_dd.top_level": 1.0, "_dd.tracer_kr": 0.0, "_sampling_priority_v1": 2.0, diff --git a/tracer/build/smoke_test_snapshots/smoke_test_snapshots_2_1.json b/tracer/build/smoke_test_snapshots/smoke_test_snapshots_2_1.json index 1ec8ed0de971..f0e7d537d5aa 100644 --- a/tracer/build/smoke_test_snapshots/smoke_test_snapshots_2_1.json +++ b/tracer/build/smoke_test_snapshots/smoke_test_snapshots_2_1.json @@ -38,8 +38,8 @@ "parent_id": 1, "type": "web", "meta": { - "_dd.appsec.event_rules.version": "1.13.2", - "_dd.appsec.waf.version": "1.20.1", + "_dd.appsec.event_rules.version": "1.13.3", + "_dd.appsec.waf.version": "1.21.0", "_dd.runtime_family": "dotnet", "_dd.appsec.s.res.body": "H4sIAAAAAAAAA4u2iAUA8YntnQMAAAA=", "_dd.appsec.s.req.headers": "H4sIAAAAAAAAA4WOMQrAIBDA/uKsQ7fiVw6Ho4oVrIp3Q4v491JcLc4JJNAEVzwcMbITGgB2Y2QT0SWht27kwAWrSzzlt7LIaLNXjJ4WCuFVYkhelRpyDfws/NFVwa7S3+SfdmaarXfzAg6PMlH9AAAA", @@ -60,7 +60,7 @@ "metrics": { "_dd.appsec.enabled": 1.0, "_dd.appsec.event_rules.error_count": 0.0, - "_dd.appsec.event_rules.loaded": 158.0, + "_dd.appsec.event_rules.loaded": 159.0, "_dd.top_level": 1.0, "_dd.tracer_kr": 0.0, "_sampling_priority_v1": 2.0, diff --git a/tracer/src/Datadog.Trace/AppSec/Waf/ConfigFiles/rule-set.json b/tracer/src/Datadog.Trace/AppSec/Waf/ConfigFiles/rule-set.json index d0e486c6731f..2f53276c7e53 100644 --- a/tracer/src/Datadog.Trace/AppSec/Waf/ConfigFiles/rule-set.json +++ b/tracer/src/Datadog.Trace/AppSec/Waf/ConfigFiles/rule-set.json @@ -1,7 +1,7 @@ { "version": "2.2", "metadata": { - "rules_version": "1.13.2" + "rules_version": "1.13.3" }, "rules": [ { @@ -9,7 +9,8 @@ "name": "Block IP Addresses", "tags": { "type": "block_ip", - "category": "security_response" + "category": "security_response", + "module": "network-acl" }, "conditions": [ { @@ -34,7 +35,8 @@ "name": "Block User Addresses", "tags": { "type": "block_user", - "category": "security_response" + "category": "security_response", + "module": "authentication-acl" }, "conditions": [ { @@ -64,7 +66,8 @@ "tool_name": "Acunetix", "cwe": "200", "capec": "1000/118/169", - "confidence": "0" + "confidence": "0", + "module": "waf" }, "conditions": [ { @@ -98,7 +101,8 @@ "category": "attack_attempt", "cwe": "200", "capec": "1000/118/169", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -162,7 +166,8 @@ "category": "attack_attempt", "cwe": "176", "capec": "1000/255/153/267/71", - "confidence": "0" + "confidence": "0", + "module": "waf" }, "conditions": [ { @@ -191,7 +196,8 @@ "crs_id": "921110", "category": "attack_attempt", "cwe": "444", - "capec": "1000/210/272/220/33" + "capec": "1000/210/272/220/33", + "module": "waf" }, "conditions": [ { @@ -228,7 +234,8 @@ "crs_id": "921160", "category": "attack_attempt", "cwe": "113", - "capec": "1000/210/272/220/105" + "capec": "1000/210/272/220/105", + "module": "waf" }, "conditions": [ { @@ -263,7 +270,8 @@ "category": "attack_attempt", "cwe": "22", "capec": "1000/255/153/126", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -297,7 +305,8 @@ "category": "attack_attempt", "cwe": "22", "capec": "1000/255/153/126", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -1803,7 +1812,8 @@ "category": "attack_attempt", "cwe": "98", "capec": "1000/152/175/253/193", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -1831,7 +1841,8 @@ "crs_id": "931120", "category": "attack_attempt", "cwe": "98", - "capec": "1000/152/175/253/193" + "capec": "1000/152/175/253/193", + "module": "waf" }, "conditions": [ { @@ -1876,7 +1887,8 @@ "category": "attack_attempt", "cwe": "77", "capec": "1000/152/248/88", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -2388,7 +2400,8 @@ "category": "attack_attempt", "cwe": "77", "capec": "1000/152/248/88", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -2436,7 +2449,8 @@ "category": "attack_attempt", "cwe": "706", "capec": "1000/225/122/17/177", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -2500,7 +2514,8 @@ "category": "attack_attempt", "cwe": "434", "capec": "1000/225/122/17/650", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -2553,7 +2568,8 @@ "category": "attack_attempt", "cwe": "94", "capec": "1000/225/122/17/650", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -2620,7 +2636,8 @@ "crs_id": "933131", "category": "attack_attempt", "cwe": "94", - "capec": "1000/225/122/17/650" + "capec": "1000/225/122/17/650", + "module": "waf" }, "conditions": [ { @@ -2665,7 +2682,8 @@ "category": "attack_attempt", "cwe": "94", "capec": "1000/225/122/17/650", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -2709,7 +2727,8 @@ "category": "attack_attempt", "cwe": "94", "capec": "1000/225/122/17/650", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -2799,7 +2818,8 @@ "crs_id": "933160", "category": "attack_attempt", "cwe": "94", - "capec": "1000/225/122/17/650" + "capec": "1000/225/122/17/650", + "module": "waf" }, "conditions": [ { @@ -2824,7 +2844,7 @@ "address": "graphql.server.resolver" } ], - "regex": "\\b(?:s(?:e(?:t(?:_(?:e(?:xception|rror)_handler|magic_quotes_runtime|include_path)|defaultstub)|ssion_s(?:et_save_handler|tart))|qlite_(?:(?:(?:unbuffered|single|array)_)?query|create_(?:aggregate|function)|p?open|exec)|tr(?:eam_(?:context_create|socket_client)|ipc?slashes|rev)|implexml_load_(?:string|file)|ocket_c(?:onnect|reate)|h(?:ow_sourc|a1_fil)e|pl_autoload_register|ystem)|p(?:r(?:eg_(?:replace(?:_callback(?:_array)?)?|match(?:_all)?|split)|oc_(?:(?:terminat|clos|nic)e|get_status|open)|int_r)|o(?:six_(?:get(?:(?:e[gu]|g)id|login|pwnam)|mk(?:fifo|nod)|ttyname|kill)|pen)|hp(?:_(?:strip_whitespac|unam)e|version|info)|g_(?:(?:execut|prepar)e|connect|query)|a(?:rse_(?:ini_file|str)|ssthru)|utenv)|r(?:unkit_(?:function_(?:re(?:defin|nam)e|copy|add)|method_(?:re(?:defin|nam)e|copy|add)|constant_(?:redefine|add))|e(?:(?:gister_(?:shutdown|tick)|name)_function|ad(?:(?:gz)?file|_exif_data|dir))|awurl(?:de|en)code)|i(?:mage(?:createfrom(?:(?:jpe|pn)g|x[bp]m|wbmp|gif)|(?:jpe|pn)g|g(?:d2?|if)|2?wbmp|xbm)|s_(?:(?:(?:execut|write?|read)ab|fi)le|dir)|ni_(?:get(?:_all)?|set)|terator_apply|ptcembed)|g(?:et(?:_(?:c(?:urrent_use|fg_va)r|meta_tags)|my(?:[gpu]id|inode)|(?:lastmo|cw)d|imagesize|env)|z(?:(?:(?:defla|wri)t|encod|fil)e|compress|open|read)|lob)|a(?:rray_(?:u(?:intersect(?:_u?assoc)?|diff(?:_u?assoc)?)|intersect_u(?:assoc|key)|diff_u(?:assoc|key)|filter|reduce|map)|ssert(?:_options)?|tob)|h(?:tml(?:specialchars(?:_decode)?|_entity_decode|entities)|(?:ash(?:_(?:update|hmac))?|ighlight)_file|e(?:ader_register_callback|x2bin))|f(?:i(?:le(?:(?:[acm]tim|inod)e|(?:_exist|perm)s|group)?|nfo_open)|tp_(?:nb_(?:ge|pu)|connec|ge|pu)t|(?:unction_exis|pu)ts|write|open)|o(?:b_(?:get_(?:c(?:ontents|lean)|flush)|end_(?:clean|flush)|clean|flush|start)|dbc_(?:result(?:_all)?|exec(?:ute)?|connect)|pendir)|m(?:b_(?:ereg(?:_(?:replace(?:_callback)?|match)|i(?:_replace)?)?|parse_str)|(?:ove_uploaded|d5)_file|ethod_exists|ysql_query|kdir)|e(?:x(?:if_(?:t(?:humbnail|agname)|imagetype|read_data)|ec)|scapeshell(?:arg|cmd)|rror_reporting|val)|c(?:url_(?:file_create|exec|init)|onvert_uuencode|reate_function|hr)|u(?:n(?:serialize|pack)|rl(?:de|en)code|[ak]?sort)|b(?:(?:son_(?:de|en)|ase64_en)code|zopen|toa)|(?:json_(?:de|en)cod|debug_backtrac|tmpfil)e|var_dump)(?:\\s|/\\*.*\\*/|//.*|#.*|\\\"|')*\\((?:(?:\\s|/\\*.*\\*/|//.*|#.*)*(?:\\$\\w+|[A-Z\\d]\\w*|\\w+\\(.*\\)|\\\\?\"(?:[^\"]|\\\\\"|\"\"|\"\\+\")*\\\\?\"|\\\\?'(?:[^']|''|'\\+')*\\\\?')(?:\\s|/\\*.*\\*/|//.*|#.*)*(?:(?:::|\\.|->)(?:\\s|/\\*.*\\*/|//.*|#.*)*\\w+(?:\\(.*\\))?)?,)*(?:(?:\\s|/\\*.*\\*/|//.*|#.*)*(?:\\$\\w+|[A-Z\\d]\\w*|\\w+\\(.*\\)|\\\\?\"(?:[^\"]|\\\\\"|\"\"|\"\\+\")*\\\\?\"|\\\\?'(?:[^']|''|'\\+')*\\\\?')(?:\\s|/\\*.*\\*/|//.*|#.*)*(?:(?:::|\\.|->)(?:\\s|/\\*.*\\*/|//.*|#.*)*\\w+(?:\\(.*\\))?)?)?\\)", + "regex": "\\b(?:s(?:e(?:t(?:_(?:e(?:xception|rror)_handler|magic_quotes_runtime|include_path)|defaultstub)|ssion_s(?:et_save_handler|tart))|qlite_(?:(?:(?:unbuffered|single|array)_)?query|create_(?:aggregate|function)|p?open|exec)|tr(?:eam_(?:context_create|socket_client)|ipc?slashes|rev)|implexml_load_(?:string|file)|ocket_c(?:onnect|reate)|h(?:ow_sourc|a1_fil)e|pl_autoload_register|ystem)|p(?:r(?:eg_(?:replace(?:_callback(?:_array)?)?|match(?:_all)?|split)|oc_(?:(?:terminat|clos|nic)e|get_status|open)|int_r)|o(?:six_(?:get(?:(?:e[gu]|g)id|login|pwnam)|mk(?:fifo|nod)|ttyname|kill)|pen)|hp(?:_(?:strip_whitespac|unam)e|version|info)|g_(?:(?:execut|prepar)e|connect|query)|a(?:rse_(?:ini_file|str)|ssthru)|utenv)|r(?:unkit_(?:function_(?:re(?:defin|nam)e|copy|add)|method_(?:re(?:defin|nam)e|copy|add)|constant_(?:redefine|add))|e(?:(?:gister_(?:shutdown|tick)|name)_function|ad(?:(?:gz)?file|_exif_data|dir))|awurl(?:de|en)code)|i(?:mage(?:createfrom(?:(?:jpe|pn)g|x[bp]m|wbmp|gif)|(?:jpe|pn)g|g(?:d2?|if)|2?wbmp|xbm)|s_(?:(?:(?:execut|write?|read)ab|fi)le|dir)|ni_(?:get(?:_all)?|set)|terator_apply|ptcembed)|g(?:et(?:_(?:c(?:urrent_use|fg_va)r|meta_tags)|my(?:[gpu]id|inode)|(?:lastmo|cw)d|imagesize|env)|z(?:(?:(?:defla|wri)t|encod|fil)e|compress|open|read)|lob)|a(?:rray_(?:u(?:intersect(?:_u?assoc)?|diff(?:_u?assoc)?)|intersect_u(?:assoc|key)|diff_u(?:assoc|key)|filter|reduce|map)|ssert(?:_options)?|tob)|h(?:tml(?:specialchars(?:_decode)?|_entity_decode|entities)|(?:ash(?:_(?:update|hmac))?|ighlight)_file|e(?:ader_register_callback|x2bin))|f(?:i(?:le(?:(?:[acm]tim|inod)e|(?:_exist|perm)s|group)?|nfo_open)|tp_(?:nb_(?:ge|pu)|connec|ge|pu)t|(?:unction_exis|pu)ts|write|open)|o(?:b_(?:get_(?:c(?:ontents|lean)|flush)|end_(?:clean|flush)|clean|flush|start)|dbc_(?:result(?:_all)?|exec(?:ute)?|connect)|pendir)|m(?:b_(?:ereg(?:_(?:replace(?:_callback)?|match)|i(?:_replace)?)?|parse_str)|(?:ove_uploaded|d5)_file|ethod_exists|ysql_query|kdir)|e(?:x(?:if_(?:t(?:humbnail|agname)|imagetype|read_data)|ec)|scapeshell(?:arg|cmd)|rror_reporting|val)|c(?:url_(?:file_create|exec|init)|onvert_uuencode|reate_function|hr)|u(?:n(?:serialize|pack)|rl(?:de|en)code|[ak]?sort)|b(?:(?:son_(?:de|en)|ase64_en)code|zopen|toa)|(?:json_(?:de|en)cod|debug_backtrac|tmpfil)e|var_dump)(?:\\s|/\\*.*\\*/|//.*|#.*|\\\"|')*\\((?:(?:\\s|/\\*.*\\*/|//.*|#.*)*(?:\\$\\w+|[A-Z\\d]\\w*|\\w+\\(.*\\)|\\\\?\"(?:[^\"]|\\\\\"|\"\"|\"\\+\")*\\\\?\"|\\\\?'(?:[^']|''|'\\+')*\\\\?')(?:\\s|/\\*.*\\*/|//.*|#.*)*(?:(?:::|\\.|->)(?:\\s|/\\*.*\\*/|//.*|#.*)*\\w+(?:\\(.*\\))?)?,)*(?:(?:\\s|/\\*.*\\*/|//.*|#.*)*(?:\\$\\w+|[A-Z\\d]\\w*|\\w+\\(.*\\)|\\\\?\"(?:[^\"]|\\\\\"|\"\"|\"\\+\")*\\\\?\"|\\\\?'(?:[^']|''|'\\+')*\\\\?')(?:\\s|/\\*.*\\*/|//.*|#.*)*(?:(?:::|\\.|->)(?:\\s|/\\*.*\\*/|//.*|#.*)*\\w+(?:\\(.*\\))?)?)?\\)\\s*(?:[;\\.)}\\]|\\\\]|\\?>|%>|$)", "options": { "case_sensitive": true, "min_length": 5 @@ -2844,7 +2864,8 @@ "category": "attack_attempt", "cwe": "502", "capec": "1000/152/586", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -2891,7 +2912,8 @@ "crs_id": "933200", "category": "attack_attempt", "cwe": "502", - "capec": "1000/152/586" + "capec": "1000/152/586", + "module": "waf" }, "conditions": [ { @@ -2937,7 +2959,8 @@ "crs_id": "934100", "category": "attack_attempt", "cwe": "94", - "capec": "1000/152/242" + "capec": "1000/152/242", + "module": "waf" }, "conditions": [ { @@ -2982,7 +3005,8 @@ "category": "attack_attempt", "confidence": "1", "cwe": "94", - "capec": "1000/152/242" + "capec": "1000/152/242", + "module": "waf" }, "conditions": [ { @@ -3024,7 +3048,8 @@ "category": "attack_attempt", "cwe": "80", "capec": "1000/152/242/63/591", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -3081,7 +3106,8 @@ "category": "attack_attempt", "cwe": "83", "capec": "1000/152/242/63/591/243", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -3140,7 +3166,8 @@ "category": "attack_attempt", "cwe": "84", "capec": "1000/152/242/63/591/244", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -3199,7 +3226,8 @@ "category": "attack_attempt", "cwe": "83", "capec": "1000/152/242/63/591/243", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -3257,7 +3285,8 @@ "crs_id": "941180", "category": "attack_attempt", "cwe": "79", - "capec": "1000/152/242/63/591" + "capec": "1000/152/242/63/591", + "module": "waf" }, "conditions": [ { @@ -3311,7 +3340,8 @@ "category": "attack_attempt", "cwe": "80", "capec": "1000/152/242/63/591", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -3358,7 +3388,8 @@ "category": "attack_attempt", "cwe": "80", "capec": "1000/152/242/63/591", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -3405,7 +3436,8 @@ "category": "attack_attempt", "cwe": "80", "capec": "1000/152/242/63/591", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -3452,7 +3484,8 @@ "category": "attack_attempt", "cwe": "83", "capec": "1000/152/242/63/591/243", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -3498,7 +3531,8 @@ "category": "attack_attempt", "cwe": "83", "capec": "1000/152/242/63/591/243", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -3545,7 +3579,8 @@ "crs_id": "941270", "category": "attack_attempt", "cwe": "83", - "capec": "1000/152/242/63/591/243" + "capec": "1000/152/242/63/591/243", + "module": "waf" }, "conditions": [ { @@ -3588,7 +3623,8 @@ "category": "attack_attempt", "cwe": "83", "capec": "1000/152/242/63/591/243", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -3634,7 +3670,8 @@ "category": "attack_attempt", "cwe": "83", "capec": "1000/152/242/63/591/243", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -3680,7 +3717,8 @@ "category": "attack_attempt", "cwe": "83", "capec": "1000/152/242/63/591/243", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -3726,7 +3764,8 @@ "category": "attack_attempt", "cwe": "87", "capec": "1000/152/242/63/591/199", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -3770,7 +3809,8 @@ "crs_id": "941360", "category": "attack_attempt", "cwe": "87", - "capec": "1000/152/242/63/591/199" + "capec": "1000/152/242/63/591/199", + "module": "waf" }, "conditions": [ { @@ -3815,7 +3855,8 @@ "category": "attack_attempt", "confidence": "1", "cwe": "79", - "capec": "1000/152/242/63/591" + "capec": "1000/152/242/63/591", + "module": "waf" }, "conditions": [ { @@ -3859,7 +3900,8 @@ "crs_id": "942100", "category": "attack_attempt", "cwe": "89", - "capec": "1000/152/248/66" + "capec": "1000/152/248/66", + "module": "waf" }, "conditions": [ { @@ -3898,7 +3940,8 @@ "category": "attack_attempt", "cwe": "89", "capec": "1000/152/248/66/7", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -3943,7 +3986,8 @@ "category": "attack_attempt", "cwe": "89", "capec": "1000/152/248/66/7", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -3986,7 +4030,8 @@ "crs_id": "942250", "category": "attack_attempt", "cwe": "89", - "capec": "1000/152/248/66" + "capec": "1000/152/248/66", + "module": "waf" }, "conditions": [ { @@ -4030,7 +4075,8 @@ "crs_id": "942270", "category": "attack_attempt", "cwe": "89", - "capec": "1000/152/248/66" + "capec": "1000/152/248/66", + "module": "waf" }, "conditions": [ { @@ -4074,7 +4120,8 @@ "category": "attack_attempt", "cwe": "89", "capec": "1000/152/248/66/7", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -4117,7 +4164,8 @@ "crs_id": "942290", "category": "attack_attempt", "cwe": "943", - "capec": "1000/152/248/676" + "capec": "1000/152/248/676", + "module": "waf" }, "conditions": [ { @@ -4163,7 +4211,8 @@ "crs_id": "942360", "category": "attack_attempt", "cwe": "89", - "capec": "1000/152/248/66/470" + "capec": "1000/152/248/66/470", + "module": "waf" }, "conditions": [ { @@ -4206,7 +4255,8 @@ "crs_id": "942500", "category": "attack_attempt", "cwe": "89", - "capec": "1000/152/248/66" + "capec": "1000/152/248/66", + "module": "waf" }, "conditions": [ { @@ -4251,7 +4301,8 @@ "category": "attack_attempt", "cwe": "384", "capec": "1000/225/21/593/61", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -4296,7 +4347,8 @@ "category": "attack_attempt", "cwe": "94", "capec": "1000/152/242", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -4344,7 +4396,8 @@ "type": "java_code_injection", "category": "attack_attempt", "cwe": "94", - "capec": "1000/152/242" + "capec": "1000/152/242", + "module": "waf" }, "conditions": [ { @@ -4391,7 +4444,8 @@ "crs_id": "944130", "category": "attack_attempt", "cwe": "94", - "capec": "1000/152/242" + "capec": "1000/152/242", + "module": "waf" }, "conditions": [ { @@ -4529,7 +4583,8 @@ "type": "nosql_injection", "category": "attack_attempt", "cwe": "943", - "capec": "1000/152/248/676" + "capec": "1000/152/248/676", + "module": "waf" }, "conditions": [ { @@ -4573,7 +4628,8 @@ "type": "java_code_injection", "category": "attack_attempt", "cwe": "94", - "capec": "1000/152/242" + "capec": "1000/152/242", + "module": "waf" }, "conditions": [ { @@ -4619,7 +4675,8 @@ "category": "attack_attempt", "cwe": "94", "capec": "1000/152/242", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -4695,7 +4752,8 @@ "category": "attack_attempt", "cwe": "1321", "capec": "1000/152/242", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -4725,7 +4783,8 @@ "category": "attack_attempt", "cwe": "1321", "capec": "1000/152/242", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -4769,7 +4828,8 @@ "category": "attack_attempt", "cwe": "1336", "capec": "1000/152/242/19", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -4813,7 +4873,8 @@ "tool_name": "BurpCollaborator", "cwe": "200", "capec": "1000/118/169", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -4857,7 +4918,8 @@ "tool_name": "Qualys", "cwe": "200", "capec": "1000/118/169", - "confidence": "0" + "confidence": "0", + "module": "waf" }, "conditions": [ { @@ -4901,7 +4963,8 @@ "tool_name": "Probely", "cwe": "200", "capec": "1000/118/169", - "confidence": "0" + "confidence": "0", + "module": "waf" }, "conditions": [ { @@ -4944,7 +5007,8 @@ "category": "attack_attempt", "cwe": "200", "capec": "1000/118/169", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -4987,7 +5051,8 @@ "category": "attack_attempt", "cwe": "200", "capec": "1000/118/169", - "confidence": "0" + "confidence": "0", + "module": "waf" }, "conditions": [ { @@ -5031,7 +5096,8 @@ "tool_name": "Rapid7", "cwe": "200", "capec": "1000/118/169", - "confidence": "0" + "confidence": "0", + "module": "waf" }, "conditions": [ { @@ -5075,7 +5141,8 @@ "tool_name": "interact.sh", "cwe": "200", "capec": "1000/118/169", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -5119,7 +5186,8 @@ "tool_name": "Netsparker", "cwe": "200", "capec": "1000/118/169", - "confidence": "0" + "confidence": "0", + "module": "waf" }, "conditions": [ { @@ -5167,7 +5235,8 @@ "tool_name": "WhiteHatSecurity", "cwe": "200", "capec": "1000/118/169", - "confidence": "0" + "confidence": "0", + "module": "waf" }, "conditions": [ { @@ -5215,7 +5284,8 @@ "tool_name": "Nessus", "cwe": "200", "capec": "1000/118/169", - "confidence": "0" + "confidence": "0", + "module": "waf" }, "conditions": [ { @@ -5263,7 +5333,8 @@ "tool_name": "Watchtowr", "cwe": "200", "capec": "1000/118/169", - "confidence": "0" + "confidence": "0", + "module": "waf" }, "conditions": [ { @@ -5311,7 +5382,8 @@ "tool_name": "AppCheckNG", "cwe": "200", "capec": "1000/118/169", - "confidence": "0" + "confidence": "0", + "module": "waf" }, "conditions": [ { @@ -5358,7 +5430,8 @@ "category": "attack_attempt", "cwe": "287", "capec": "1000/225/115", - "confidence": "0" + "confidence": "0", + "module": "waf" }, "conditions": [ { @@ -5392,7 +5465,8 @@ "category": "attack_attempt", "cwe": "98", "capec": "1000/152/175/253/193", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -5436,7 +5510,8 @@ "category": "attack_attempt", "cwe": "77", "capec": "1000/152/248/88", - "confidence": "0" + "confidence": "0", + "module": "waf" }, "conditions": [ { @@ -5483,7 +5558,8 @@ "category": "attack_attempt", "cwe": "91", "capec": "1000/152/248/250", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -5521,7 +5597,8 @@ "category": "attack_attempt", "cwe": "83", "capec": "1000/152/242/63/591/243", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -5579,7 +5656,8 @@ "category": "attack_attempt", "cwe": "83", "capec": "1000/152/242/63/591/243", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -5866,7 +5944,8 @@ "category": "attack_attempt", "cwe": "200", "capec": "1000/118/169", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -5908,7 +5987,8 @@ "category": "attack_attempt", "cwe": "200", "capec": "1000/118/169", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -5950,7 +6030,8 @@ "category": "attack_attempt", "cwe": "200", "capec": "1000/118/169", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -5992,7 +6073,8 @@ "category": "attack_attempt", "cwe": "200", "capec": "1000/118/169", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -6034,7 +6116,8 @@ "category": "attack_attempt", "cwe": "200", "capec": "1000/118/169", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -6059,7 +6142,7 @@ "address": "server.request.uri.raw" } ], - "regex": "\\.(cgi|bat|dll|exe|key|cert|crt|pem|der|pkcs|pkcs|pkcs[0-9]*|nsf|jsa|war|java|class|vb|vba|so|git|svn|hg|cvs)([^a-zA-Z0-9_]|$)", + "regex": "\\.(cgi|bat|dll|exe|key|cert|crt|pem|der|pkcs|pkcs|pkcs[0-9]*|nsf|jsa|war|java|class|vb|vba|so|git|svn|hg|cvs)([?#&/]|$)", "options": { "case_sensitive": false } @@ -6076,7 +6159,8 @@ "category": "attack_attempt", "cwe": "200", "capec": "1000/118/169", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -6118,7 +6202,8 @@ "category": "attack_attempt", "cwe": "200", "capec": "1000/118/169", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -6160,7 +6245,8 @@ "category": "attack_attempt", "cwe": "200", "capec": "1000/118/169", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -6202,7 +6288,8 @@ "category": "attack_attempt", "cwe": "200", "capec": "1000/118/169", - "confidence": "0" + "confidence": "0", + "module": "waf" }, "conditions": [ { @@ -6276,7 +6363,7 @@ } ] }, - "operator": "lfi_detector" + "operator": "lfi_detector@v2" } ], "transformers": [], @@ -6286,7 +6373,7 @@ }, { "id": "rasp-932-100", - "name": "Command injection exploit", + "name": "Shell command injection exploit", "tags": { "type": "command_injection", "category": "vulnerability_trigger", @@ -6332,6 +6419,54 @@ "stack_trace" ] }, + { + "id": "rasp-932-110", + "name": "OS command injection exploit", + "tags": { + "type": "command_injection", + "category": "vulnerability_trigger", + "cwe": "77", + "capec": "1000/152/248/88", + "confidence": "0", + "module": "rasp" + }, + "conditions": [ + { + "parameters": { + "resource": [ + { + "address": "server.sys.exec.cmd" + } + ], + "params": [ + { + "address": "server.request.query" + }, + { + "address": "server.request.body" + }, + { + "address": "server.request.path_params" + }, + { + "address": "grpc.server.request.message" + }, + { + "address": "graphql.server.all_resolvers" + }, + { + "address": "graphql.server.resolver" + } + ] + }, + "operator": "cmdi_detector" + } + ], + "transformers": [], + "on_match": [ + "stack_trace" + ] + }, { "id": "rasp-934-100", "name": "Server-side request forgery exploit", @@ -6438,7 +6573,8 @@ "category": "attack_attempt", "cwe": "918", "capec": "1000/225/115/664", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -6482,7 +6618,8 @@ "type": "js_code_injection", "category": "attack_attempt", "cwe": "94", - "capec": "1000/152/242" + "capec": "1000/152/242", + "module": "waf" }, "conditions": [ { @@ -6527,7 +6664,8 @@ "category": "attack_attempt", "cwe": "78", "capec": "1000/152/248/88", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -6570,7 +6708,8 @@ "category": "attack_attempt", "cwe": "78", "capec": "1000/152/248/88", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -6615,7 +6754,8 @@ "category": "attack_attempt", "cwe": "78", "capec": "1000/152/248/88", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -6658,7 +6798,8 @@ "category": "attack_attempt", "cwe": "918", "capec": "1000/225/115/664", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -6701,7 +6842,8 @@ "category": "attack_attempt", "cwe": "918", "capec": "1000/225/115/664", - "confidence": "0" + "confidence": "0", + "module": "waf" }, "conditions": [ { @@ -6743,7 +6885,8 @@ "category": "attack_attempt", "cwe": "918", "capec": "1000/225/115/664", - "confidence": "0" + "confidence": "0", + "module": "waf" }, "conditions": [ { @@ -6785,7 +6928,8 @@ "category": "attack_attempt", "cwe": "918", "capec": "1000/225/115/664", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -6828,7 +6972,8 @@ "category": "attack_attempt", "cwe": "918", "capec": "1000/225/115/664", - "confidence": "0" + "confidence": "0", + "module": "waf" }, "conditions": [ { @@ -6870,7 +7015,8 @@ "category": "attack_attempt", "cwe": "94", "capec": "1000/152/242", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -6916,7 +7062,8 @@ "cwe": "200", "capec": "1000/118/169", "tool_name": "Joomla exploitation tool", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -6945,7 +7092,8 @@ "cwe": "200", "capec": "1000/118/169", "tool_name": "Nessus", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -6974,7 +7122,8 @@ "cwe": "200", "capec": "1000/118/169", "tool_name": "Arachni", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -7003,7 +7152,8 @@ "cwe": "200", "capec": "1000/118/169", "tool_name": "Jorgee", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -7032,7 +7182,8 @@ "cwe": "200", "capec": "1000/118/169", "tool_name": "Probely", - "confidence": "0" + "confidence": "0", + "module": "waf" }, "conditions": [ { @@ -7061,7 +7212,8 @@ "cwe": "200", "capec": "1000/118/169", "tool_name": "Metis", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -7090,7 +7242,8 @@ "cwe": "200", "capec": "1000/118/169", "tool_name": "SQLPowerInjector", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -7119,7 +7272,8 @@ "cwe": "200", "capec": "1000/118/169", "tool_name": "N-Stealth", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -7148,7 +7302,8 @@ "cwe": "200", "capec": "1000/118/169", "tool_name": "Brutus", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -7176,7 +7331,8 @@ "category": "attack_attempt", "cwe": "200", "capec": "1000/118/169", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -7205,7 +7361,8 @@ "cwe": "200", "capec": "1000/118/169", "tool_name": "Netsparker", - "confidence": "0" + "confidence": "0", + "module": "waf" }, "conditions": [ { @@ -7234,7 +7391,8 @@ "cwe": "200", "capec": "1000/118/169", "tool_name": "JAASCois", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -7263,7 +7421,8 @@ "cwe": "200", "capec": "1000/118/169", "tool_name": "Nsauditor", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -7292,7 +7451,8 @@ "cwe": "200", "capec": "1000/118/169", "tool_name": "Paros", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -7321,7 +7481,8 @@ "cwe": "200", "capec": "1000/118/169", "tool_name": "DirBuster", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -7350,7 +7511,8 @@ "cwe": "200", "capec": "1000/118/169", "tool_name": "Pangolin", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -7379,7 +7541,8 @@ "cwe": "200", "capec": "1000/118/169", "tool_name": "Qualys", - "confidence": "0" + "confidence": "0", + "module": "waf" }, "conditions": [ { @@ -7408,7 +7571,8 @@ "cwe": "200", "capec": "1000/118/169", "tool_name": "SQLNinja", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -7437,7 +7601,8 @@ "cwe": "200", "capec": "1000/118/169", "tool_name": "Nikto", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -7466,7 +7631,8 @@ "cwe": "200", "capec": "1000/118/169", "tool_name": "BlackWidow", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -7495,7 +7661,8 @@ "cwe": "200", "capec": "1000/118/169", "tool_name": "Grendel-Scan", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -7524,7 +7691,8 @@ "cwe": "200", "capec": "1000/118/169", "tool_name": "Havij", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -7553,7 +7721,8 @@ "cwe": "200", "capec": "1000/118/169", "tool_name": "w3af", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -7582,7 +7751,8 @@ "cwe": "200", "capec": "1000/118/169", "tool_name": "Nmap", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -7611,7 +7781,8 @@ "cwe": "200", "capec": "1000/118/169", "tool_name": "Nessus", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -7640,7 +7811,8 @@ "cwe": "200", "capec": "1000/118/169", "tool_name": "EvilScanner", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -7669,7 +7841,8 @@ "cwe": "200", "capec": "1000/118/169", "tool_name": "WebFuck", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -7698,7 +7871,8 @@ "cwe": "200", "capec": "1000/118/169", "tool_name": "OpenVAS", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -7727,7 +7901,8 @@ "cwe": "200", "capec": "1000/118/169", "tool_name": "Spider-Pig", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -7756,7 +7931,8 @@ "cwe": "200", "capec": "1000/118/169", "tool_name": "Zgrab", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -7785,7 +7961,8 @@ "cwe": "200", "capec": "1000/118/169", "tool_name": "Zmeu", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -7814,7 +7991,8 @@ "cwe": "200", "capec": "1000/118/169", "tool_name": "GoogleSecurityScanner", - "confidence": "0" + "confidence": "0", + "module": "waf" }, "conditions": [ { @@ -7843,7 +8021,8 @@ "cwe": "200", "capec": "1000/118/169", "tool_name": "Commix", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -7872,7 +8051,8 @@ "cwe": "200", "capec": "1000/118/169", "tool_name": "Gobuster", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -7901,7 +8081,8 @@ "cwe": "200", "capec": "1000/118/169", "tool_name": "CGIchk", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -7930,7 +8111,8 @@ "cwe": "200", "capec": "1000/118/169", "tool_name": "FFUF", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -7959,7 +8141,8 @@ "cwe": "200", "capec": "1000/118/169", "tool_name": "Nuclei", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -7988,7 +8171,8 @@ "cwe": "200", "capec": "1000/118/169", "tool_name": "Tsunami", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -8017,7 +8201,8 @@ "cwe": "200", "capec": "1000/118/169", "tool_name": "Nimbostratus", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -8046,7 +8231,8 @@ "cwe": "200", "capec": "1000/118/169", "tool_name": "Datadog Canary Test", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -8081,7 +8267,8 @@ "cwe": "200", "capec": "1000/118/169", "tool_name": "Datadog Canary Test", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -8119,7 +8306,8 @@ "cwe": "200", "capec": "1000/118/169", "tool_name": "AlertLogic", - "confidence": "0" + "confidence": "0", + "module": "waf" }, "conditions": [ { @@ -8148,7 +8336,8 @@ "cwe": "200", "capec": "1000/118/169", "tool_name": "wfuzz", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -8177,7 +8366,8 @@ "cwe": "200", "capec": "1000/118/169", "tool_name": "Detectify", - "confidence": "0" + "confidence": "0", + "module": "waf" }, "conditions": [ { @@ -8206,7 +8396,8 @@ "cwe": "200", "capec": "1000/118/169", "tool_name": "BSQLBF", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -8235,7 +8426,8 @@ "cwe": "200", "capec": "1000/118/169", "tool_name": "masscan", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -8264,7 +8456,8 @@ "cwe": "200", "capec": "1000/118/169", "tool_name": "WPScan", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -8293,7 +8486,8 @@ "cwe": "200", "capec": "1000/118/169", "tool_name": "Aon", - "confidence": "0" + "confidence": "0", + "module": "waf" }, "conditions": [ { @@ -8322,7 +8516,8 @@ "cwe": "200", "capec": "1000/118/169", "tool_name": "feroxbuster", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -8350,7 +8545,8 @@ "category": "attack_attempt", "cwe": "200", "capec": "1000/118/169", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -8382,7 +8578,8 @@ "cwe": "200", "capec": "1000/118/169", "tool_name": "SQLmap", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { @@ -8411,7 +8608,8 @@ "cwe": "200", "capec": "1000/118/169", "tool_name": "Skipfish", - "confidence": "1" + "confidence": "1", + "module": "waf" }, "conditions": [ { diff --git a/tracer/test/Datadog.Trace.Security.Unit.Tests/WafErrorsTests.cs b/tracer/test/Datadog.Trace.Security.Unit.Tests/WafErrorsTests.cs index cba0437e0255..40dd30b2cecd 100644 --- a/tracer/test/Datadog.Trace.Security.Unit.Tests/WafErrorsTests.cs +++ b/tracer/test/Datadog.Trace.Security.Unit.Tests/WafErrorsTests.cs @@ -38,7 +38,7 @@ public void HasNoError() var initResult = CreateWaf(false); initResult.Success.Should().BeTrue(); initResult.FailedToLoadRules.Should().Be(0); - initResult.LoadedRules.Should().Be(158); + initResult.LoadedRules.Should().Be(159); initResult.Errors.Should().BeEmpty(); initResult.HasErrors.Should().BeFalse(); initResult.ErrorMessage.Should().BeNullOrEmpty(); diff --git a/tracer/test/snapshots/Security.AspNetCore2.SecurityEnabled.test-external-waf-headers.verified.txt b/tracer/test/snapshots/Security.AspNetCore2.SecurityEnabled.test-external-waf-headers.verified.txt index e4b5e951853a..7c52db8b362f 100644 --- a/tracer/test/snapshots/Security.AspNetCore2.SecurityEnabled.test-external-waf-headers.verified.txt +++ b/tracer/test/snapshots/Security.AspNetCore2.SecurityEnabled.test-external-waf-headers.verified.txt @@ -29,7 +29,7 @@ network.client.ip: 127.0.0.1, runtime-id: Guid_1, span.kind: server, - _dd.appsec.event_rules.version: 1.13.2, + _dd.appsec.event_rules.version: 1.13.3, _dd.runtime_family: dotnet }, Metrics: { diff --git a/tracer/test/snapshots/Security.AspNetCore5.SecurityEnabled.test-external-waf-headers.verified.txt b/tracer/test/snapshots/Security.AspNetCore5.SecurityEnabled.test-external-waf-headers.verified.txt index d4593b206a0f..5e2cd15f0b4a 100644 --- a/tracer/test/snapshots/Security.AspNetCore5.SecurityEnabled.test-external-waf-headers.verified.txt +++ b/tracer/test/snapshots/Security.AspNetCore5.SecurityEnabled.test-external-waf-headers.verified.txt @@ -30,7 +30,7 @@ network.client.ip: 127.0.0.1, runtime-id: Guid_1, span.kind: server, - _dd.appsec.event_rules.version: 1.13.2, + _dd.appsec.event_rules.version: 1.13.3, _dd.runtime_family: dotnet }, Metrics: { diff --git a/tracer/test/snapshots/Security.AspNetCore5.SecurityEnabled.test-null-action.verified.txt b/tracer/test/snapshots/Security.AspNetCore5.SecurityEnabled.test-null-action.verified.txt index a741f48b6736..3f307bb6c387 100644 --- a/tracer/test/snapshots/Security.AspNetCore5.SecurityEnabled.test-null-action.verified.txt +++ b/tracer/test/snapshots/Security.AspNetCore5.SecurityEnabled.test-null-action.verified.txt @@ -22,7 +22,7 @@ network.client.ip: 127.0.0.1, runtime-id: Guid_1, span.kind: server, - _dd.appsec.event_rules.version: 1.13.2, + _dd.appsec.event_rules.version: 1.13.3, _dd.runtime_family: dotnet }, Metrics: { diff --git a/tracer/test/snapshots/Security.AspNetCore5AsmDataSecurityEnabled.__test=blocking-user_url=_user.verified.txt b/tracer/test/snapshots/Security.AspNetCore5AsmDataSecurityEnabled.__test=blocking-user_url=_user.verified.txt index 5d7791933acd..8774af3ba789 100644 --- a/tracer/test/snapshots/Security.AspNetCore5AsmDataSecurityEnabled.__test=blocking-user_url=_user.verified.txt +++ b/tracer/test/snapshots/Security.AspNetCore5AsmDataSecurityEnabled.__test=blocking-user_url=_user.verified.txt @@ -23,7 +23,7 @@ runtime-id: Guid_1, span.kind: server, usr.id: user3, - _dd.appsec.event_rules.version: 1.13.2, + _dd.appsec.event_rules.version: 1.13.3, _dd.runtime_family: dotnet }, Metrics: { @@ -65,7 +65,7 @@ runtime-id: Guid_1, span.kind: server, usr.id: user3, - _dd.appsec.event_rules.version: 1.13.2, + _dd.appsec.event_rules.version: 1.13.3, _dd.appsec.fp.http.header: hdr-0000000000-3626b5f8-1-4740ae63, _dd.appsec.fp.http.network: net-1-1000000000, _dd.appsec.fp.session: ssn-5860faf0---, diff --git a/tracer/test/snapshots/Security.AspNetCore5AsmInitializationSecurityEnabled.TestSecurityInitialization.verified.txt b/tracer/test/snapshots/Security.AspNetCore5AsmInitializationSecurityEnabled.TestSecurityInitialization.verified.txt index d7e88a1cc307..a61cfaa9d936 100644 --- a/tracer/test/snapshots/Security.AspNetCore5AsmInitializationSecurityEnabled.TestSecurityInitialization.verified.txt +++ b/tracer/test/snapshots/Security.AspNetCore5AsmInitializationSecurityEnabled.TestSecurityInitialization.verified.txt @@ -29,12 +29,12 @@ network.client.ip: 127.0.0.1, runtime-id: Guid_1, span.kind: server, - _dd.appsec.event_rules.version: 1.13.2, + _dd.appsec.event_rules.version: 1.13.3, _dd.appsec.fp.http.endpoint: http-get-7f4bf8ee-49fefa92-, _dd.appsec.fp.http.header: hdr-0000000000-3626b5f8-1-4740ae63, _dd.appsec.fp.http.network: net-1-1000000000, _dd.appsec.json: {"triggers":[{"rule":{"id":"crs-942-290","name":"Finds basic MongoDB SQL injection attempts","tags":{"category":"attack_attempt","type":"nosql_injection"}},"rule_matches":[{"operator":"match_regex","operator_value":"(?i:(?:\\[?\\$(?:(?:s(?:lic|iz)|wher)e|e(?:lemMatch|xists|q)|n(?:o[rt]|in?|e)|l(?:ike|te?)|t(?:ext|ype)|a(?:ll|nd)|jsonSchema|between|regex|x?or|div|mod)\\]?)\\b)","parameters":[{"address":"server.request.query","highlight":["[$slice"],"key_path":["[$slice]"],"value":"[$slice]"}]}]}]}, - _dd.appsec.waf.version: 1.20.1, + _dd.appsec.waf.version: 1.21.0, _dd.origin: appsec, _dd.runtime_family: dotnet }, @@ -42,7 +42,7 @@ process_id: 0, _dd.appsec.enabled: 1.0, _dd.appsec.event_rules.error_count: 0.0, - _dd.appsec.event_rules.loaded: 158.0, + _dd.appsec.event_rules.loaded: 159.0, _dd.appsec.waf.duration: 0.0, _dd.appsec.waf.duration_ext: 0.0, _dd.top_level: 1.0, diff --git a/tracer/test/snapshots/Security.AspNetCore5AsmInitializationSecurityEnabledWithBadRuleset.TestSecurityInitialization.verified.txt b/tracer/test/snapshots/Security.AspNetCore5AsmInitializationSecurityEnabledWithBadRuleset.TestSecurityInitialization.verified.txt index bdb15837e54b..71d52fd584a3 100644 --- a/tracer/test/snapshots/Security.AspNetCore5AsmInitializationSecurityEnabledWithBadRuleset.TestSecurityInitialization.verified.txt +++ b/tracer/test/snapshots/Security.AspNetCore5AsmInitializationSecurityEnabledWithBadRuleset.TestSecurityInitialization.verified.txt @@ -32,7 +32,7 @@ _dd.appsec.event_rules.errors: {"missing key 'name'":["crs-913-110","crs-913-120","crs-920-260"],"missing key 'tags'":["crs-921-110","crs-921-140"]}, _dd.appsec.event_rules.version: 1.3.1, _dd.appsec.json: {"triggers":[{"rule":{"id":"crs-942-290","name":"Finds basic MongoDB SQL injection attempts","tags":{"category":"attack_attempt","type":"nosql_injection"}},"rule_matches":[{"operator":"match_regex","operator_value":"(?i:(?:\\[\\$(?:ne|eq|lte?|gte?|n?in|mod|all|size|exists|type|slice|x?or|div|like|between|and)\\]))","parameters":[{"address":"server.request.query","highlight":["[$slice]"],"key_path":["[$slice]"],"value":"[$slice]"}]}]}]}, - _dd.appsec.waf.version: 1.20.1, + _dd.appsec.waf.version: 1.21.0, _dd.origin: appsec, _dd.runtime_family: dotnet }, diff --git a/tracer/test/snapshots/Security.AspNetCore5AsmRemoteRules._.verified.txt b/tracer/test/snapshots/Security.AspNetCore5AsmRemoteRules._.verified.txt index 414e227c2bb0..3631955b3552 100644 --- a/tracer/test/snapshots/Security.AspNetCore5AsmRemoteRules._.verified.txt +++ b/tracer/test/snapshots/Security.AspNetCore5AsmRemoteRules._.verified.txt @@ -29,7 +29,7 @@ network.client.ip: 127.0.0.1, runtime-id: Guid_1, span.kind: server, - _dd.appsec.event_rules.version: 1.13.2, + _dd.appsec.event_rules.version: 1.13.3, _dd.appsec.fp.http.endpoint: http-get-7f4bf8ee-49fefa92-, _dd.appsec.fp.http.header: hdr-0000000000-3626b5f8-1-4740ae63, _dd.appsec.fp.http.network: net-1-1000000000, @@ -227,7 +227,7 @@ network.client.ip: 127.0.0.1, runtime-id: Guid_1, span.kind: server, - _dd.appsec.event_rules.version: 1.13.2, + _dd.appsec.event_rules.version: 1.13.3, _dd.appsec.fp.http.header: hdr-0000000000-bf177a93-1-4740ae63, _dd.appsec.fp.http.network: net-1-1000000000, _dd.appsec.json: {"triggers":[{"rule":{"id":"ua0-600-56x","name":"Datadog test scanner - blocking version: user-agent","tags":{"category":"attack_attempt","type":"attack_tool"}},"rule_matches":[{"operator":"match_regex","operator_value":"^dd-test-scanner-log-block(?:$|/|\\s)","parameters":[{"address":"server.request.headers.no_cookies","highlight":["dd-test-scanner-log-block"],"key_path":["user-agent"],"value":"dd-test-scanner-log-block"}]}]}]}, @@ -273,7 +273,7 @@ network.client.ip: 127.0.0.1, runtime-id: Guid_1, span.kind: server, - _dd.appsec.event_rules.version: 1.13.2, + _dd.appsec.event_rules.version: 1.13.3, _dd.appsec.fp.http.header: hdr-0000000000-bf177a93-1-4740ae63, _dd.appsec.fp.http.network: net-1-1000000000, _dd.appsec.json: {"triggers":[{"rule":{"id":"ua0-600-56x","name":"Datadog test scanner - blocking version: user-agent","tags":{"category":"attack_attempt","type":"attack_tool"}},"rule_matches":[{"operator":"match_regex","operator_value":"^dd-test-scanner-log-block(?:$|/|\\s)","parameters":[{"address":"server.request.headers.no_cookies","highlight":["dd-test-scanner-log-block"],"key_path":["user-agent"],"value":"dd-test-scanner-log-block"}]}]}]}, diff --git a/tracer/test/snapshots/Security.AspNetMvc5AsmData.Classic.enableSecurity=True.__test=blocking-ips_url=_.verified.txt b/tracer/test/snapshots/Security.AspNetMvc5AsmData.Classic.enableSecurity=True.__test=blocking-ips_url=_.verified.txt index 109ffb985b9f..5c158084aa9e 100644 --- a/tracer/test/snapshots/Security.AspNetMvc5AsmData.Classic.enableSecurity=True.__test=blocking-ips_url=_.verified.txt +++ b/tracer/test/snapshots/Security.AspNetMvc5AsmData.Classic.enableSecurity=True.__test=blocking-ips_url=_.verified.txt @@ -43,15 +43,15 @@ network.client.ip: ::1, runtime-id: Guid_1, span.kind: server, - _dd.appsec.event_rules.version: 1.13.2, - _dd.appsec.waf.version: 1.20.1, + _dd.appsec.event_rules.version: 1.13.3, + _dd.appsec.waf.version: 1.21.0, _dd.runtime_family: dotnet }, Metrics: { process_id: 0, _dd.appsec.enabled: 1.0, _dd.appsec.event_rules.error_count: 0.0, - _dd.appsec.event_rules.loaded: 158.0, + _dd.appsec.event_rules.loaded: 159.0, _dd.top_level: 1.0, _dd.tracer_kr: 1.0, _sampling_priority_v1: 2.0 @@ -81,7 +81,7 @@ network.client.ip: ::1, runtime-id: Guid_1, span.kind: server, - _dd.appsec.event_rules.version: 1.13.2, + _dd.appsec.event_rules.version: 1.13.3, _dd.appsec.fp.http.endpoint: http-get-8a5edab2--, _dd.appsec.fp.http.header: hdr-0000000000-3626b5f8-1-4740ae63, _dd.appsec.fp.http.network: net-1-1000000000, diff --git a/tracer/test/snapshots/Security.AspNetMvc5AsmData.Classic.enableSecurity=True.__test=blocking-user_url=_user.verified.txt b/tracer/test/snapshots/Security.AspNetMvc5AsmData.Classic.enableSecurity=True.__test=blocking-user_url=_user.verified.txt index 7f48883ad00b..fd3f4a7ba1c3 100644 --- a/tracer/test/snapshots/Security.AspNetMvc5AsmData.Classic.enableSecurity=True.__test=blocking-user_url=_user.verified.txt +++ b/tracer/test/snapshots/Security.AspNetMvc5AsmData.Classic.enableSecurity=True.__test=blocking-user_url=_user.verified.txt @@ -44,7 +44,7 @@ runtime-id: Guid_1, span.kind: server, usr.id: user3, - _dd.appsec.event_rules.version: 1.13.2, + _dd.appsec.event_rules.version: 1.13.3, _dd.runtime_family: dotnet }, Metrics: { @@ -106,7 +106,7 @@ runtime-id: Guid_1, span.kind: server, usr.id: user3, - _dd.appsec.event_rules.version: 1.13.2, + _dd.appsec.event_rules.version: 1.13.3, _dd.appsec.fp.http.endpoint: http-get-c9ffce19--, _dd.appsec.fp.http.header: hdr-0000000000-3626b5f8-1-4740ae63, _dd.appsec.fp.http.network: net-1-1000000000, diff --git a/tracer/test/snapshots/Security.AspNetMvc5AsmData.Integrated.enableSecurity=True.__test=blocking-ips_url=_.verified.txt b/tracer/test/snapshots/Security.AspNetMvc5AsmData.Integrated.enableSecurity=True.__test=blocking-ips_url=_.verified.txt index b55f4b064865..e44682ac016b 100644 --- a/tracer/test/snapshots/Security.AspNetMvc5AsmData.Integrated.enableSecurity=True.__test=blocking-ips_url=_.verified.txt +++ b/tracer/test/snapshots/Security.AspNetMvc5AsmData.Integrated.enableSecurity=True.__test=blocking-ips_url=_.verified.txt @@ -43,15 +43,15 @@ network.client.ip: ::1, runtime-id: Guid_1, span.kind: server, - _dd.appsec.event_rules.version: 1.13.2, - _dd.appsec.waf.version: 1.20.1, + _dd.appsec.event_rules.version: 1.13.3, + _dd.appsec.waf.version: 1.21.0, _dd.runtime_family: dotnet }, Metrics: { process_id: 0, _dd.appsec.enabled: 1.0, _dd.appsec.event_rules.error_count: 0.0, - _dd.appsec.event_rules.loaded: 158.0, + _dd.appsec.event_rules.loaded: 159.0, _dd.top_level: 1.0, _dd.tracer_kr: 1.0, _sampling_priority_v1: 2.0 @@ -82,7 +82,7 @@ network.client.ip: ::1, runtime-id: Guid_1, span.kind: server, - _dd.appsec.event_rules.version: 1.13.2, + _dd.appsec.event_rules.version: 1.13.3, _dd.appsec.fp.http.endpoint: http-get-8a5edab2--, _dd.appsec.fp.http.header: hdr-0000000000-3626b5f8-3-98425651, _dd.appsec.fp.http.network: net-1-1000000000, diff --git a/tracer/test/snapshots/Security.AspNetMvc5AsmData.Integrated.enableSecurity=True.__test=blocking-user_url=_user.verified.txt b/tracer/test/snapshots/Security.AspNetMvc5AsmData.Integrated.enableSecurity=True.__test=blocking-user_url=_user.verified.txt index 4edcc71332de..59675212efe3 100644 --- a/tracer/test/snapshots/Security.AspNetMvc5AsmData.Integrated.enableSecurity=True.__test=blocking-user_url=_user.verified.txt +++ b/tracer/test/snapshots/Security.AspNetMvc5AsmData.Integrated.enableSecurity=True.__test=blocking-user_url=_user.verified.txt @@ -44,7 +44,7 @@ runtime-id: Guid_1, span.kind: server, usr.id: user3, - _dd.appsec.event_rules.version: 1.13.2, + _dd.appsec.event_rules.version: 1.13.3, _dd.runtime_family: dotnet }, Metrics: { @@ -107,7 +107,7 @@ runtime-id: Guid_1, span.kind: server, usr.id: user3, - _dd.appsec.event_rules.version: 1.13.2, + _dd.appsec.event_rules.version: 1.13.3, _dd.appsec.fp.http.endpoint: http-get-c9ffce19--, _dd.appsec.fp.http.header: hdr-0000000000-3626b5f8-3-98425651, _dd.appsec.fp.http.network: net-1-1000000000, diff --git a/tracer/test/snapshots/Security.AspNetWebApiAsmData.Classic.enableSecurity=True.__test=blocking-ips_url=_api_health.verified.txt b/tracer/test/snapshots/Security.AspNetWebApiAsmData.Classic.enableSecurity=True.__test=blocking-ips_url=_api_health.verified.txt index f42361fb9438..a8c25803dde0 100644 --- a/tracer/test/snapshots/Security.AspNetWebApiAsmData.Classic.enableSecurity=True.__test=blocking-ips_url=_api_health.verified.txt +++ b/tracer/test/snapshots/Security.AspNetWebApiAsmData.Classic.enableSecurity=True.__test=blocking-ips_url=_api_health.verified.txt @@ -40,7 +40,7 @@ network.client.ip: ::1, runtime-id: Guid_1, span.kind: server, - _dd.appsec.event_rules.version: 1.13.2, + _dd.appsec.event_rules.version: 1.13.3, _dd.runtime_family: dotnet }, Metrics: { @@ -75,7 +75,7 @@ network.client.ip: ::1, runtime-id: Guid_1, span.kind: server, - _dd.appsec.event_rules.version: 1.13.2, + _dd.appsec.event_rules.version: 1.13.3, _dd.appsec.fp.http.endpoint: http-get-7ab84831--, _dd.appsec.fp.http.header: hdr-0000000000-3626b5f8-1-4740ae63, _dd.appsec.fp.http.network: net-1-1000000000, diff --git a/tracer/test/snapshots/Security.AspNetWebApiAsmData.Classic.enableSecurity=True.__test=blocking-user_url=_api_user.verified.txt b/tracer/test/snapshots/Security.AspNetWebApiAsmData.Classic.enableSecurity=True.__test=blocking-user_url=_api_user.verified.txt index c636d605beb8..ef9422f0130b 100644 --- a/tracer/test/snapshots/Security.AspNetWebApiAsmData.Classic.enableSecurity=True.__test=blocking-user_url=_api_user.verified.txt +++ b/tracer/test/snapshots/Security.AspNetWebApiAsmData.Classic.enableSecurity=True.__test=blocking-user_url=_api_user.verified.txt @@ -41,15 +41,15 @@ runtime-id: Guid_1, span.kind: server, usr.id: user3, - _dd.appsec.event_rules.version: 1.13.2, - _dd.appsec.waf.version: 1.20.1, + _dd.appsec.event_rules.version: 1.13.3, + _dd.appsec.waf.version: 1.21.0, _dd.runtime_family: dotnet }, Metrics: { process_id: 0, _dd.appsec.enabled: 1.0, _dd.appsec.event_rules.error_count: 0.0, - _dd.appsec.event_rules.loaded: 158.0, + _dd.appsec.event_rules.loaded: 159.0, _dd.top_level: 1.0, _dd.tracer_kr: 1.0, _sampling_priority_v1: 2.0 @@ -103,7 +103,7 @@ runtime-id: Guid_1, span.kind: server, usr.id: user3, - _dd.appsec.event_rules.version: 1.13.2, + _dd.appsec.event_rules.version: 1.13.3, _dd.appsec.fp.http.endpoint: http-get-c4cf151d--, _dd.appsec.fp.http.header: hdr-0000000000-3626b5f8-1-4740ae63, _dd.appsec.fp.http.network: net-1-1000000000, diff --git a/tracer/test/snapshots/Security.AspNetWebApiAsmData.Integrated.enableSecurity=True.__test=blocking-ips_url=_api_health.verified.txt b/tracer/test/snapshots/Security.AspNetWebApiAsmData.Integrated.enableSecurity=True.__test=blocking-ips_url=_api_health.verified.txt index 3208c6ec30a7..f5c45707d2df 100644 --- a/tracer/test/snapshots/Security.AspNetWebApiAsmData.Integrated.enableSecurity=True.__test=blocking-ips_url=_api_health.verified.txt +++ b/tracer/test/snapshots/Security.AspNetWebApiAsmData.Integrated.enableSecurity=True.__test=blocking-ips_url=_api_health.verified.txt @@ -40,15 +40,15 @@ network.client.ip: ::1, runtime-id: Guid_1, span.kind: server, - _dd.appsec.event_rules.version: 1.13.2, - _dd.appsec.waf.version: 1.20.1, + _dd.appsec.event_rules.version: 1.13.3, + _dd.appsec.waf.version: 1.21.0, _dd.runtime_family: dotnet }, Metrics: { process_id: 0, _dd.appsec.enabled: 1.0, _dd.appsec.event_rules.error_count: 0.0, - _dd.appsec.event_rules.loaded: 158.0, + _dd.appsec.event_rules.loaded: 159.0, _dd.top_level: 1.0, _dd.tracer_kr: 1.0, _sampling_priority_v1: 2.0 @@ -79,7 +79,7 @@ network.client.ip: ::1, runtime-id: Guid_1, span.kind: server, - _dd.appsec.event_rules.version: 1.13.2, + _dd.appsec.event_rules.version: 1.13.3, _dd.appsec.fp.http.endpoint: http-get-7ab84831--, _dd.appsec.fp.http.header: hdr-0000000000-3626b5f8-3-98425651, _dd.appsec.fp.http.network: net-1-1000000000, diff --git a/tracer/test/snapshots/Security.AspNetWebApiAsmData.Integrated.enableSecurity=True.__test=blocking-user_url=_api_user.verified.txt b/tracer/test/snapshots/Security.AspNetWebApiAsmData.Integrated.enableSecurity=True.__test=blocking-user_url=_api_user.verified.txt index 9a641f1dfb48..5d9720a5fd2f 100644 --- a/tracer/test/snapshots/Security.AspNetWebApiAsmData.Integrated.enableSecurity=True.__test=blocking-user_url=_api_user.verified.txt +++ b/tracer/test/snapshots/Security.AspNetWebApiAsmData.Integrated.enableSecurity=True.__test=blocking-user_url=_api_user.verified.txt @@ -41,7 +41,7 @@ runtime-id: Guid_1, span.kind: server, usr.id: user3, - _dd.appsec.event_rules.version: 1.13.2, + _dd.appsec.event_rules.version: 1.13.3, _dd.runtime_family: dotnet }, Metrics: { @@ -102,7 +102,7 @@ runtime-id: Guid_1, span.kind: server, usr.id: user3, - _dd.appsec.event_rules.version: 1.13.2, + _dd.appsec.event_rules.version: 1.13.3, _dd.appsec.fp.http.endpoint: http-get-c4cf151d--, _dd.appsec.fp.http.header: hdr-0000000000-3626b5f8-3-98425651, _dd.appsec.fp.http.network: net-1-1000000000, diff --git a/tracer/test/snapshots/Security.AspNetWebFormsAsmData.Classic.enableSecurity=True.__test=blocking-ips_url=_default.aspx.verified.txt b/tracer/test/snapshots/Security.AspNetWebFormsAsmData.Classic.enableSecurity=True.__test=blocking-ips_url=_default.aspx.verified.txt index 2529ef45e436..620f6fd31fa6 100644 --- a/tracer/test/snapshots/Security.AspNetWebFormsAsmData.Classic.enableSecurity=True.__test=blocking-ips_url=_default.aspx.verified.txt +++ b/tracer/test/snapshots/Security.AspNetWebFormsAsmData.Classic.enableSecurity=True.__test=blocking-ips_url=_default.aspx.verified.txt @@ -18,7 +18,7 @@ network.client.ip: ::1, runtime-id: Guid_1, span.kind: server, - _dd.appsec.event_rules.version: 1.13.2, + _dd.appsec.event_rules.version: 1.13.3, _dd.runtime_family: dotnet }, Metrics: { @@ -53,7 +53,7 @@ network.client.ip: ::1, runtime-id: Guid_1, span.kind: server, - _dd.appsec.event_rules.version: 1.13.2, + _dd.appsec.event_rules.version: 1.13.3, _dd.appsec.fp.http.endpoint: http-get-d2b1037e--, _dd.appsec.fp.http.header: hdr-0000000000-3626b5f8-1-4740ae63, _dd.appsec.fp.http.network: net-1-1000000000, diff --git a/tracer/test/snapshots/Security.AspNetWebFormsAsmData.Classic.enableSecurity=True.__test=blocking-user_url=_user.verified.txt b/tracer/test/snapshots/Security.AspNetWebFormsAsmData.Classic.enableSecurity=True.__test=blocking-user_url=_user.verified.txt index b56630e7f95d..24c74d6cfbb7 100644 --- a/tracer/test/snapshots/Security.AspNetWebFormsAsmData.Classic.enableSecurity=True.__test=blocking-user_url=_user.verified.txt +++ b/tracer/test/snapshots/Security.AspNetWebFormsAsmData.Classic.enableSecurity=True.__test=blocking-user_url=_user.verified.txt @@ -19,15 +19,15 @@ runtime-id: Guid_1, span.kind: server, usr.id: user3, - _dd.appsec.event_rules.version: 1.13.2, - _dd.appsec.waf.version: 1.20.1, + _dd.appsec.event_rules.version: 1.13.3, + _dd.appsec.waf.version: 1.21.0, _dd.runtime_family: dotnet }, Metrics: { process_id: 0, _dd.appsec.enabled: 1.0, _dd.appsec.event_rules.error_count: 0.0, - _dd.appsec.event_rules.loaded: 158.0, + _dd.appsec.event_rules.loaded: 159.0, _dd.top_level: 1.0, _dd.tracer_kr: 1.0, _sampling_priority_v1: 2.0 @@ -58,7 +58,7 @@ runtime-id: Guid_1, span.kind: server, usr.id: user3, - _dd.appsec.event_rules.version: 1.13.2, + _dd.appsec.event_rules.version: 1.13.3, _dd.appsec.fp.http.endpoint: http-get-c9ffce19--, _dd.appsec.fp.http.header: hdr-0000000000-3626b5f8-1-4740ae63, _dd.appsec.fp.http.network: net-1-1000000000, diff --git a/tracer/test/snapshots/Security.AspNetWebFormsAsmData.Integrated.enableSecurity=True.__test=blocking-ips_url=_default.aspx.verified.txt b/tracer/test/snapshots/Security.AspNetWebFormsAsmData.Integrated.enableSecurity=True.__test=blocking-ips_url=_default.aspx.verified.txt index e82d40825dc3..97823965b2d1 100644 --- a/tracer/test/snapshots/Security.AspNetWebFormsAsmData.Integrated.enableSecurity=True.__test=blocking-ips_url=_default.aspx.verified.txt +++ b/tracer/test/snapshots/Security.AspNetWebFormsAsmData.Integrated.enableSecurity=True.__test=blocking-ips_url=_default.aspx.verified.txt @@ -18,15 +18,15 @@ network.client.ip: ::1, runtime-id: Guid_1, span.kind: server, - _dd.appsec.event_rules.version: 1.13.2, - _dd.appsec.waf.version: 1.20.1, + _dd.appsec.event_rules.version: 1.13.3, + _dd.appsec.waf.version: 1.21.0, _dd.runtime_family: dotnet }, Metrics: { process_id: 0, _dd.appsec.enabled: 1.0, _dd.appsec.event_rules.error_count: 0.0, - _dd.appsec.event_rules.loaded: 158.0, + _dd.appsec.event_rules.loaded: 159.0, _dd.top_level: 1.0, _dd.tracer_kr: 1.0, _sampling_priority_v1: 2.0 @@ -57,7 +57,7 @@ network.client.ip: ::1, runtime-id: Guid_1, span.kind: server, - _dd.appsec.event_rules.version: 1.13.2, + _dd.appsec.event_rules.version: 1.13.3, _dd.appsec.fp.http.endpoint: http-get-d2b1037e--, _dd.appsec.fp.http.header: hdr-0000000000-3626b5f8-3-98425651, _dd.appsec.fp.http.network: net-1-1000000000, diff --git a/tracer/test/snapshots/Security.AspNetWebFormsAsmData.Integrated.enableSecurity=True.__test=blocking-user_url=_user.verified.txt b/tracer/test/snapshots/Security.AspNetWebFormsAsmData.Integrated.enableSecurity=True.__test=blocking-user_url=_user.verified.txt index 0708feaf107a..fc77ffdf4fd6 100644 --- a/tracer/test/snapshots/Security.AspNetWebFormsAsmData.Integrated.enableSecurity=True.__test=blocking-user_url=_user.verified.txt +++ b/tracer/test/snapshots/Security.AspNetWebFormsAsmData.Integrated.enableSecurity=True.__test=blocking-user_url=_user.verified.txt @@ -19,7 +19,7 @@ runtime-id: Guid_1, span.kind: server, usr.id: user3, - _dd.appsec.event_rules.version: 1.13.2, + _dd.appsec.event_rules.version: 1.13.3, _dd.runtime_family: dotnet }, Metrics: { @@ -56,7 +56,7 @@ runtime-id: Guid_1, span.kind: server, usr.id: user3, - _dd.appsec.event_rules.version: 1.13.2, + _dd.appsec.event_rules.version: 1.13.3, _dd.appsec.fp.http.endpoint: http-get-c9ffce19--, _dd.appsec.fp.http.header: hdr-0000000000-3626b5f8-3-98425651, _dd.appsec.fp.http.network: net-1-1000000000, From 06cac66d7ba318845fe7731cac1d9f740ab8a9bb Mon Sep 17 00:00:00 2001 From: Kevin Gosse Date: Thu, 21 Nov 2024 10:30:49 +0100 Subject: [PATCH 10/17] Stop hiding build files in github search (#6299) ## Summary of changes By default, when using the "Go to file" on Github, files in a `build` folder or subfolder are excluded. This PR removes the exclusion. ## Reason for change Keeping my (our?) sanity. ## Implementation details Apparently we control this by editing the `.gitattributes` file: https://docs.github.com/en/search-github/searching-on-github/finding-files-on-github#customizing-excluded-files --- .gitattributes | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.gitattributes b/.gitattributes index 220275c2c250..df8e3297c654 100644 --- a/.gitattributes +++ b/.gitattributes @@ -66,3 +66,7 @@ #*.PDF diff=astextplain #*.rtf diff=astextplain #*.RTF diff=astextplain + +# Stop hiding the build subfolders in the github file search +# https://docs.github.com/en/search-github/searching-on-github/finding-files-on-github#customizing-excluded-files +build/** linguist-generated=false \ No newline at end of file From 615e9e2374581eea7ebe098592977ddac37142b9 Mon Sep 17 00:00:00 2001 From: Daniel Romano <108014683+daniel-romano-DD@users.noreply.github.com> Date: Thu, 21 Nov 2024 10:41:09 +0100 Subject: [PATCH 11/17] [IAST] Native CallSites Definitions (#6241) ## Summary of changes Moved `CallSite` definitions to the Native library so we can spare the marshalling. As from V3, there will not be a situation where a Managed V3 will have to specify its definitions to a newer Native library, we can remove the definitions from the managed part. We must still keep the ability to receive definitions from a V2 managed library. ## Reason for change Marshalling of definitions from managed to native is taxing. Also, embedding the definitions in each managed library takes space, precious in Serverless scenarions ## Implementation details Moved the generation of the `CallSites `definitions to a nuke step, removing the `SourceGenerator`. Added `InstrumentationCategory `to `CallSites`, to match what `CallTargets `have Co-authored-by: Andrew Lock --- tracer/build/_build/Build.Steps.cs | 7 +- .../CodeGenerators/CallSitesGenerator.cs | 315 ++++++ .../CodeGenerators/InstrumentationCategory.cs | 22 + .../_build/CodeGenerators/TargetFrameworks.cs | 29 + tracer/missing-nullability-files.csv | 1 - .../AspectsDefinitionsGenerator.cs | 374 ------- .../Datadog.Trace.SourceGenerators.csproj | 11 +- .../InstrumentationDefinitionsGenerator.cs | 2 +- .../ClrProfiler/Instrumentation.cs | 291 +----- .../ClrProfiler/InstrumentationCategory.cs | 23 +- .../ClrProfiler/NativeMethods.cs | 23 + .../ClrProfiler/TargetFrameworks.cs | 27 + .../AspectsDefinitions.g.cs | 810 --------------- .../AspectsDefinitions.g.cs | 950 ----------------- .../AspectsDefinitions.g.cs | 898 ---------------- .../AspectsDefinitions.g.cs | 856 ---------------- .../AspNetCore.Mvc/ControllerBaseAspect.cs | 4 +- .../EntityFramework/EntityCommandAspect.cs | 3 +- .../EntityFrameworkCoreAspect.cs | 3 +- .../Iast/Aspects/NHibernate/ISessionAspect.cs | 3 +- .../System.Data.Common/DbCommandAspect.cs | 3 +- .../Iast/Aspects/System.IO/DirectoryAspect.cs | 3 +- .../Aspects/System.IO/DirectoryInfoAspect.cs | 3 +- .../Iast/Aspects/System.IO/FileAspect.cs | 3 +- .../Iast/Aspects/System.IO/FileInfoAspect.cs | 3 +- .../Aspects/System.IO/FileStreamAspect.cs | 3 +- .../Aspects/System.IO/StreamReaderAspect.cs | 3 +- .../Aspects/System.IO/StreamWriterAspect.cs | 3 +- .../Aspects/System.Net/HttpClientAspect.cs | 3 +- .../Aspects/System.Net/WebClientAspect.cs | 3 +- .../Aspects/System.Net/WebRequestAspect.cs | 3 +- .../Iast/Dataflow/AspectClassAttribute.cs | 14 +- .../AspectClassFromVersionAttribute.cs | 13 +- .../Datadog.Trace/Iast/Dataflow/AspectType.cs | 3 - .../Telemetry/DTOs/ConfigTelemetryData.cs | 6 + .../src/Datadog.Tracer.Native/CMakeLists.txt | 1 + .../Datadog.Tracer.Native.def | 1 + .../Datadog.Tracer.Native.vcxproj | 3 + .../Datadog.Tracer.Native.vcxproj.filters | 5 +- .../Generated/generated_callsites.g.h | 670 ++++++++++++ .../Generated/generated_definitions.cpp | 15 + .../Generated/generated_definitions.h | 19 + .../Datadog.Tracer.Native/cor_profiler.cpp | 4 +- .../src/Datadog.Tracer.Native/cor_profiler.h | 3 +- .../Datadog.Tracer.Native/iast/dataflow.cpp | 8 +- .../src/Datadog.Tracer.Native/iast/dataflow.h | 2 +- .../iast/dataflow_aspects.cpp | 44 +- .../iast/dataflow_aspects.h | 4 +- .../Datadog.Tracer.Native/iast/iast_util.cpp | 41 +- .../Datadog.Tracer.Native/iast/iast_util.h | 13 +- tracer/src/Datadog.Tracer.Native/interop.cpp | 16 + .../IAST/IastInstrumentationUnitTests.cs | 34 +- .../AspectsDefinitionsGeneratorTests.cs | 964 ------------------ ...nstrumentationDefinitionsGeneratorTests.cs | 2 +- 54 files changed, 1372 insertions(+), 5198 deletions(-) create mode 100644 tracer/build/_build/CodeGenerators/CallSitesGenerator.cs create mode 100644 tracer/build/_build/CodeGenerators/InstrumentationCategory.cs create mode 100644 tracer/build/_build/CodeGenerators/TargetFrameworks.cs delete mode 100644 tracer/src/Datadog.Trace.SourceGenerators/AspectsDefinitions/AspectsDefinitionsGenerator.cs create mode 100644 tracer/src/Datadog.Trace/ClrProfiler/TargetFrameworks.cs delete mode 100644 tracer/src/Datadog.Trace/Generated/net461/Datadog.Trace.SourceGenerators/AspectsDefinitionsGenerator/AspectsDefinitions.g.cs delete mode 100644 tracer/src/Datadog.Trace/Generated/net6.0/Datadog.Trace.SourceGenerators/AspectsDefinitionsGenerator/AspectsDefinitions.g.cs delete mode 100644 tracer/src/Datadog.Trace/Generated/netcoreapp3.1/Datadog.Trace.SourceGenerators/AspectsDefinitionsGenerator/AspectsDefinitions.g.cs delete mode 100644 tracer/src/Datadog.Trace/Generated/netstandard2.0/Datadog.Trace.SourceGenerators/AspectsDefinitionsGenerator/AspectsDefinitions.g.cs create mode 100644 tracer/src/Datadog.Tracer.Native/Generated/generated_callsites.g.h create mode 100644 tracer/src/Datadog.Tracer.Native/Generated/generated_definitions.cpp create mode 100644 tracer/src/Datadog.Tracer.Native/Generated/generated_definitions.h delete mode 100644 tracer/test/Datadog.Trace.SourceGenerators.Tests/AspectsDefinitionsGeneratorTests.cs diff --git a/tracer/build/_build/Build.Steps.cs b/tracer/build/_build/Build.Steps.cs index 465109298548..e521ca806290 100644 --- a/tracer/build/_build/Build.Steps.cs +++ b/tracer/build/_build/Build.Steps.cs @@ -8,6 +8,7 @@ using System.Text.Json; using System.Text.RegularExpressions; using System.Threading.Tasks; +using CodeGenerators; using Mono.Cecil; using Nuke.Common; using Nuke.Common.IO; @@ -369,7 +370,8 @@ bool RequiresThoroughTesting() .Description("Compiles the native tracer assets") .DependsOn(CompileTracerNativeSrcWindows) .DependsOn(CompileNativeSrcMacOs) - .DependsOn(CompileTracerNativeSrcLinux); + .DependsOn(CompileTracerNativeSrcLinux) + .After(CompileManagedSrc); Target CompileTracerNativeTests => _ => _ .Unlisted() @@ -432,6 +434,9 @@ bool RequiresThoroughTesting() var toBuild = include.Except(exclude); DotnetBuild(toBuild, noDependencies: false); + + var nativeGeneratedFilesOutputPath = NativeTracerProject.Directory / "Generated"; + CallSitesGenerator.GenerateCallSites(TargetFrameworks, tfm => DatadogTraceDirectory / "bin" / BuildConfiguration / tfm / Projects.DatadogTrace + ".dll", nativeGeneratedFilesOutputPath); }); diff --git a/tracer/build/_build/CodeGenerators/CallSitesGenerator.cs b/tracer/build/_build/CodeGenerators/CallSitesGenerator.cs new file mode 100644 index 000000000000..a78ccfc4fc65 --- /dev/null +++ b/tracer/build/_build/CodeGenerators/CallSitesGenerator.cs @@ -0,0 +1,315 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using Mono.Cecil; +using Nuke.Common.IO; + +namespace CodeGenerators +{ + internal static class CallSitesGenerator + { + private const string NullLiteral = "null"; + + public static void GenerateCallSites(IEnumerable targetFrameworks, Func getDllPath, AbsolutePath outputPath) + { + Serilog.Log.Debug("Generating CallSite definitions file ..."); + + Dictionary aspectClasses = new Dictionary(); + foreach(var tfm in targetFrameworks) + { + var dllPath = getDllPath(tfm); + RetrieveCallSites(aspectClasses, dllPath, tfm); + } + + GenerateCallSites(aspectClasses, outputPath); + } + + internal static void RetrieveCallSites(Dictionary aspectClasses, string dllPath, TargetFramework tfm) + { + // We check if the assembly file exists. + if (!File.Exists(dllPath)) + { + throw new FileNotFoundException($"Error extracting types for CallSite generation. Assembly file was not found. Path: {dllPath}", dllPath); + } + + var tfmCategory = GetCategory(tfm); + + // Open dll to extract all AspectsClass attributes. + using var asmDefinition = Mono.Cecil.AssemblyDefinition.ReadAssembly(dllPath); + + foreach (var aspectClassType in asmDefinition.MainModule.Types) + { + var aspectClassAttribute = aspectClassType.CustomAttributes.FirstOrDefault(IsAspectClass); + if (aspectClassAttribute is null) + { + continue; + } + + var aspectClassLine = $"{GetAspectLine(aspectClassAttribute, out var category)} {aspectClassType.FullName}"; + if (!aspectClasses.TryGetValue(aspectClassLine, out var aspectClass)) + { + aspectClass = new AspectClass(); + aspectClass.Categories |= category; + aspectClasses[aspectClassLine] = aspectClass; + } + + // Retrieve aspects + foreach(var method in aspectClassType.Methods) + { + foreach(var aspectAttribute in method.CustomAttributes.Where(IsAspect)) + { + var aspectLine = $"{GetAspectLine(aspectAttribute, out _)} {GetMethodName(method)}"; + if (!aspectClass.Aspects.TryGetValue(aspectLine, out var aspect)) + { + aspect = new Aspect(); + } + + aspect.Tfms |= tfmCategory; + aspectClass.Aspects[aspectLine] = aspect; + } + } + } + + static string GetMethodName(MethodDefinition method) + { + var fullName = method.FullName; + var methodNameStart = fullName.IndexOf("::"); + if (methodNameStart < 0) + { + throw new InvalidOperationException("Could not find '::' in method name " + fullName); + } + + return fullName.Substring(methodNameStart + 2).Replace("", "").Replace("&", ""); + } + + static bool IsAspectClass(Mono.Cecil.CustomAttribute attribute) + { + return attribute.AttributeType.FullName.StartsWith("Datadog.Trace.Iast.Dataflow.AspectClass"); + } + + static bool IsAspect(Mono.Cecil.CustomAttribute attribute) + { + return attribute.AttributeType.FullName.StartsWith("Datadog.Trace.Iast.Dataflow.Aspect"); + } + + static string GetAspectLine(Mono.Cecil.CustomAttribute data, out InstrumentationCategory category) + { + category = InstrumentationCategory.Iast; + var arguments = data.ConstructorArguments.Select(GetArgument).ToList(); + var name = data.AttributeType.Name; + var version = string.Empty; + + if (name.EndsWith("FromVersionAttribute")) + { + // Aspect with version limitation + name = name.Replace("FromVersionAttribute", "Attribute"); + version = ";V" + arguments[0].Trim('"'); + arguments.RemoveAt(0); + } + + if (name == "AspectClassAttribute") + { + if (arguments.Count == 2) + { + category = (InstrumentationCategory)Enum.Parse(typeof(InstrumentationCategory), arguments[1]); + return $"[AspectClass({arguments[0]},[None],Propagation,[]){version}]"; + } + else if (arguments.Count == 3) + { + return $"[AspectClass({arguments[0]},[None],{arguments[1]},{Check(arguments[2])}){version}]"; + } + else if (arguments.Count == 4) + { + category = (InstrumentationCategory)Enum.Parse(typeof(InstrumentationCategory), arguments[1]); + return $"[AspectClass({arguments[0]},[None],{arguments[2]},{Check(arguments[3])}){version}]"; + } + else if (arguments.Count == 5) + { + category = (InstrumentationCategory)Enum.Parse(typeof(InstrumentationCategory), arguments[2]); + return $"[AspectClass({arguments[0]},{arguments[1]},{arguments[3]},{Check(arguments[4])}){version}]"; + } + + throw new ArgumentException($"Could not find AspectClassAttribute overload with {arguments.Count} parameters"); + } + + return name switch + { + // AspectAttribute(string targetMethod, string targetType, int[] paramShift, bool[] boxParam, AspectFilter[] filters, AspectType aspectType = AspectType.Propagation, VulnerabilityType[] vulnerabilityTypes) + "AspectCtorReplaceAttribute" => arguments.Count switch + { + // AspectCtorReplaceAttribute(string targetMethod) + 1 => $"[AspectCtorReplace({arguments[0]},\"\",[0],[False],[None],Default,[]){version}]", + // AspectCtorReplaceAttribute(string targetMethod, params AspectFilter[] filters) + 2 => $"[AspectCtorReplace({arguments[0]},\"\",[0],[False],{Check(arguments[1])},Default,[]){version}]", + // AspectCtorReplaceAttribute(string targetMethod, AspectType aspectType = AspectType.Default, params VulnerabilityType[] vulnerabilityTypes) + 3 => $"[AspectCtorReplace({arguments[0]},\"\",[0],[False],[None],{arguments[1]},{Check(arguments[2])}){version}]", + // AspectCtorReplaceAttribute(string targetMethod, AspectFilter[] filters, AspectType aspectType = AspectType.Default, params VulnerabilityType[] vulnerabilityTypes) + 4 => $"[AspectCtorReplace({arguments[0]},\"\",[0],[False],[{arguments[1]}],{arguments[2]},{Check(arguments[3])}){version}]", + _ => throw new ArgumentException($"Could not find AspectCtorReplaceAttribute overload with {arguments.Count} parameters") + }, + "AspectMethodReplaceAttribute" => arguments.Count switch + { + // AspectMethodReplaceAttribute(string targetMethod) + 1 => $"[AspectMethodReplace({arguments[0]},\"\",[0],[False],[None],Default,[]){version}]", + // AspectMethodReplaceAttribute(string targetMethod, params AspectFilter[] filters) + 2 => $"[AspectMethodReplace({arguments[0]},\"\",[0],[False],{Check(arguments[1], "[None]")},Default,[]){version}]", + // AspectMethodReplaceAttribute(string targetMethod, string targetType, params AspectFilter[] filters) + 3 => arguments[1] switch + { + { } when arguments[1].StartsWith("[") => $"[AspectMethodReplace({arguments[0]},\"\",{arguments[1]},{arguments[2]},[None],Default,[]){version}]", + // AspectMethodReplaceAttribute(string targetMethod, string targetType, params AspectFilter[] filters) + _ => $"[AspectMethodReplace({arguments[0]},{arguments[1]},[0],[False],{Check(arguments[2], "[None]")},Default,[]){version}]", + }, + _ => throw new ArgumentException($"Could not find AspectMethodReplaceAttribute overload with {arguments.Count} parameters") + }, + "AspectMethodInsertBeforeAttribute" => arguments.Count switch + { + // AspectMethodInsertBeforeAttribute(string targetMethod, params int[] paramShift) + 2 => $"[AspectMethodInsertBefore({arguments[0]},\"\",{MakeSameSize(Check(arguments[1]))},[None],Default,[]){version}]", + // AspectMethodInsertBeforeAttribute(string targetMethod, int[] paramShift, bool[] boxParam) + 3 => $"[AspectMethodInsertBefore({arguments[0]},\"\",[{arguments[1]}],[{arguments[2]}],[None],Default,[]){version}]", + _ => throw new ArgumentException($"Could not find AspectMethodInsertBeforeAttribute overload with {arguments.Count} parameters") + }, + "AspectMethodInsertAfterAttribute" => arguments.Count switch + { + // AspectMethodInsertAfterAttribute(string targetMethod) + 1 => $"[AspectMethodInsertAfter({arguments[0]},\"\",[0],[False],[None],Default,[]){version}]", + // AspectMethodInsertAfterAttribute(string targetMethod, AspectType aspectType, params VulnerabilityType[] vulnerabilityTypes) + 3 => $"[AspectMethodInsertAfter({arguments[0]},\"\",[0],[False],[None],{arguments[1]},{Check(arguments[2])}){version}]", + _ => throw new ArgumentException($"Could not find AspectMethodInsertAfterAttribute overload with {arguments.Count} parameters") + }, + _ => throw new Exception() + }; + + static string Check(string val, string ifEmpty = "[]") + { + return (string.IsNullOrEmpty(val) || val == NullLiteral || val == "[]") ? ifEmpty : val; + } + + static string MakeSameSize(string val, string ifEmpty = "[0]", string defaultValue = "False") + { + val = Check(val, ifEmpty); + int count = val.Count(c => c == ','); + string values = string.Empty; + for (int x = 0; x < count + 1; x++) + { + values += defaultValue; + if (x < count) { values += ","; } + } + + return $"{val},[{values}]"; + } + + static string GetArgument(Mono.Cecil.CustomAttributeArgument customAttributeArgument) + { + if (customAttributeArgument.Value is null) + { + return NullLiteral; + } + else if (customAttributeArgument.Type.IsPrimitive) + { + return customAttributeArgument.Value?.ToString() ?? NullLiteral; + } + else if (customAttributeArgument.Type.FullName == "System.String") + { + return $"\"{customAttributeArgument.Value}\""; + } + else + { + var type = customAttributeArgument.Type.Resolve(); + if (customAttributeArgument.Value is CustomAttributeArgument[] argArray) + { + return $"[{string.Join(",", argArray.Select(GetArgument))}]"; + } + else if (type.IsEnum) + { + var value = type.Fields.FirstOrDefault(f => customAttributeArgument.Value.Equals(f.Constant)); + return value.Name; + } + } + + return string.Empty; + } + } + } + + internal static void GenerateCallSites(Dictionary aspectClasses, AbsolutePath outputPath) + { + var sb = new StringBuilder(); + sb.AppendLine(""" + // + // Unless explicitly stated otherwise all files in this repository are licensed under the Apache 2 License. + // This product includes software developed at Datadog (https://www.datadoghq.com/). Copyright 2017 Datadog, Inc. + // + // + #pragma once + #include "generated_definitions.h" + + namespace trace + { + + std::vector g_callSites= + { + """); + + foreach (var aspectClass in aspectClasses.OrderBy(k => k.Key.ToString(), StringComparer.OrdinalIgnoreCase)) + { + sb.AppendLine(Format(aspectClass.Key + aspectClass.Value.Subfix())); + + foreach (var method in aspectClass.Value.Aspects.OrderBy(k => k.Key.ToString(), StringComparer.OrdinalIgnoreCase)) + { + sb.AppendLine(Format(" " + method.Key + method.Value.Subfix())); + } + } + + sb.AppendLine(""" + }; + } + """); + + + if (!Directory.Exists(outputPath)) { Directory.CreateDirectory(outputPath); } + var fileName = outputPath / "generated_callsites.g.h"; + File.WriteAllText(fileName, sb.ToString()); + + Serilog.Log.Information("CallSite definitions File saved: {File}", fileName); + + string Format(string line) + { + return $"(WCHAR*)WStr(\"{line.Replace("\"", "\\\"")}\"),"; + } + } + + internal static TargetFrameworks GetCategory(TargetFramework tfm) + { + return (TargetFrameworks)Enum.Parse(tfm.ToString().ToUpper().Replace('.', '_')); + } + + internal struct AspectClass + { + public AspectClass() {} + + public Dictionary Aspects = new Dictionary(); + public InstrumentationCategory Categories = InstrumentationCategory.Iast; + + public string Subfix() + { + return $" {((long)Categories).ToString()}"; + } + } + + internal struct Aspect + { + public Aspect() { } + + public TargetFrameworks Tfms = TargetFrameworks.None; + + public string Subfix() + { + return $" {((long)Tfms).ToString()}"; + } + } + } +} diff --git a/tracer/build/_build/CodeGenerators/InstrumentationCategory.cs b/tracer/build/_build/CodeGenerators/InstrumentationCategory.cs new file mode 100644 index 000000000000..d5e804351bd9 --- /dev/null +++ b/tracer/build/_build/CodeGenerators/InstrumentationCategory.cs @@ -0,0 +1,22 @@ +// +// Unless explicitly stated otherwise all files in this repository are licensed under the Apache 2 License. +// This product includes software developed at Datadog (https://www.datadoghq.com/). Copyright 2017 Datadog, Inc. +// +#nullable enable + +using System; + +namespace CodeGenerators; + +[Flags] +internal enum InstrumentationCategory : uint +{ + // NOTE : When modifying this file make sure to update the InstrumentationCategory enum in the ClrProfiler folder inside the Datadog.Trace project + + Tracing = 1, + AppSec = 2, + Iast = 4, + Rasp = 8, + + IastRasp = Iast | Rasp, +} diff --git a/tracer/build/_build/CodeGenerators/TargetFrameworks.cs b/tracer/build/_build/CodeGenerators/TargetFrameworks.cs new file mode 100644 index 000000000000..ff2125dec34d --- /dev/null +++ b/tracer/build/_build/CodeGenerators/TargetFrameworks.cs @@ -0,0 +1,29 @@ +// +// Unless explicitly stated otherwise all files in this repository are licensed under the Apache 2 License. +// This product includes software developed at Datadog (https://www.datadoghq.com/). Copyright 2017 Datadog, Inc. +// +#nullable enable + +using System; + +namespace CodeGenerators; + +[Flags] +internal enum TargetFrameworks : uint +{ + None = 0, // For CodeGenerator only + + // NOTE : When modifying this file make sure to update the TargetFrameworks enum in the ClrProfiler folder inside the Datadog.Trace project + + NET461 = 1, + NET462 = 2, + NETSTANDARD2_0 = 4, + NETCOREAPP2_1 = 8, + NETCOREAPP3_0 = 16, + NETCOREAPP3_1 = 32, + NET5_0 = 64, + NET6_0 = 128, + NET7_0 = 256, + NET8_0 = 512, + NET0_0 = 1024, +} diff --git a/tracer/missing-nullability-files.csv b/tracer/missing-nullability-files.csv index 9e0647a373ff..7d4510fce500 100644 --- a/tracer/missing-nullability-files.csv +++ b/tracer/missing-nullability-files.csv @@ -79,7 +79,6 @@ src/Datadog.Trace/ClrProfiler/IAutomaticTracer.cs src/Datadog.Trace/ClrProfiler/ICommonTracer.cs src/Datadog.Trace/ClrProfiler/IDistributedTracer.cs src/Datadog.Trace/ClrProfiler/Instrumentation.cs -src/Datadog.Trace/ClrProfiler/InstrumentationCategory.cs src/Datadog.Trace/ClrProfiler/InstrumentationDefinitions.cs src/Datadog.Trace/ClrProfiler/InstrumentMethodAttribute.cs src/Datadog.Trace/ClrProfiler/IntegrationVersionRange.cs diff --git a/tracer/src/Datadog.Trace.SourceGenerators/AspectsDefinitions/AspectsDefinitionsGenerator.cs b/tracer/src/Datadog.Trace.SourceGenerators/AspectsDefinitions/AspectsDefinitionsGenerator.cs deleted file mode 100644 index ce5c2b7c57f6..000000000000 --- a/tracer/src/Datadog.Trace.SourceGenerators/AspectsDefinitions/AspectsDefinitionsGenerator.cs +++ /dev/null @@ -1,374 +0,0 @@ -// -// Unless explicitly stated otherwise all files in this repository are licensed under the Apache 2 License. -// This product includes software developed at Datadog (https://www.datadoghq.com/). Copyright 2017 Datadog, Inc. -// - -#nullable enable - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Linq; -using System.Text; -using System.Threading; -using Datadog.Trace.Iast; -using Datadog.Trace.Iast.Dataflow; -using Datadog.Trace.SourceGenerators.Helpers; -using Microsoft.CodeAnalysis; -using Microsoft.CodeAnalysis.CSharp.Syntax; -using Microsoft.CodeAnalysis.Text; - -/// -[Generator] -public class AspectsDefinitionsGenerator : IIncrementalGenerator -{ - private const string NullLiteral = "null"; - - /// - public void Initialize(IncrementalGeneratorInitializationContext context) - { - // RegisterSource(context, "AspectAttribute"); - // RegisterSource(context, "AspectClassAttribute"); - // RegisterSource(context, "AspectCtorReplaceAttribute"); - // RegisterSource(context, "AspectMethodInsertAfterAttribute"); - // RegisterSource(context, "AspectMethodInsertBeforeAttribute"); - // RegisterSource(context, "AspectMethodReplaceAttribute"); - - IncrementalValuesProvider> aspectsClassesToGenerate = - context.SyntaxProvider - .ForAttributeWithMetadataName( - "Datadog.Trace.Iast.Dataflow.AspectClassAttribute", - predicate: (node, _) => node is ClassDeclarationSyntax, - transform: GetAspectsToGenerate) - .WithTrackingName(TrackingNames.PostTransform) - - .Where(static m => m is not null); - - context.ReportDiagnostics( - aspectsClassesToGenerate - .Where(static m => m.Errors.Count > 0) - .SelectMany(static (x, _) => x.Errors) - .WithTrackingName(TrackingNames.Diagnostics)); - - IncrementalValuesProvider validClassesToGenerate = - aspectsClassesToGenerate - .Where(static m => m.Value.IsValid) - .Select(static (x, _) => x.Value.Aspects) - .WithTrackingName(TrackingNames.ValidValues); - - IncrementalValueProvider> allClassesToGenerate = - validClassesToGenerate - .Collect() - .WithTrackingName(TrackingNames.Collected); - - context.RegisterSourceOutput( - allClassesToGenerate, - static (spc, classToGenerate) => Execute(in classToGenerate, spc)); - } - - private static void Execute(in ImmutableArray aspectClasses, SourceProductionContext context) - { - var sb = new StringBuilder(); - sb.Append(Datadog.Trace.SourceGenerators.Constants.FileHeader); - sb.AppendLine(""" -using System; -using System.Collections; -using System.Collections.Generic; -using System.Linq; - -namespace Datadog.Trace.ClrProfiler -{ - internal static partial class AspectDefinitions - { - public static string[] GetAspects() => new string[] { -"""); - - foreach (var aspectClass in aspectClasses.OrderBy(p => p.AspectClass, StringComparer.Ordinal)) - { - sb.AppendLine(FormatLine(aspectClass.AspectClass)); - foreach (var aspect in aspectClass.Aspects) - { - sb.AppendLine(FormatLine(aspect)); - } - } - - sb.AppendLine(""" - }; - -"""); - - sb.AppendLine(""" - public static string[] GetRaspAspects() => new string[] { -"""); - - foreach (var aspectClass in aspectClasses.OrderBy(p => p.AspectClass, StringComparer.Ordinal)) - { - if (aspectClass.AspectClass.Contains(",RaspIastSink,")) - { - sb.AppendLine(FormatLine(aspectClass.AspectClass)); - foreach (var aspect in aspectClass.Aspects) - { - sb.AppendLine(FormatLine(aspect)); - } - } - } - - sb.AppendLine(""" - }; - } -} -"""); - - context.AddSource("AspectsDefinitions.g.cs", SourceText.From(sb.ToString(), Encoding.UTF8)); - - string FormatLine(string line) - { - return $"\"{line.Replace("\"", "\\\"").Replace("RaspIastSink", "Sink")}\","; - } - } - - private static Result<(ClassAspects Aspects, bool IsValid)> GetAspectsToGenerate(GeneratorAttributeSyntaxContext context, CancellationToken ct) - { - INamedTypeSymbol? classSymbol = context.TargetSymbol as INamedTypeSymbol; - if (classSymbol is null) - { - // nothing to do if this type isn't available - return new Result<(ClassAspects, bool)>((default, false), default); - } - - ct.ThrowIfCancellationRequested(); - List? diagnostics = null; - - string aspectClass = string.Empty; - foreach (AttributeData attribute in classSymbol.GetAttributes()) - { - if (attribute.AttributeClass is null) { continue; } - if (attribute.AttributeClass.Name == "AspectClassAttribute") - { - var line = GetAspectLine(attribute); - aspectClass = line + " " + classSymbol.ToString(); - - break; - } - } - - var aspects = new List(); - foreach (var member in classSymbol.GetMembers()) - { - if (member is not IMethodSymbol method) - { - continue; - } - - foreach (var attribute in member.GetAttributes()) - { - if (attribute.AttributeClass is null) { continue; } - if (attribute.AttributeClass.Name.StartsWith("Aspect")) - { - var line = GetAspectLine(attribute); - aspects.Add(" " + line + " " + GetFullName(method)); - } - } - } - - var errors = diagnostics is { Count: > 0 } - ? new EquatableArray(diagnostics.ToArray()) - : default; - - return new Result<(ClassAspects, bool)>((new ClassAspects(aspectClass, aspects), true), errors); - } - - private static string GetAspectLine(AttributeData data) - { - if (data is null || data.AttributeClass is null) { return string.Empty; } - - var arguments = data.ConstructorArguments.Select(GetArgument).ToList(); - var name = data.AttributeClass.Name; - var version = string.Empty; - - if (name.EndsWith("FromVersionAttribute")) - { - // Aspect with version limitation - name = name.Replace("FromVersionAttribute", "Attribute"); - version = ";V" + arguments[0].Trim('"'); - arguments.RemoveAt(0); - } - - return name switch - { - // Coments are to have the original attributes overloads present - // AspectClassAttribute(string defaultAssembly, AspectFilter[] filters, AspectType defaultAspectType = AspectType.Propagation, VulnerabilityType[] defaultVulnerabilityTypes) - "AspectClassAttribute" => arguments.Count switch - { - // AspectClassAttribute(string defaultAssembly) - 1 => $"[AspectClass({arguments[0]},[None],Propagation,[]){version}]", - // AspectClassAttribute(string defaultAssembly, AspectType defaultAspectType, params VulnerabilityType[] defaultVulnerabilityTypes) - 3 => $"[AspectClass({arguments[0]},[None],{arguments[1]},{Check(arguments[2])}){version}]", - // AspectClassAttribute(string defaultAssembly, AspectFilter[] filters, AspectType defaultAspectType = AspectType.Propagation, params VulnerabilityType[] defaultVulnerabilityTypes) - 4 => $"[AspectClass({arguments[0]},{arguments[1]},{arguments[2]},{Check(arguments[3])}){version}]", - _ => throw new ArgumentException($"Could not find AspectClassAttribute overload with {arguments.Count} parameters") - }, - // AspectAttribute(string targetMethod, string targetType, int[] paramShift, bool[] boxParam, AspectFilter[] filters, AspectType aspectType = AspectType.Propagation, VulnerabilityType[] vulnerabilityTypes) - "AspectCtorReplaceAttribute" => arguments.Count switch - { - // AspectCtorReplaceAttribute(string targetMethod) - 1 => $"[AspectCtorReplace({arguments[0]},\"\",[0],[False],[None],Default,[]){version}]", - // AspectCtorReplaceAttribute(string targetMethod, params AspectFilter[] filters) - 2 => $"[AspectCtorReplace({arguments[0]},\"\",[0],[False],{Check(arguments[1])},Default,[]){version}]", - // AspectCtorReplaceAttribute(string targetMethod, AspectType aspectType = AspectType.Default, params VulnerabilityType[] vulnerabilityTypes) - 3 => $"[AspectCtorReplace({arguments[0]},\"\",[0],[False],[None],{arguments[1]},{Check(arguments[2])}){version}]", - // AspectCtorReplaceAttribute(string targetMethod, AspectFilter[] filters, AspectType aspectType = AspectType.Default, params VulnerabilityType[] vulnerabilityTypes) - 4 => $"[AspectCtorReplace({arguments[0]},\"\",[0],[False],[{arguments[1]}],{arguments[2]},{Check(arguments[3])}){version}]", - _ => throw new ArgumentException($"Could not find AspectCtorReplaceAttribute overload with {arguments.Count} parameters") - }, - "AspectMethodReplaceAttribute" => arguments.Count switch - { - // AspectMethodReplaceAttribute(string targetMethod) - 1 => $"[AspectMethodReplace({arguments[0]},\"\",[0],[False],[None],Default,[]){version}]", - // AspectMethodReplaceAttribute(string targetMethod, params AspectFilter[] filters) - 2 => $"[AspectMethodReplace({arguments[0]},\"\",[0],[False],{Check(arguments[1], "[None]")},Default,[]){version}]", - // AspectMethodReplaceAttribute(string targetMethod, string targetType, params AspectFilter[] filters) - 3 => arguments[1] switch - { - { } when arguments[1].StartsWith("[") => $"[AspectMethodReplace({arguments[0]},\"\",{arguments[1]},{arguments[2]},[None],Default,[]){version}]", - // AspectMethodReplaceAttribute(string targetMethod, string targetType, params AspectFilter[] filters) - _ => $"[AspectMethodReplace({arguments[0]},{arguments[1]},[0],[False],{Check(arguments[2], "[None]")},Default,[]){version}]", - }, - _ => throw new ArgumentException($"Could not find AspectMethodReplaceAttribute overload with {arguments.Count} parameters") - }, - "AspectMethodInsertBeforeAttribute" => arguments.Count switch - { - // AspectMethodInsertBeforeAttribute(string targetMethod, params int[] paramShift) - 2 => $"[AspectMethodInsertBefore({arguments[0]},\"\",{MakeSameSize(Check(arguments[1]))},[None],Default,[]){version}]", - // AspectMethodInsertBeforeAttribute(string targetMethod, int[] paramShift, bool[] boxParam) - 3 => $"[AspectMethodInsertBefore({arguments[0]},\"\",[{arguments[1]}],[{arguments[2]}],[None],Default,[]){version}]", - _ => throw new ArgumentException($"Could not find AspectMethodInsertBeforeAttribute overload with {arguments.Count} parameters") - }, - "AspectMethodInsertAfterAttribute" => arguments.Count switch - { - // AspectMethodInsertAfterAttribute(string targetMethod) - 1 => $"[AspectMethodInsertAfter({arguments[0]},\"\",[0],[False],[None],Default,[]){version}]", - // AspectMethodInsertAfterAttribute(string targetMethod, AspectType aspectType, params VulnerabilityType[] vulnerabilityTypes) - 3 => $"[AspectMethodInsertAfter({arguments[0]},\"\",[0],[False],[None],{arguments[1]},{Check(arguments[2])}){version}]", - _ => throw new ArgumentException($"Could not find AspectMethodInsertAfterAttribute overload with {arguments.Count} parameters") - }, - _ => throw new Exception() - }; - - string Check(string val, string ifEmpty = "[]") - { - return (string.IsNullOrEmpty(val) || val == NullLiteral || val == "[]") ? ifEmpty : val; - } - - string MakeSameSize(string val, string ifEmpty = "[0]", string defaultValue = "False") - { - val = Check(val, ifEmpty); - int count = val.Count(c => c == ','); - string values = string.Empty; - for (int x = 0; x < count + 1; x++) - { - values += defaultValue; - if (x < count) { values += ","; } - } - - return $"{val},[{values}]"; - } - } - - private static DiagnosticInfo CreateInfo(SyntaxNode? currentNode) - => new( - new DiagnosticDescriptor( - "AG1", - "AspectsGenerator Error", - "Error message", - category: Datadog.Trace.SourceGenerators.Constants.Usage, - defaultSeverity: DiagnosticSeverity.Error, - isEnabledByDefault: true), - currentNode?.GetLocation()); - - private static Type? Resolve(TypedConstant? constant) - { - if (constant == null) { return null; } - var typeName = GetFullName(constant?.Type); - var type = Type.GetType(typeName); - return type; - } - - private static string GetFullName(ITypeSymbol? type, bool extractOnlyBaseType = true) - { - if (type == null) { return string.Empty; } - if (type is IArrayTypeSymbol arrayType) - { - var elementType = GetFullName(arrayType.ElementType, extractOnlyBaseType); - if (extractOnlyBaseType) { return elementType; } - return elementType + "[]"; - } - - var ns = string.Empty; - if (type.ContainingSymbol is INamespaceSymbol nameSpace) - { - ns = nameSpace.ToString(); - } - - var name = type.Name.ToString(); - if (type is INamedTypeSymbol namedType) - { - if (ns.Length > 0) { name = ns + "." + name; } - if (namedType.TypeArguments.Length > 0) - { - name = $"{name}`{namedType.TypeArguments.Length}<{string.Join(",", namedType.TypeArguments.Select(a => GetFullName(a, false)))}>"; - } - } - else if (type is ITypeParameterSymbol typeParameter) - { - name = $"!!{typeParameter.Ordinal}"; - } - - return name; - } - - private static string GetFullName(IMethodSymbol method) - { - string arguments = string.Join(",", method.Parameters.Select(a => GetFullName(a.Type, false))); - return $"{method.Name}({arguments})"; - } - - private static string GetArgument(TypedConstant customAttributeArgument) - { - if (customAttributeArgument.Type is null) { return NullLiteral; } - else if (customAttributeArgument.Kind == TypedConstantKind.Primitive) - { - var value = customAttributeArgument.Value?.ToString() ?? NullLiteral; - if (customAttributeArgument.Type!.Name == "String") { return $"\"{value}\""; } - return value; - } - else if (customAttributeArgument.Kind == TypedConstantKind.Enum) - { - if (customAttributeArgument.Type!.Name == "AspectFilter") { return ((AspectFilter)customAttributeArgument.Value!).ToString(); } - else if (customAttributeArgument.Type!.Name == "AspectType") { return ((AspectType)customAttributeArgument.Value!).ToString(); } - else if (customAttributeArgument.Type!.Name == "VulnerabilityType") { return ((VulnerabilityType)customAttributeArgument.Value!).ToString(); } - var type = Resolve(customAttributeArgument); - return Enum.ToObject(type, customAttributeArgument.Value).ToString(); - } - else if (customAttributeArgument.Kind == TypedConstantKind.Array) - { - var elementType = Resolve(customAttributeArgument); - var values = customAttributeArgument.Values; - return $"[{string.Join(",", values.Select(GetArgument))}]"; - } - - return string.Empty; - } - - internal record struct ClassAspects - { - public readonly string AspectClass; - public readonly EquatableArray Aspects; - - public ClassAspects(string aspectClass, IEnumerable aspects) - { - AspectClass = aspectClass; - Aspects = new EquatableArray(aspects.ToArray()); - } - } -} diff --git a/tracer/src/Datadog.Trace.SourceGenerators/Datadog.Trace.SourceGenerators.csproj b/tracer/src/Datadog.Trace.SourceGenerators/Datadog.Trace.SourceGenerators.csproj index da8758cdf98a..8420b34bd1a0 100644 --- a/tracer/src/Datadog.Trace.SourceGenerators/Datadog.Trace.SourceGenerators.csproj +++ b/tracer/src/Datadog.Trace.SourceGenerators/Datadog.Trace.SourceGenerators.csproj @@ -13,12 +13,8 @@ - - - - - - + + MessagePack\Attributes.cs @@ -278,7 +274,4 @@ MessagePack\_last_downloaded_source_url.txt - - - diff --git a/tracer/src/Datadog.Trace.SourceGenerators/InstrumentationDefinitions/InstrumentationDefinitionsGenerator.cs b/tracer/src/Datadog.Trace.SourceGenerators/InstrumentationDefinitions/InstrumentationDefinitionsGenerator.cs index b0ba496729b9..9c29e6ddaad2 100644 --- a/tracer/src/Datadog.Trace.SourceGenerators/InstrumentationDefinitions/InstrumentationDefinitionsGenerator.cs +++ b/tracer/src/Datadog.Trace.SourceGenerators/InstrumentationDefinitions/InstrumentationDefinitionsGenerator.cs @@ -193,7 +193,7 @@ private static Result> GetCallTargetD integrationKind = namedArgument.Value.Value as int?; break; case nameof(Constants.InstrumentAttributeProperties.InstrumentationCategory): - instrumentationCategory = (InstrumentationCategory)(namedArgument.Value.Value as int?).GetValueOrDefault(); + instrumentationCategory = (InstrumentationCategory)(namedArgument.Value.Value as uint?).GetValueOrDefault(); break; default: hasMisconfiguredInput = true; diff --git a/tracer/src/Datadog.Trace/ClrProfiler/Instrumentation.cs b/tracer/src/Datadog.Trace/ClrProfiler/Instrumentation.cs index 6f97a3f06f79..0db916c8e41d 100644 --- a/tracer/src/Datadog.Trace/ClrProfiler/Instrumentation.cs +++ b/tracer/src/Datadog.Trace/ClrProfiler/Instrumentation.cs @@ -47,8 +47,6 @@ public static class Instrumentation private static readonly IDatadogLogger Log = DatadogLogging.GetLoggerFor(typeof(Instrumentation)); - private static bool legacyMode = false; - /// /// Gets a value indicating whether Datadog's profiler is attached to the current process. /// @@ -97,10 +95,11 @@ public static void Initialize() Log.Debug("Initialization started."); var sw = Stopwatch.StartNew(); - legacyMode = GetNativeTracerVersion() != TracerConstants.ThreePartVersion; - if (legacyMode) + + bool versionMismatch = GetNativeTracerVersion() != TracerConstants.ThreePartVersion; + if (versionMismatch) { - InitializeLegacy(); + Log.Error("Version mismatch detected. This scenario should not exist. Native: {Native} Managed: {Managed}", GetNativeTracerVersion(), TracerConstants.ThreePartVersion); } else { @@ -138,14 +137,15 @@ public static void Initialize() if (raspEnabled) { Log.Debug("Enabling Rasp"); + category |= InstrumentationCategory.Rasp; } - EnableTracerInstrumentations(category, raspEnabled: raspEnabled); + EnableTracerInstrumentations(category); } } catch (Exception ex) { - Log.Error(ex, "Error sending CallTarget integration definitions to native library"); + Log.Error(ex, "Error sending definitions to native library"); } TelemetryFactory.Metrics.RecordDistributionSharedInitTime(MetricTags.InitializationComponent.CallTargetDefsPinvoke, sw.ElapsedMilliseconds); @@ -212,68 +212,6 @@ static bool IsInSsi() } } - /// - /// Initializes global instrumentation values. - /// - public static void InitializeLegacy() - { - var sw = Stopwatch.StartNew(); - try - { - Log.Debug("Enabling by ref instrumentation."); - NativeMethods.EnableByRefInstrumentation(); - Log.Information("ByRef instrumentation enabled."); - } - catch (Exception ex) - { - Log.Error(ex, "ByRef instrumentation cannot be enabled: "); - } - - TelemetryFactory.Metrics.RecordDistributionSharedInitTime(MetricTags.InitializationComponent.ByRefPinvoke, sw.ElapsedMilliseconds); - sw.Restart(); - - try - { - Log.Debug("Enabling calltarget state by ref."); - NativeMethods.EnableCallTargetStateByRef(); - Log.Information("CallTarget State ByRef enabled."); - } - catch (Exception ex) - { - Log.Error(ex, "CallTarget state ByRef cannot be enabled: "); - } - - TelemetryFactory.Metrics.RecordDistributionSharedInitTime(MetricTags.InitializationComponent.CallTargetStateByRefPinvoke, sw.ElapsedMilliseconds); - sw.Restart(); - - try - { - Log.Debug("Initializing TraceAttribute instrumentation."); - var payload = InstrumentationDefinitions.GetTraceAttributeDefinitions(); - NativeMethods.AddTraceAttributeInstrumentation(payload.DefinitionsId, payload.AssemblyName, payload.TypeName); - Log.Information("TraceAttribute instrumentation enabled with Assembly={AssemblyName} and Type={TypeName}.", payload.AssemblyName, payload.TypeName); - } - catch (Exception ex) - { - Log.Error(ex, "Error initializing TraceAttribute instrumentation"); - } - - TelemetryFactory.Metrics.RecordDistributionSharedInitTime(MetricTags.InitializationComponent.TraceAttributesPinvoke, sw.ElapsedMilliseconds); - sw.Restart(); - - InitializeNoNativeParts(sw); - - InitializeInstrumentationsLegacy(InstrumentationCategory.Tracing, sw); - - InitializeTracer(sw); - - InitializeAppSecLegacy(sw); - - InitializeIastLegacy(sw); - - Log.Debug("Legacy Initialization finished."); - } - private static void RunShutdown(Exception ex) { InstrumentationDefinitions.Dispose(); @@ -478,35 +416,6 @@ private static void InitializeTracer(Stopwatch sw) } } - private static void InitializeAppSecLegacy(Stopwatch sw) - { - if (!legacyMode) { return; } - - if (!Security.Instance.Settings.AppsecEnabled) - { - Log.Debug("Skipping AppSec initialization because AppSec is disabled"); - } - else - { - InitializeInstrumentationsLegacy(InstrumentationCategory.AppSec, sw); - } - } - - private static void InitializeIastLegacy(Stopwatch sw) - { - if (!legacyMode) { return; } - - if (!Iast.Iast.Instance.Settings.Enabled) - { - Log.Debug("Skipping Iast initialization because Iast is disabled"); - } - else - { - Iast.Iast.Instance.InitAnalyzers(); - InitializeInstrumentationsLegacy(InstrumentationCategory.Iast, sw); - } - } - #if !NETFRAMEWORK private static void StartDiagnosticManager() { @@ -608,199 +517,49 @@ internal static async Task InitializeLiveDebugger(LiveDebugger liveDebugger) TelemetryFactory.Metrics.RecordDistributionSharedInitTime(MetricTags.InitializationComponent.DynamicInstrumentation, sw.ElapsedMilliseconds); } - internal static void EnableTracerInstrumentations(InstrumentationCategory categories, Stopwatch sw = null, bool raspEnabled = false) + internal static void EnableTracerInstrumentations(InstrumentationCategory categories, Stopwatch sw = null) { - if (legacyMode) - { - InitializeInstrumentationsLegacy(categories, sw); - } - else - { - var defs = NativeMethods.EnableCallTargetDefinitions((uint)categories); - TelemetryFactory.Metrics.RecordGaugeInstrumentations(MetricTags.InstrumentationComponent.CallTarget, defs); - EnableCallSiteInstrumentations(categories, sw, raspEnabled: raspEnabled); - } + var defs = NativeMethods.EnableCallTargetDefinitions((uint)categories); + TelemetryFactory.Metrics.RecordGaugeInstrumentations(MetricTags.InstrumentationComponent.CallTarget, defs); + EnableCallSiteInstrumentations(categories, sw); } - private static void EnableCallSiteInstrumentations(InstrumentationCategory categories, Stopwatch sw, bool raspEnabled = false) + private static void EnableCallSiteInstrumentations(InstrumentationCategory categories, Stopwatch sw) { // Since we have no RASP especific instrumentations for now, we will only filter callsite aspects if RASP is // enabled and IAST is disabled. We don't expect RASP only instrumentation to be used in the near future. var isIast = categories.HasFlag(InstrumentationCategory.Iast); + var raspEnabled = categories.HasFlag(InstrumentationCategory.Rasp); if (isIast || raspEnabled) { - string[] inputAspects = null; + var debugMsg = (isIast && raspEnabled) ? "IAST/RASP" : (isIast ? "IAST" : "RASP"); + Log.Debug("Registering {DebugMsg} Callsite Dataflow Aspects into native library.", debugMsg); - inputAspects = isIast ? AspectDefinitions.GetAspects() : AspectDefinitions.GetRaspAspects(); + var aspects = NativeMethods.InitEmbeddedCallSiteDefinitions(categories, ConfigTelemetryData.TargetFramework); + Log.Information("{Aspects} {DebugMsg} Callsite Dataflow Aspects added to the profiler.", aspects, debugMsg); - if (inputAspects != null) + if (isIast) { - var debugMsg = (isIast && raspEnabled) ? "IAST/RASP" : (isIast ? "IAST" : "RASP"); - Log.Debug("Registering {DebugMsg} Callsite Dataflow Aspects into native library.", debugMsg); - - var aspects = NativeMethods.RegisterIastAspects(inputAspects); - Log.Information("{Aspects} {DebugMsg} Callsite Dataflow Aspects added to the profiler.", aspects, debugMsg); + TelemetryFactory.Metrics.RecordGaugeInstrumentations(MetricTags.InstrumentationComponent.IastAspects, aspects); + } + if (sw != null) + { if (isIast) { - TelemetryFactory.Metrics.RecordGaugeInstrumentations(MetricTags.InstrumentationComponent.IastAspects, aspects); + TelemetryFactory.Metrics.RecordDistributionSharedInitTime(MetricTags.InitializationComponent.Iast, sw.ElapsedMilliseconds); } - if (sw != null) - { - if (isIast) - { - TelemetryFactory.Metrics.RecordDistributionSharedInitTime(MetricTags.InitializationComponent.Iast, sw.ElapsedMilliseconds); - } - - sw.Restart(); - } + sw.Restart(); } } } internal static void DisableTracerInstrumentations(InstrumentationCategory categories, Stopwatch sw = null) { - if (legacyMode) - { - RemoveTracerInstrumentationsLegacy(categories); - } - else - { - NativeMethods.DisableCallTargetDefinitions((uint)categories); - } - } - - private static void InitializeInstrumentationsLegacy(InstrumentationCategory categories, Stopwatch sw = null) - { - if (categories.HasFlag(InstrumentationCategory.Tracing)) - { - try - { - Log.Debug("Sending CallTarget integration definitions to native library."); - var payload = InstrumentationDefinitions.GetAllDefinitions(); - NativeMethods.InitializeProfiler(payload.DefinitionsId, payload.Definitions); - Log.Information("The profiler has been initialized with {Count} definitions.", payload.Definitions.Length); - TelemetryFactory.Metrics.RecordGaugeInstrumentations(MetricTags.InstrumentationComponent.CallTarget, payload.Definitions.Length); - } - catch (Exception ex) - { - Log.Error(ex, "Error sending CallTarget integration definitions to native library"); - } - - if (sw != null) - { - TelemetryFactory.Metrics.RecordDistributionSharedInitTime(MetricTags.InitializationComponent.CallTargetDefsPinvoke, sw.ElapsedMilliseconds); - sw.Restart(); - } - - try - { - Log.Debug("Sending CallTarget derived integration definitions to native library."); - var payload = InstrumentationDefinitions.GetDerivedDefinitions(); - NativeMethods.AddDerivedInstrumentations(payload.DefinitionsId, payload.Definitions); - Log.Information("The profiler has been initialized with {Count} derived definitions.", payload.Definitions.Length); - TelemetryFactory.Metrics.RecordGaugeInstrumentations(MetricTags.InstrumentationComponent.CallTargetDerived, payload.Definitions.Length); - } - catch (Exception ex) - { - Log.Error(ex, "Error sending CallTarget derived integration definitions to native library"); - } - - if (sw != null) - { - TelemetryFactory.Metrics.RecordDistributionSharedInitTime(MetricTags.InitializationComponent.CallTargetDerivedDefsPinvoke, sw.ElapsedMilliseconds); - sw.Restart(); - } - - try - { - Log.Debug("Sending CallTarget interface integration definitions to native library."); - var payload = InstrumentationDefinitions.GetInterfaceDefinitions(); - NativeMethods.AddInterfaceInstrumentations(payload.DefinitionsId, payload.Definitions); - Log.Information("The profiler has been initialized with {Count} interface definitions.", payload.Definitions.Length); - TelemetryFactory.Metrics.RecordGaugeInstrumentations(MetricTags.InstrumentationComponent.CallTargetInterfaces, payload.Definitions.Length); - } - catch (Exception ex) - { - Log.Error(ex, "Error sending CallTarget interface integration definitions to native library"); - } - - if (sw != null) - { - TelemetryFactory.Metrics.RecordDistributionSharedInitTime(MetricTags.InitializationComponent.CallTargetInterfaceDefsPinvoke, sw.ElapsedMilliseconds); - sw.Restart(); - } - } - - if (categories.HasFlag(InstrumentationCategory.AppSec)) - { - int defs = 0, derived = 0; - try - { - Log.Debug("Adding CallTarget AppSec integration definitions to native library."); - var payload = InstrumentationDefinitions.GetAllDefinitions(InstrumentationCategory.AppSec); - NativeMethods.InitializeProfiler(payload.DefinitionsId, payload.Definitions); - defs = payload.Definitions.Length; - } - catch (Exception ex) - { - Log.Error(ex, "Error adding CallTarget AppSec integration definitions to native library"); - } - - try - { - Log.Debug("Adding CallTarget appsec derived integration definitions to native library."); - var payload = InstrumentationDefinitions.GetDerivedDefinitions(InstrumentationCategory.AppSec); - NativeMethods.InitializeProfiler(payload.DefinitionsId, payload.Definitions); - derived = payload.Definitions.Length; - } - catch (Exception ex) - { - Log.Error(ex, "Error adding CallTarget appsec derived integration definitions to native library"); - } - - Log.Information("{DefinitionCount} AppSec definitions and {DerivedCount} AppSec derived definitions added to the profiler.", defs, derived); - } - - if (categories.HasFlag(InstrumentationCategory.Iast)) - { - try - { - int defs = 0, derived = 0; - Log.Debug("Adding CallTarget IAST integration definitions to native library."); - var payload = InstrumentationDefinitions.GetAllDefinitions(InstrumentationCategory.Iast); - NativeMethods.InitializeProfiler(payload.DefinitionsId, payload.Definitions); - defs = payload.Definitions.Length; - TelemetryFactory.Metrics.RecordGaugeInstrumentations(MetricTags.InstrumentationComponent.Iast, defs); - - Log.Debug("Adding CallTarget IAST derived integration definitions to native library."); - payload = InstrumentationDefinitions.GetDerivedDefinitions(InstrumentationCategory.Iast); - NativeMethods.InitializeProfiler(payload.DefinitionsId, payload.Definitions); - derived = payload.Definitions.Length; - TelemetryFactory.Metrics.RecordGaugeInstrumentations(MetricTags.InstrumentationComponent.IastDerived, derived); - - Log.Information("{Defs} IAST definitions and {Derived} IAST derived definitions added to the profiler.", defs, derived); - - Log.Debug("Registering IAST Callsite Dataflow Aspects into native library."); - var aspects = NativeMethods.RegisterIastAspects(AspectDefinitions.GetAspects()); - Log.Information("{Aspects} IAST Callsite Dataflow Aspects added to the profiler.", aspects); - TelemetryFactory.Metrics.RecordGaugeInstrumentations(MetricTags.InstrumentationComponent.IastAspects, aspects); - } - catch (Exception ex) - { - Iast.Iast.Instance.Settings.Enabled = false; - Log.Error(ex, "DDIAST-0001-01: IAST could not start because of an unexpected error. No security activities will be collected. Please contact support at https://docs.datadoghq.com/help/ for help."); - } - - if (sw != null) - { - TelemetryFactory.Metrics.RecordDistributionSharedInitTime(MetricTags.InitializationComponent.Iast, sw.ElapsedMilliseconds); - sw.Restart(); - } - } + NativeMethods.DisableCallTargetDefinitions((uint)categories); } private static void RemoveTracerInstrumentationsLegacy(InstrumentationCategory categories) diff --git a/tracer/src/Datadog.Trace/ClrProfiler/InstrumentationCategory.cs b/tracer/src/Datadog.Trace/ClrProfiler/InstrumentationCategory.cs index 31a0ac21570d..0567c9ac619c 100644 --- a/tracer/src/Datadog.Trace/ClrProfiler/InstrumentationCategory.cs +++ b/tracer/src/Datadog.Trace/ClrProfiler/InstrumentationCategory.cs @@ -2,14 +2,21 @@ // Unless explicitly stated otherwise all files in this repository are licensed under the Apache 2 License. // This product includes software developed at Datadog (https://www.datadoghq.com/). Copyright 2017 Datadog, Inc. // +#nullable enable -namespace Datadog.Trace.ClrProfiler +using System; + +namespace Datadog.Trace.ClrProfiler; + +[Flags] +internal enum InstrumentationCategory : uint { - [System.Flags] - internal enum InstrumentationCategory - { - Tracing = 1, - AppSec = 2, - Iast = 4 - } + // NOTE : When modifying this file make sure to update the InstrumentationCategory enum in the CodeGenerator folder inside the _build project + + Tracing = 1, + AppSec = 2, + Iast = 4, + Rasp = 8, + + IastRasp = Iast | Rasp, } diff --git a/tracer/src/Datadog.Trace/ClrProfiler/NativeMethods.cs b/tracer/src/Datadog.Trace/ClrProfiler/NativeMethods.cs index 0a6c8b211956..2698cdd50e6a 100644 --- a/tracer/src/Datadog.Trace/ClrProfiler/NativeMethods.cs +++ b/tracer/src/Datadog.Trace/ClrProfiler/NativeMethods.cs @@ -234,6 +234,23 @@ public static int DisableCallTargetDefinitions(uint disabledCategories) } } + public static int InitEmbeddedCallSiteDefinitions(InstrumentationCategory enabledCategories, TargetFrameworks platform) + { + if (enabledCategories == 0 || platform == 0) + { + return 0; + } + + if (IsWindows) + { + return Windows.InitEmbeddedCallSiteDefinitions((uint)enabledCategories, (uint)platform); + } + else + { + return NonWindows.InitEmbeddedCallSiteDefinitions((uint)enabledCategories, (uint)platform); + } + } + public static void UpdateSettings(string[] keys, string[] values) { if (keys.Length != values.Length) @@ -310,6 +327,9 @@ private static class Windows [DllImport("Datadog.Tracer.Native.dll")] public static extern int DisableCallTargetDefinitions(uint disabledCategories); + [DllImport("Datadog.Tracer.Native.dll")] + public static extern int InitEmbeddedCallSiteDefinitions(uint enabledCategories, uint platform); + [DllImport("Datadog.Tracer.Native.dll")] public static extern void UpdateSettings( [In, MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.LPWStr)] string[] keys, @@ -366,6 +386,9 @@ private static class NonWindows [DllImport("Datadog.Tracer.Native")] public static extern int DisableCallTargetDefinitions(uint disabledCategories); + [DllImport("Datadog.Tracer.Native")] + public static extern int InitEmbeddedCallSiteDefinitions(uint enabledCategories, uint platform); + [DllImport("Datadog.Tracer.Native")] public static extern void UpdateSettings( [In, MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.LPWStr)] string[] keys, diff --git a/tracer/src/Datadog.Trace/ClrProfiler/TargetFrameworks.cs b/tracer/src/Datadog.Trace/ClrProfiler/TargetFrameworks.cs new file mode 100644 index 000000000000..f6a6817cf294 --- /dev/null +++ b/tracer/src/Datadog.Trace/ClrProfiler/TargetFrameworks.cs @@ -0,0 +1,27 @@ +// +// Unless explicitly stated otherwise all files in this repository are licensed under the Apache 2 License. +// This product includes software developed at Datadog (https://www.datadoghq.com/). Copyright 2017 Datadog, Inc. +// +#nullable enable + +using System; + +namespace Datadog.Trace.ClrProfiler; + +[Flags] +internal enum TargetFrameworks : uint +{ + // NOTE : When modifying this file make sure to update the TargetFrameworks enum in the CodeGenerator folder inside the _build project + + NET461 = 1, + NET462 = 2, + NETSTANDARD2_0 = 4, + NETCOREAPP2_1 = 8, + NETCOREAPP3_0 = 16, + NETCOREAPP3_1 = 32, + NET5_0 = 64, + NET6_0 = 128, + NET7_0 = 256, + NET8_0 = 512, + NET9_0 = 1024, +} diff --git a/tracer/src/Datadog.Trace/Generated/net461/Datadog.Trace.SourceGenerators/AspectsDefinitionsGenerator/AspectsDefinitions.g.cs b/tracer/src/Datadog.Trace/Generated/net461/Datadog.Trace.SourceGenerators/AspectsDefinitionsGenerator/AspectsDefinitions.g.cs deleted file mode 100644 index 96d4c75a3a2e..000000000000 --- a/tracer/src/Datadog.Trace/Generated/net461/Datadog.Trace.SourceGenerators/AspectsDefinitionsGenerator/AspectsDefinitions.g.cs +++ /dev/null @@ -1,810 +0,0 @@ -// -// Unless explicitly stated otherwise all files in this repository are licensed under the Apache 2 License. -// This product includes software developed at Datadog (https://www.datadoghq.com/). Copyright 2017 Datadog, Inc. -// -// - -#nullable enable - -using System; -using System.Collections; -using System.Collections.Generic; -using System.Linq; - -namespace Datadog.Trace.ClrProfiler -{ - internal static partial class AspectDefinitions - { - public static string[] GetAspects() => new string[] { -"[AspectClass(\"EntityFramework\",[None],Sink,[SqlInjection])] Datadog.Trace.Iast.Aspects.EntityCommandAspect", -" [AspectMethodInsertBefore(\"System.Data.Entity.Core.EntityClient.EntityCommand::ExecuteReader(System.Data.CommandBehavior)\",\"\",[1],[False],[None],Default,[])] ReviewSqlCommand(System.Object)", -" [AspectMethodInsertBefore(\"System.Data.Entity.Core.EntityClient.EntityCommand::ExecuteReaderAsync(System.Data.CommandBehavior,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewSqlCommand(System.Object)", -" [AspectMethodInsertBefore(\"System.Data.Entity.Core.EntityClient.EntityCommand::ExecuteReaderAsync(System.Data.CommandBehavior)\",\"\",[1],[False],[None],Default,[])] ReviewSqlCommand(System.Object)", -"[AspectClass(\"Microsoft.AspNetCore.Http\",[None],Sink,[UnvalidatedRedirect])] Datadog.Trace.Iast.Aspects.AspNetCore.Http.HttpResponseAspect", -" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Http.HttpResponse::Redirect(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Http.HttpResponse::Redirect(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] Redirect(System.String)", -"[AspectClass(\"Microsoft.AspNetCore.Mvc\",[None],Sink,[UnvalidatedRedirect])] Datadog.Trace.Iast.Aspects.AspNetCore.Mvc.ControllerBaseAspect", -" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Mvc.ControllerBase::Redirect(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Mvc.ControllerBase::RedirectPermanent(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Mvc.ControllerBase::RedirectPreserveMethod(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Mvc.ControllerBase::RedirectPermanentPreserveMethod(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Mvc.ControllerBase::LocalRedirect(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Mvc.ControllerBase::LocalRedirectPermanent(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Mvc.ControllerBase::LocalRedirectPreserveMethod(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Mvc.ControllerBase::LocalRedirectPermanentPreserveMethod(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String)", -"[AspectClass(\"MongoDB.Bson\",[None],Sink,[NoSqlMongoDbInjection])] Datadog.Trace.Iast.Aspects.MongoDB.BsonAspect", -" [AspectMethodInsertBefore(\"MongoDB.Bson.Serialization.BsonSerializer::Deserialize(System.String,System.Action`1)\",\"\",[1],[False],[None],Default,[])] AnalyzeJsonString(System.String)", -" [AspectMethodInsertBefore(\"MongoDB.Bson.Serialization.BsonSerializer::Deserialize(System.String,System.Type,System.Action`1)\",\"\",[2],[False],[None],Default,[])] AnalyzeJsonString(System.String)", -" [AspectMethodInsertBefore(\"MongoDB.Bson.BsonDocument::Parse(System.String)\",\"\",[0],[False],[None],Default,[])] AnalyzeJsonString(System.String)", -" [AspectMethodInsertBefore(\"MongoDB.Bson.IO.JsonReader::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] AnalyzeJsonString(System.String)", -"[AspectClass(\"MongoDB.Driver\",[None],Sink,[NoSqlMongoDbInjection])] Datadog.Trace.Iast.Aspects.MongoDB.MongoDatabaseAspect", -" [AspectMethodInsertBefore(\"MongoDB.Driver.IMongoDatabase::RunCommand(MongoDB.Driver.Command`1,MongoDB.Driver.ReadPreference,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] AnalyzeCommand(System.Object)", -" [AspectMethodInsertBefore(\"MongoDB.Driver.IMongoDatabase::RunCommandAsync(MongoDB.Driver.Command`1,MongoDB.Driver.ReadPreference,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] AnalyzeCommand(System.Object)", -" [AspectMethodInsertBefore(\"MongoDB.Driver.IMongoCollectionExtensions::Find(MongoDB.Driver.IMongoCollection`1,MongoDB.Driver.FilterDefinition`1,MongoDB.Driver.FindOptions)\",\"\",[1],[False],[None],Default,[])] AnalyzeCommand(System.Object)", -" [AspectMethodInsertBefore(\"MongoDB.Driver.IMongoCollectionExtensions::FindAsync(MongoDB.Driver.IMongoCollection`1,MongoDB.Driver.FilterDefinition`1,MongoDB.Driver.FindOptions`2,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] AnalyzeCommand(System.Object)", -"[AspectClass(\"NHibernate\",[None],Sink,[SqlInjection])] Datadog.Trace.Iast.Aspects.NHibernate.ISessionAspect", -" [AspectMethodInsertBefore(\"NHibernate.ISession::CreateQuery(System.String)\",\"\",[0],[False],[None],Default,[])] AnalyzeQuery(System.String)", -" [AspectMethodInsertBefore(\"NHibernate.ISession::CreateSQLQuery(System.String)\",\"\",[0],[False],[None],Default,[])] AnalyzeQuery(System.String)", -"[AspectClass(\"Newtonsoft.Json\",[None],Propagation,[])] Datadog.Trace.Iast.Aspects.Newtonsoft.Json.NewtonsoftJsonAspects", -" [AspectMethodReplace(\"Newtonsoft.Json.Linq.JObject::Parse(System.String)\",\"\",[0],[False],[None],Default,[])] ParseObject(System.String)", -" [AspectMethodReplace(\"Newtonsoft.Json.Linq.JArray::Parse(System.String)\",\"\",[0],[False],[None],Default,[])] ParseArray(System.String)", -" [AspectMethodReplace(\"Newtonsoft.Json.Linq.JToken::Parse(System.String)\",\"\",[0],[False],[None],Default,[])] ParseToken(System.String)", -"[AspectClass(\"System,System.Net.Mail\",[None],Sink,[EmailHtmlInjection])] Datadog.Trace.Iast.Aspects.SmtpClientAspect", -" [AspectMethodInsertBefore(\"System.Net.Mail.SmtpClient::Send(System.Net.Mail.MailMessage)\",\"\",[0],[False],[None],Default,[])] Send(System.Object)", -" [AspectMethodInsertBefore(\"System.Net.Mail.SmtpClient::SendAsync(System.Net.Mail.MailMessage,System.Object)\",\"\",[1],[False],[None],Default,[])] Send(System.Object)", -" [AspectMethodInsertBefore(\"System.Net.Mail.SmtpClient::SendMailAsync(System.Net.Mail.MailMessage)\",\"\",[0],[False],[None],Default,[])] Send(System.Object)", -"[AspectClass(\"System,System.Runtime\",[StringOptimization],Propagation,[])] Datadog.Trace.Iast.Aspects.System.UriAspect", -" [AspectCtorReplace(\"System.Uri::.ctor(System.String)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Init(System.String)", -" [AspectCtorReplace(\"System.Uri::.ctor(System.Uri,System.String,System.Boolean)\",\"\",[0],[False],[None],Default,[])] Init(System.Uri,System.String,System.Boolean)", -" [AspectCtorReplace(\"System.Uri::.ctor(System.Uri,System.String)\",\"\",[0],[False],[None],Default,[])] Init(System.Uri,System.String)", -" [AspectCtorReplace(\"System.Uri::.ctor(System.Uri,System.Uri)\",\"\",[0],[False],[None],Default,[])] Init(System.Uri,System.Uri)", -" [AspectCtorReplace(\"System.Uri::.ctor(System.String,System.Boolean)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Init(System.String,System.Boolean)", -" [AspectCtorReplace(\"System.Uri::.ctor(System.String,System.UriKind)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Init(System.String,System.UriKind)", -" [AspectMethodReplace(\"System.Uri::TryCreate(System.String,System.UriKind,System.Uri)\",\"\",[0],[False],[StringLiteral_0],Default,[])] TryCreate(System.String,System.UriKind,System.Uri)", -" [AspectMethodReplace(\"System.Uri::TryCreate(System.Uri,System.String,System.Uri)\",\"\",[0],[False],[None],Default,[])] TryCreate(System.Uri,System.String,System.Uri)", -" [AspectMethodReplace(\"System.Uri::TryCreate(System.Uri,System.Uri,System.Uri)\",\"\",[0],[False],[None],Default,[])] TryCreate(System.Uri,System.Uri,System.Uri)", -" [AspectMethodReplace(\"System.Uri::UnescapeDataString(System.String)\",\"\",[0],[False],[StringLiteral_0],Default,[])] UnescapeDataString(System.String)", -" [AspectMethodReplace(\"System.Uri::EscapeUriString(System.String)\",\"\",[0],[False],[StringLiteral_0],Default,[])] EscapeUriString(System.String)", -" [AspectMethodReplace(\"System.Uri::EscapeDataString(System.String)\",\"\",[0],[False],[StringLiteral_0],Default,[])] EscapeDataString(System.String)", -" [AspectMethodReplace(\"System.Uri::get_AbsoluteUri()\",\"\",[0],[False],[None],Default,[])] GetAbsoluteUri(System.Uri)", -" [AspectMethodReplace(\"System.Uri::get_AbsolutePath()\",\"\",[0],[False],[None],Default,[])] GetAbsolutePath(System.Uri)", -" [AspectMethodReplace(\"System.Uri::get_LocalPath()\",\"\",[0],[False],[None],Default,[])] GetLocalPath(System.Uri)", -" [AspectMethodReplace(\"System.Uri::MakeRelative(System.Uri)\",\"\",[0],[False],[None],Default,[])] MakeRelative(System.Uri,System.Uri)", -" [AspectMethodReplace(\"System.Uri::MakeRelativeUri(System.Uri)\",\"\",[0],[False],[None],Default,[])] MakeRelativeUri(System.Uri,System.Uri)", -" [AspectMethodReplace(\"System.Uri::get_Host()\",\"\",[0],[False],[None],Default,[])] GetHost(System.Uri)", -" [AspectMethodReplace(\"System.Uri::get_PathAndQuery()\",\"\",[0],[False],[None],Default,[])] GetPathAndQuery(System.Uri)", -" [AspectMethodReplace(\"System.Uri::get_Authority()\",\"\",[0],[False],[None],Default,[])] GetAuthority(System.Uri)", -" [AspectMethodReplace(\"System.Uri::get_Query()\",\"\",[0],[False],[None],Default,[])] GetQuery(System.Uri)", -" [AspectMethodReplace(\"System.Object::ToString()\",\"System.Uri\",[0],[False],[None],Default,[])] ToString(System.Object)", -"[AspectClass(\"System,netstandard,System.Runtime.Extensions,System.Runtime\",[None],Propagation,[])] Datadog.Trace.Iast.Aspects.System.UriBuilderAspect", -" [AspectCtorReplace(\"System.UriBuilder::.ctor(System.String)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Init(System.String)", -" [AspectCtorReplace(\"System.UriBuilder::.ctor(System.Uri)\",\"\",[0],[False],[None],Default,[])] Init(System.Uri)", -" [AspectCtorReplace(\"System.UriBuilder::.ctor(System.String,System.String)\",\"\",[0],[False],[None],Default,[])] Init(System.String,System.String)", -" [AspectCtorReplace(\"System.UriBuilder::.ctor(System.String,System.String,System.Int32)\",\"\",[0],[False],[None],Default,[])] Init(System.String,System.String,System.Int32)", -" [AspectCtorReplace(\"System.UriBuilder::.ctor(System.String,System.String,System.Int32,System.String)\",\"\",[0],[False],[None],Default,[])] Init(System.String,System.String,System.Int32,System.String)", -" [AspectCtorReplace(\"System.UriBuilder::.ctor(System.String,System.String,System.Int32,System.String,System.String)\",\"\",[0],[False],[None],Default,[])] Init(System.String,System.String,System.Int32,System.String,System.String)", -" [AspectMethodReplace(\"System.UriBuilder::set_Host(System.String)\",\"\",[0],[False],[StringLiteral_1],Default,[])] SetHost(System.UriBuilder,System.String)", -" [AspectMethodReplace(\"System.UriBuilder::set_Query(System.String)\",\"\",[0],[False],[StringLiteral_1],Default,[])] SetQuery(System.UriBuilder,System.String)", -" [AspectMethodReplace(\"System.UriBuilder::set_Path(System.String)\",\"\",[0],[False],[StringLiteral_1],Default,[])] SetPath(System.UriBuilder,System.String)", -" [AspectMethodReplace(\"System.UriBuilder::get_Host()\",\"\",[0],[False],[None],Default,[])] GetHost(System.UriBuilder)", -" [AspectMethodReplace(\"System.UriBuilder::get_Query()\",\"\",[0],[False],[None],Default,[])] GetQuery(System.UriBuilder)", -" [AspectMethodReplace(\"System.UriBuilder::get_Path()\",\"\",[0],[False],[None],Default,[])] GetPath(System.UriBuilder)", -" [AspectMethodReplace(\"System.Object::ToString()\",\"System.UriBuilder\",[0],[False],[None],Default,[])] ToString(System.Object)", -"[AspectClass(\"System.Data,System.Data.Common\",[None],Sink,[SqlInjection])] Datadog.Trace.Iast.Aspects.DbCommandAspect", -" [AspectMethodInsertBefore(\"System.Data.Common.DbCommand::ExecuteNonQueryAsync(System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewExecuteNonQuery(System.Object)", -" [AspectMethodInsertBefore(\"System.Data.Common.DbCommand::ExecuteNonQueryAsync()\",\"\",[0],[False],[None],Default,[])] ReviewExecuteNonQuery(System.Object)", -"[AspectClass(\"System.DirectoryServices\",[StringOptimization],Propagation,[])] Datadog.Trace.Iast.Aspects.System.DirectoryServices.DirectoryEntryAspect", -" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectoryEntry::set_Path(System.String)\",\"\",[0],[False],[None],Default,[])] Init(System.String)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectoryEntry::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] Init(System.String)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectoryEntry::.ctor(System.String,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] Init(System.String)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectoryEntry::.ctor(System.String,System.String,System.String,System.DirectoryServices.AuthenticationTypes)\",\"\",[3],[False],[None],Default,[])] Init(System.String)", -"[AspectClass(\"System.DirectoryServices\",[StringOptimization],Propagation,[])] Datadog.Trace.Iast.Aspects.System.DirectoryServices.DirectorySearcherAspect", -" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectorySearcher::set_Filter(System.String)\",\"\",[0],[False],[None],Default,[])] Init(System.String)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectorySearcher::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] Init(System.String)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectorySearcher::.ctor(System.String,System.String[])\",\"\",[1],[False],[None],Default,[])] Init(System.String)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectorySearcher::.ctor(System.String,System.String[],System.DirectoryServices.SearchScope)\",\"\",[2],[False],[None],Default,[])] Init(System.String)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectorySearcher::.ctor(System.DirectoryServices.DirectoryEntry,System.String)\",\"\",[0],[False],[None],Default,[])] Init(System.String)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectorySearcher::.ctor(System.DirectoryServices.DirectoryEntry,System.String,System.String[])\",\"\",[1],[False],[None],Default,[])] Init(System.String)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectorySearcher::.ctor(System.DirectoryServices.DirectoryEntry,System.String,System.String[],System.DirectoryServices.SearchScope)\",\"\",[2],[False],[None],Default,[])] Init(System.String)", -"[AspectClass(\"System.DirectoryServices.AccountManagement\",[StringOptimization],Propagation,[])] Datadog.Trace.Iast.Aspects.System.DirectoryServices.PrincipalContextAspect", -" [AspectMethodInsertBefore(\"System.DirectoryServices.AccountManagement.PrincipalContext::.ctor(System.DirectoryServices.AccountManagement.ContextType,System.String,System.String)\",\"\",[0],[False],[None],Default,[])] Init(System.String)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.AccountManagement.PrincipalContext::.ctor(System.DirectoryServices.AccountManagement.ContextType,System.String,System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Init(System.String)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.AccountManagement.PrincipalContext::.ctor(System.DirectoryServices.AccountManagement.ContextType,System.String,System.String,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] Init(System.String)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.AccountManagement.PrincipalContext::.ctor(System.DirectoryServices.AccountManagement.ContextType,System.String,System.String,System.DirectoryServices.AccountManagement.ContextOptions)\",\"\",[1],[False],[None],Default,[])] Init(System.String)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.AccountManagement.PrincipalContext::.ctor(System.DirectoryServices.AccountManagement.ContextType,System.String,System.String,System.DirectoryServices.AccountManagement.ContextOptions,System.String,System.String)\",\"\",[3],[False],[None],Default,[])] Init(System.String)", -"[AspectClass(\"System.DirectoryServices.Protocols\",[StringOptimization],Propagation,[])] Datadog.Trace.Iast.Aspects.System.DirectoryServices.SearchRequestAspect", -" [AspectMethodInsertBefore(\"System.DirectoryServices.Protocols.SearchRequest::.ctor(System.String,System.String,System.DirectoryServices.Protocols.SearchScope,System.String[])\",\"\",[2],[False],[None],Default,[])] Init(System.Object)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.Protocols.SearchRequest::set_Filter(System.Object)\",\"\",[0],[False],[None],Default,[])] Init(System.Object)", -"[AspectClass(\"System.Net.Http\",[None],Sink,[Ssrf])] Datadog.Trace.Iast.Aspects.System.Net.HttpClientAspect", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStringAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetByteArrayAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStreamAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.String,System.Net.Http.HttpCompletionOption)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.String,System.Net.Http.HttpCompletionOption,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PostAsync(System.String,System.Net.Http.HttpContent)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PostAsync(System.String,System.Net.Http.HttpContent,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PutAsync(System.String,System.Net.Http.HttpContent)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PutAsync(System.String,System.Net.Http.HttpContent,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::DeleteAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::DeleteAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStringAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetByteArrayAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStreamAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.Uri,System.Net.Http.HttpCompletionOption)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.Uri,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.Uri,System.Net.Http.HttpCompletionOption,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PostAsync(System.Uri,System.Net.Http.HttpContent)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PostAsync(System.Uri,System.Net.Http.HttpContent,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PutAsync(System.Uri,System.Net.Http.HttpContent)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PutAsync(System.Uri,System.Net.Http.HttpContent,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::DeleteAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::DeleteAsync(System.Uri,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::set_BaseAddress(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::SendAsync(System.Net.Http.HttpRequestMessage)\",\"\",[0],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Object)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::SendAsync(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption)\",\"\",[1],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Object)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::SendAsync(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Object)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::SendAsync(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Object)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpMessageInvoker::SendAsync(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Object)", -"[AspectClass(\"System.Net.Requests,System,netstandard\",[None],Sink,[Ssrf])] Datadog.Trace.Iast.Aspects.System.Net.WebRequestAspect", -" [AspectMethodInsertBefore(\"System.Net.WebRequest::Create(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebRequest::CreateHttp(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebRequest::Create(System.Uri)\",\"\",[0],[False],[None],Default,[])] Review(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebRequest::CreateDefault(System.Uri)\",\"\",[0],[False],[None],Default,[])] Review(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebRequest::CreateHttp(System.Uri)\",\"\",[0],[False],[None],Default,[])] Review(System.Uri)", -"[AspectClass(\"System.Net.WebClient,System\",[None],Sink,[Ssrf])] Datadog.Trace.Iast.Aspects.System.Net.WebClientAspect", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadData(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadDataTaskAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFile(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFileTaskAsync(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadString(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadStringTaskAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenRead(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenReadTaskAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWrite(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWrite(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteTaskAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteTaskAsync(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadData(System.String,System.Byte[])\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadData(System.String,System.String,System.Byte[])\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataTaskAsync(System.String,System.Byte[])\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataTaskAsync(System.String,System.String,System.Byte[])\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFile(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFile(System.String,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileTaskAsync(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileTaskAsync(System.String,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadString(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadString(System.String,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringTaskAsync(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringTaskAsync(System.String,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValues(System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValues(System.String,System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesTaskAsync(System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesTaskAsync(System.String,System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::set_BaseAddress(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadData(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadDataAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadDataAsync(System.Uri,System.Object)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadDataTaskAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFile(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFileAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFileAsync(System.Uri,System.String,System.Object)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFileTaskAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadString(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadStringAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadStringAsync(System.Uri,System.Object)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadStringTaskAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenRead(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenReadAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenReadAsync(System.Uri,System.Object)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenReadTaskAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWrite(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWrite(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteAsync(System.Uri,System.String,System.Object)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteTaskAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteTaskAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadData(System.Uri,System.Byte[])\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadData(System.Uri,System.String,System.Byte[])\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataAsync(System.Uri,System.Byte[])\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataAsync(System.Uri,System.String,System.Byte[])\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataAsync(System.Uri,System.String,System.Byte[],System.Object)\",\"\",[3],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataTaskAsync(System.Uri,System.Byte[])\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataTaskAsync(System.Uri,System.String,System.Byte[])\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFile(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFile(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileAsync(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileAsync(System.Uri,System.String,System.String,System.Object)\",\"\",[3],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileTaskAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileTaskAsync(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadString(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadString(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringAsync(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringAsync(System.Uri,System.String,System.String,System.Object)\",\"\",[3],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringTaskAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringTaskAsync(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValues(System.Uri,System.Collections.Specialized.NameValueCollection)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValues(System.Uri,System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesAsync(System.Uri,System.Collections.Specialized.NameValueCollection)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesAsync(System.Uri,System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesAsync(System.Uri,System.String,System.Collections.Specialized.NameValueCollection,System.Object)\",\"\",[3],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesTaskAsync(System.Uri,System.Collections.Specialized.NameValueCollection)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesTaskAsync(System.Uri,System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -"[AspectClass(\"System.Private.Corelib;System.Runtime\",[None],Sink,[Ssrf])] Datadog.Trace.Iast.Aspects.System.Net.WebUtilityAspect", -" [AspectMethodReplace(\"System.Net.WebUtility::HtmlEncode(System.String)\",\"\",[0],[False],[None],Default,[])] XssEscape(System.String)", -" [AspectMethodReplace(\"System.Net.WebUtility::UrlEncode(System.String)\",\"\",[0],[False],[None],Default,[])] SsrfEscape(System.String)", -"[AspectClass(\"System.Web\",[None],Propagation,[])] Datadog.Trace.Iast.Aspects.System.Web.HttpCookieAspect", -" [AspectMethodReplace(\"System.Web.HttpCookie::get_Value()\",\"\",[0],[False],[None],Default,[])] GetValue(System.Web.HttpCookie)", -"[AspectClass(\"System.Web\",[None],Sink,[TrustBoundaryViolation])] Datadog.Trace.Iast.Aspects.System.Web.SessionState.HttpSessionStateBaseAspect", -" [AspectMethodInsertBefore(\"System.Web.HttpSessionStateBase::Add(System.String,System.Object)\",\"\",[0,1],[False,False],[None],Default,[])] Add(System.Object)", -" [AspectMethodInsertBefore(\"System.Web.HttpSessionStateBase::set_Item(System.Int32,System.Object)\",\"\",[0],[False],[None],Default,[])] Add(System.Object)", -" [AspectMethodInsertBefore(\"System.Web.HttpSessionStateBase::set_Item(System.String,System.Object)\",\"\",[0,1],[False,False],[None],Default,[])] Add(System.Object)", -" [AspectMethodInsertBefore(\"System.Web.HttpSessionStateBase::Remove(System.String)\",\"\",[0],[False],[None],Default,[])] Add(System.Object)", -"[AspectClass(\"System.Web\",[None],Sink,[UnvalidatedRedirect])] Datadog.Trace.Iast.Aspects.System.Web.HttpResponseAspect", -" [AspectMethodInsertBefore(\"System.Web.HttpResponse::Redirect(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String)", -" [AspectMethodInsertBefore(\"System.Web.HttpResponse::Redirect(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] Redirect(System.String)", -" [AspectMethodInsertBefore(\"System.Web.HttpResponse::RedirectPermanent(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String)", -" [AspectMethodInsertBefore(\"System.Web.HttpResponse::RedirectPermanent(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] Redirect(System.String)", -"[AspectClass(\"System.Web.Extensions\",[None],Propagation,[])] Datadog.Trace.Iast.Aspects.System.Web.Extensions.JavaScriptSerializerAspects", -" [AspectMethodReplace(\"System.Web.Script.Serialization.JavaScriptSerializer::DeserializeObject(System.String)\",\"\",[0],[False],[None],Default,[])] DeserializeObject(System.Object,System.String)", -"[AspectClass(\"System.Web.Mvc\",[None],Sink,[UnvalidatedRedirect])] Datadog.Trace.Iast.Aspects.System.Web.HttpControllerAspect", -" [AspectMethodInsertBefore(\"System.Web.Mvc.Controller::Redirect(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String)", -" [AspectMethodInsertBefore(\"System.Web.Mvc.Controller::RedirectPermanent(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String)", -"[AspectClass(\"System.Web;System.Runtime.Extensions;System.Web.HttpUtility\",[None],Sink,[Ssrf])] Datadog.Trace.Iast.Aspects.System.Net.HttpUtilityAspect", -" [AspectMethodReplace(\"System.Web.HttpUtility::HtmlEncode(System.String)\",\"\",[0],[False],[None],Default,[])] XssEscape(System.String)", -" [AspectMethodReplace(\"System.Web.HttpUtility::UrlEncode(System.String)\",\"\",[0],[False],[None],Default,[])] SsrfEscape(System.String)", -" [AspectMethodReplace(\"System.Web.HttpUtility::UrlEncode(System.String,System.Text.Encoding)\",\"\",[0],[False],[None],Default,[])] SsrfEscape(System.String,System.Text.Encoding)", -"[AspectClass(\"System.Xml,System.Xml.ReaderWriter,System.Xml.XPath.XDocument\",[None],Sink,[XPathInjection])] Datadog.Trace.Iast.Aspects.SystemXmlAspect", -" [AspectMethodInsertBefore(\"System.Xml.XmlNode::SelectNodes(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XmlNode::SelectNodes(System.String,System.Xml.XmlNamespaceManager)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XmlNode::SelectSingleNode(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XmlNode::SelectSingleNode(System.String,System.Xml.XmlNamespaceManager)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XPath.XPathExpression::Compile(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XPath.XPathExpression::Compile(System.String,System.Xml.IXmlNamespaceResolver)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XPath.XPathNavigator::Evaluate(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XPath.XPathNavigator::Evaluate(System.String,System.Xml.IXmlNamespaceResolver)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XPath.XPathNavigator::SelectSingleNode(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XPath.XPathNavigator::SelectSingleNode(System.String,System.Xml.IXmlNamespaceResolver)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XPath.XPathNavigator::Select(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XPath.XPathNavigator::Select(System.String,System.Xml.IXmlNamespaceResolver)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -"[AspectClass(\"System.Xml.XPath.XDocument,System.Xml.Linq\",[None],Sink,[XPathInjection])] Datadog.Trace.Iast.Aspects.XPathExtensionAspect", -" [AspectMethodInsertBefore(\"System.Xml.XPath.Extensions::XPathEvaluate(System.Xml.Linq.XNode,System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XPath.Extensions::XPathEvaluate(System.Xml.Linq.XNode,System.String,System.Xml.IXmlNamespaceResolver)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XPath.Extensions::XPathSelectElement(System.Xml.Linq.XNode,System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XPath.Extensions::XPathSelectElement(System.Xml.Linq.XNode,System.String,System.Xml.IXmlNamespaceResolver)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XPath.Extensions::XPathSelectElements(System.Xml.Linq.XNode,System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XPath.Extensions::XPathSelectElements(System.Xml.Linq.XNode,System.String,System.Xml.IXmlNamespaceResolver)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -"[AspectClass(\"mscorlib\",[None],Propagation,[])] Datadog.Trace.Iast.Aspects.HashAlgorithmAspect", -" [AspectMethodInsertBefore(\"System.Security.Cryptography.HashAlgorithm::ComputeHash(System.Byte[])\",\"\",[1],[False],[None],Default,[])] ComputeHash(System.Security.Cryptography.HashAlgorithm)", -" [AspectMethodInsertBefore(\"System.Security.Cryptography.HashAlgorithm::ComputeHash(System.Byte[],System.Int32,System.Int32)\",\"\",[3],[False],[None],Default,[])] ComputeHash(System.Security.Cryptography.HashAlgorithm)", -" [AspectMethodInsertBefore(\"System.Security.Cryptography.HashAlgorithm::ComputeHash(System.IO.Stream)\",\"\",[1],[False],[None],Default,[])] ComputeHash(System.Security.Cryptography.HashAlgorithm)", -" [AspectMethodInsertBefore(\"System.Security.Cryptography.HashAlgorithm::ComputeHashAsync(System.IO.Stream,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ComputeHash(System.Security.Cryptography.HashAlgorithm)", -"[AspectClass(\"mscorlib\",[None],Propagation,[])] Datadog.Trace.Iast.Aspects.SymmetricAlgorithmAspect", -" [AspectCtorReplace(\"System.Security.Cryptography.DESCryptoServiceProvider::.ctor()\",\"\",[0],[False],[None],Default,[])] InitDES()", -" [AspectCtorReplace(\"System.Security.Cryptography.RC2CryptoServiceProvider::.ctor()\",\"\",[0],[False],[None],Default,[])] InitRC2()", -" [AspectCtorReplace(\"System.Security.Cryptography.TripleDESCryptoServiceProvider::.ctor()\",\"\",[0],[False],[None],Default,[])] InitTripleDES()", -" [AspectCtorReplace(\"System.Security.Cryptography.RijndaelManaged::.ctor()\",\"\",[0],[False],[None],Default,[])] InitRijndaelManaged()", -" [AspectCtorReplace(\"System.Security.Cryptography.AesCryptoServiceProvider::.ctor()\",\"\",[0],[False],[None],Default,[])] InitAesCryptoServiceProvider()", -" [AspectMethodInsertAfter(\"System.Security.Cryptography.DES::Create()\",\"\",[0],[False],[None],Default,[])] Create(System.Security.Cryptography.SymmetricAlgorithm)", -" [AspectMethodInsertAfter(\"System.Security.Cryptography.DES::Create(System.String)\",\"\",[0],[False],[None],Default,[])] Create(System.Security.Cryptography.SymmetricAlgorithm)", -" [AspectMethodInsertAfter(\"System.Security.Cryptography.RC2::Create()\",\"\",[0],[False],[None],Default,[])] Create(System.Security.Cryptography.SymmetricAlgorithm)", -" [AspectMethodInsertAfter(\"System.Security.Cryptography.RC2::Create(System.String)\",\"\",[0],[False],[None],Default,[])] Create(System.Security.Cryptography.SymmetricAlgorithm)", -" [AspectMethodInsertAfter(\"System.Security.Cryptography.TripleDES::Create()\",\"\",[0],[False],[None],Default,[])] Create(System.Security.Cryptography.SymmetricAlgorithm)", -" [AspectMethodInsertAfter(\"System.Security.Cryptography.TripleDES::Create(System.String)\",\"\",[0],[False],[None],Default,[])] Create(System.Security.Cryptography.SymmetricAlgorithm)", -" [AspectMethodInsertAfter(\"System.Security.Cryptography.Rijndael::Create()\",\"\",[0],[False],[None],Default,[])] Create(System.Security.Cryptography.SymmetricAlgorithm)", -" [AspectMethodInsertAfter(\"System.Security.Cryptography.Rijndael::Create(System.String)\",\"\",[0],[False],[None],Default,[])] Create(System.Security.Cryptography.SymmetricAlgorithm)", -" [AspectMethodInsertAfter(\"System.Security.Cryptography.Aes::Create()\",\"\",[0],[False],[None],Default,[])] Create(System.Security.Cryptography.SymmetricAlgorithm)", -" [AspectMethodInsertAfter(\"System.Security.Cryptography.Aes::Create(System.String)\",\"\",[0],[False],[None],Default,[])] Create(System.Security.Cryptography.SymmetricAlgorithm)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.DirectoryAspect", -" [AspectMethodInsertBefore(\"System.IO.Directory::CreateDirectory(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::Delete(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::Delete(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetDirectories(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetDirectories(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetDirectories(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetDirectoryRoot(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFiles(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFiles(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFiles(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFileSystemEntries(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFileSystemEntries(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFileSystemEntries(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::Move(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::CreateDirectory(System.String,System.Security.AccessControl.DirectorySecurity)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::SetAccessControl(System.String,System.Security.AccessControl.DirectorySecurity)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateDirectories(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateDirectories(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateDirectories(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFiles(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFiles(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFiles(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFileSystemEntries(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFileSystemEntries(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFileSystemEntries(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::SetCurrentDirectory(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.DirectoryInfoAspect", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::CreateSubdirectory(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::CreateSubdirectory(System.String,System.Security.AccessControl.DirectorySecurity)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::MoveTo(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetFileSystemInfos(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetFileSystemInfos(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetFiles(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetFiles(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetDirectories(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetDirectories(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateFileSystemInfos(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateFileSystemInfos(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateFiles(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateFiles(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateDirectories(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateDirectories(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.FileAspect", -" [AspectMethodInsertBefore(\"System.IO.File::Create(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::CreateText(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Delete(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::OpenWrite(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllLines(System.String,System.Collections.Generic.IEnumerable`1)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllLines(System.String,System.Collections.Generic.IEnumerable`1,System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllText(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllText(System.String,System.String,System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendText(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Create(System.String,System.Int32)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Create(System.String,System.Int32,System.IO.FileOptions)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Create(System.String,System.Int32,System.IO.FileOptions,System.Security.AccessControl.FileSecurity)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::SetAttributes(System.String,System.IO.FileAttributes)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllBytes(System.String,System.Byte[])\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllLines(System.String,System.String[])\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllLines(System.String,System.String[],System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllLines(System.String,System.Collections.Generic.IEnumerable`1)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllLines(System.String,System.Collections.Generic.IEnumerable`1,System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllText(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllText(System.String,System.String,System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Copy(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Copy(System.String,System.String,System.Boolean)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Move(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Replace(System.String,System.String,System.String)\",\"\",[0,1,2],[False,False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Replace(System.String,System.String,System.String,System.Boolean)\",\"\",[1,2,3],[False,False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadLines(System.String,System.Text.Encoding)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllText(System.String,System.Text.Encoding)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadLines(System.String,System.Text.Encoding)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Open(System.String,System.IO.FileMode)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Open(System.String,System.IO.FileMode,System.IO.FileAccess)\",\"\",[2],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Open(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)\",\"\",[3],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::OpenText(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllBytes(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllLines(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllLines(System.String,System.Text.Encoding)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllText(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadLines(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::OpenRead(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.FileInfoAspect", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::CopyTo(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::CopyTo(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::MoveTo(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::Replace(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::Replace(System.String,System.String,System.Boolean)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.FileStreamAspect", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode,System.IO.FileAccess)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.Int32)\",\"\",[4],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.Int32,System.Boolean)\",\"\",[5],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.Int32,System.IO.FileOptions)\",\"\",[5],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode,System.Security.AccessControl.FileSystemRights,System.IO.FileShare,System.Int32,System.IO.FileOptions)\",\"\",[5],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode,System.Security.AccessControl.FileSystemRights,System.IO.FileShare,System.Int32,System.IO.FileOptions,System.Security.AccessControl.FileSecurity)\",\"\",[6],[False],[None],Default,[])] ReviewPath(System.String)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.StreamReaderAspect", -" [AspectMethodInsertBefore(\"System.IO.StreamReader::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamReader::.ctor(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamReader::.ctor(System.String,System.Text.Encoding)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamReader::.ctor(System.String,System.Text.Encoding,System.Boolean)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamReader::.ctor(System.String,System.Text.Encoding,System.Boolean,System.Int32)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.StreamWriterAspect", -" [AspectMethodInsertBefore(\"System.IO.StreamWriter::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamWriter::.ctor(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamWriter::.ctor(System.String,System.Boolean,System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamWriter::.ctor(System.String,System.Boolean,System.Text.Encoding,System.Int32)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", -"[AspectClass(\"mscorlib,System.Runtime.Extensions,System.Runtime\",[None],Sink,[WeakRandomness])] Datadog.Trace.Iast.Aspects.RandomAspect", -" [AspectMethodInsertAfter(\"System.Random::.ctor()\",\"\",[0],[False],[None],Default,[])] Init()", -" [AspectMethodInsertAfter(\"System.Random::.ctor(System.Int32)\",\"\",[0],[False],[None],Default,[])] Init()", -"[AspectClass(\"mscorlib,netstandard,System.Private.CoreLib,System.Runtime\",[StringOptimization],Propagation,[])] Datadog.Trace.Iast.Aspects.System.StringAspects", -" [AspectMethodReplace(\"System.String::Trim()\",\"\",[0],[False],[StringLiteral_0],Default,[])] Trim(System.String)", -" [AspectMethodReplace(\"System.String::Trim(System.Char[])\",\"\",[0],[False],[StringLiteral_0],Default,[])] Trim(System.String,System.Char[])", -" [AspectMethodReplace(\"System.String::TrimStart(System.Char[])\",\"\",[0],[False],[StringLiteral_0],Default,[])] TrimStart(System.String,System.Char[])", -" [AspectMethodReplace(\"System.String::TrimEnd(System.Char[])\",\"\",[0],[False],[StringLiteral_0],Default,[])] TrimEnd(System.String,System.Char[])", -" [AspectMethodReplace(\"System.String::Concat(System.String,System.String)\",\"\",[0],[False],[StringLiterals_Any],Default,[])] Concat(System.String,System.String)", -" [AspectMethodReplace(\"System.String::Concat(System.String,System.String)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Concat_0(System.String,System.String)", -" [AspectMethodReplace(\"System.String::Concat(System.String,System.String)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Concat_1(System.String,System.String)", -" [AspectMethodReplace(\"System.String::Concat(System.Object,System.Object)\",\"\",[0],[False],[None],Default,[])] Concat(System.Object,System.Object)", -" [AspectMethodReplace(\"System.String::Concat(System.String,System.String,System.String)\",\"\",[0],[False],[StringLiterals],Default,[])] Concat(System.String,System.String,System.String)", -" [AspectMethodReplace(\"System.String::Concat(System.Object,System.Object,System.Object)\",\"\",[0],[False],[None],Default,[])] Concat(System.Object,System.Object,System.Object)", -" [AspectMethodReplace(\"System.String::Concat(System.String,System.String,System.String,System.String)\",\"\",[0],[False],[StringLiterals],Default,[])] Concat(System.String,System.String,System.String,System.String)", -" [AspectMethodReplace(\"System.String::Concat(System.Object,System.Object,System.Object,System.Object)\",\"\",[0],[False],[None],Default,[])] Concat(System.Object,System.Object,System.Object,System.Object)", -" [AspectMethodReplace(\"System.String::Concat(System.String[])\",\"\",[0],[False],[None],Default,[])] Concat(System.String[])", -" [AspectMethodReplace(\"System.String::Concat(System.Object[])\",\"\",[0],[False],[None],Default,[])] Concat(System.Object[])", -" [AspectMethodReplace(\"System.String::Concat(System.Collections.Generic.IEnumerable`1)\",\"\",[0],[False],[None],Default,[])] Concat(System.Collections.Generic.IEnumerable`1)", -" [AspectMethodReplace(\"System.String::Concat(System.Collections.Generic.IEnumerable`1)\",\"\",[0],[False],[None],Default,[]);V3.2.0] Concat(System.Collections.Generic.IEnumerable`1)", -" [AspectMethodReplace(\"System.String::Substring(System.Int32)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Substring(System.String,System.Int32)", -" [AspectMethodReplace(\"System.String::Substring(System.Int32,System.Int32)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Substring(System.String,System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.String::ToCharArray()\",\"\",[0],[False],[StringLiteral_0],Default,[])] ToCharArray(System.String)", -" [AspectMethodReplace(\"System.String::ToCharArray(System.Int32,System.Int32)\",\"\",[0],[False],[StringLiteral_0],Default,[])] ToCharArray(System.String,System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.String::Join(System.String,System.String[],System.Int32,System.Int32)\",\"\",[0],[False],[None],Default,[])] Join(System.String,System.String[],System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.String::Join(System.String,System.Collections.Generic.IEnumerable`1)\",\"\",[0],[False],[None],Default,[]);V3.2.0] Join(System.String,System.Collections.Generic.IEnumerable`1)", -" [AspectMethodReplace(\"System.String::Join(System.String,System.Object[])\",\"\",[0],[False],[None],Default,[])] Join(System.String,System.Object[])", -" [AspectMethodReplace(\"System.String::Join(System.String,System.String[])\",\"\",[0],[False],[None],Default,[])] Join(System.String,System.String[])", -" [AspectMethodReplace(\"System.String::Join(System.String,System.Collections.Generic.IEnumerable`1)\",\"\",[0],[False],[None],Default,[])] JoinString(System.String,System.Collections.Generic.IEnumerable`1)", -" [AspectMethodReplace(\"System.String::ToUpper()\",\"\",[0],[False],[StringLiteral_0],Default,[])] ToUpper(System.String)", -" [AspectMethodReplace(\"System.String::ToUpper(System.Globalization.CultureInfo)\",\"\",[0],[False],[StringLiteral_0],Default,[])] ToUpper(System.String,System.Globalization.CultureInfo)", -" [AspectMethodReplace(\"System.String::ToUpperInvariant()\",\"\",[0],[False],[StringLiteral_0],Default,[])] ToUpperInvariant(System.String)", -" [AspectMethodReplace(\"System.String::ToLower()\",\"\",[0],[False],[StringLiteral_0],Default,[])] ToLower(System.String)", -" [AspectMethodReplace(\"System.String::ToLower(System.Globalization.CultureInfo)\",\"\",[0],[False],[StringLiteral_0],Default,[])] ToLower(System.String,System.Globalization.CultureInfo)", -" [AspectMethodReplace(\"System.String::ToLowerInvariant()\",\"\",[0],[False],[StringLiteral_0],Default,[])] ToLowerInvariant(System.String)", -" [AspectMethodReplace(\"System.String::Remove(System.Int32)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Remove(System.String,System.Int32)", -" [AspectMethodReplace(\"System.String::Remove(System.Int32,System.Int32)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Remove(System.String,System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.String::Insert(System.Int32,System.String)\",\"\",[0],[False],[StringOptimization],Default,[])] Insert(System.String,System.Int32,System.String)", -" [AspectMethodReplace(\"System.String::PadLeft(System.Int32)\",\"\",[0],[False],[StringLiteral_0],Default,[])] PadLeft(System.String,System.Int32)", -" [AspectMethodReplace(\"System.String::PadLeft(System.Int32,System.Char)\",\"\",[0],[False],[StringLiteral_0],Default,[])] PadLeft(System.String,System.Int32,System.Char)", -" [AspectMethodReplace(\"System.String::PadRight(System.Int32)\",\"\",[0],[False],[StringLiteral_0],Default,[])] PadRight(System.String,System.Int32)", -" [AspectMethodReplace(\"System.String::PadRight(System.Int32,System.Char)\",\"\",[0],[False],[StringLiteral_0],Default,[])] PadRight(System.String,System.Int32,System.Char)", -" [AspectMethodReplace(\"System.String::Format(System.String,System.Object)\",\"\",[0],[False],[StringLiterals],Default,[])] Format(System.String,System.Object)", -" [AspectMethodReplace(\"System.String::Format(System.String,System.Object,System.Object)\",\"\",[0],[False],[StringLiterals],Default,[])] Format(System.String,System.Object,System.Object)", -" [AspectMethodReplace(\"System.String::Format(System.String,System.Object,System.Object,System.Object)\",\"\",[0],[False],[StringLiterals],Default,[])] Format(System.String,System.Object,System.Object,System.Object)", -" [AspectMethodReplace(\"System.String::Format(System.String,System.Object[])\",\"\",[0],[False],[None],Default,[])] Format(System.String,System.Object[])", -" [AspectMethodReplace(\"System.String::Format(System.IFormatProvider,System.String,System.Object)\",\"\",[0],[False],[None],Default,[])] Format(System.IFormatProvider,System.String,System.Object)", -" [AspectMethodReplace(\"System.String::Format(System.IFormatProvider,System.String,System.Object,System.Object)\",\"\",[0],[False],[None],Default,[])] Format(System.IFormatProvider,System.String,System.Object,System.Object)", -" [AspectMethodReplace(\"System.String::Format(System.IFormatProvider,System.String,System.Object,System.Object,System.Object)\",\"\",[0],[False],[None],Default,[])] Format(System.IFormatProvider,System.String,System.Object,System.Object,System.Object)", -" [AspectMethodReplace(\"System.String::Format(System.IFormatProvider,System.String,System.Object[])\",\"\",[0],[False],[None],Default,[])] Format(System.IFormatProvider,System.String,System.Object[])", -" [AspectMethodReplace(\"System.String::Replace(System.Char,System.Char)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Replace(System.String,System.Char,System.Char)", -" [AspectMethodReplace(\"System.String::Replace(System.String,System.String)\",\"\",[0],[False],[StringLiterals],Default,[])] Replace(System.String,System.String,System.String)", -" [AspectMethodReplace(\"System.String::Split(System.Char[])\",\"\",[0],[False],[StringLiteral_0],Default,[])] Split(System.String,System.Char[])", -" [AspectMethodReplace(\"System.String::Split(System.Char[],System.Int32)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Split(System.String,System.Char[],System.Int32)", -" [AspectMethodReplace(\"System.String::Split(System.Char[],System.StringSplitOptions)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Split(System.String,System.Char[],System.StringSplitOptions)", -" [AspectMethodReplace(\"System.String::Split(System.Char[],System.Int32,System.StringSplitOptions)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Split(System.String,System.Char[],System.Int32,System.StringSplitOptions)", -" [AspectMethodReplace(\"System.String::Split(System.String[],System.StringSplitOptions)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Split(System.String,System.String[],System.StringSplitOptions)", -" [AspectMethodReplace(\"System.String::Split(System.String[],System.Int32,System.StringSplitOptions)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Split(System.String,System.String[],System.Int32,System.StringSplitOptions)", -" [AspectMethodReplace(\"System.String::Copy(System.String)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Copy(System.String)", -"[AspectClass(\"mscorlib,netstandard,System.Runtime\",[None],Propagation,[])] Datadog.Trace.Iast.Aspects.System.Text.StringBuilderAspects", -" [AspectCtorReplace(\"System.Text.StringBuilder::.ctor(System.String)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Init(System.String)", -" [AspectCtorReplace(\"System.Text.StringBuilder::.ctor(System.String,System.Int32)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Init(System.String,System.Int32)", -" [AspectCtorReplace(\"System.Text.StringBuilder::.ctor(System.String,System.Int32,System.Int32,System.Int32)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Init(System.String,System.Int32,System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.Object::ToString()\",\"System.Text.StringBuilder\",[0],[False],[None],Default,[])] ToString(System.Object)", -" [AspectMethodReplace(\"System.Text.StringBuilder::ToString(System.Int32,System.Int32)\",\"\",[0],[False],[None],Default,[])] ToString(System.Text.StringBuilder,System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Append(System.String)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Append(System.Text.StringBuilder,System.String)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Append(System.String,System.Int32,System.Int32)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Append(System.Text.StringBuilder,System.String,System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Append(System.Char[],System.Int32,System.Int32)\",\"\",[0],[False],[None],Default,[])] Append(System.Text.StringBuilder,System.Char[],System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Append(System.Object)\",\"\",[0],[False],[None],Default,[])] Append(System.Text.StringBuilder,System.Object)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Append(System.Char[])\",\"\",[0],[False],[None],Default,[])] Append(System.Text.StringBuilder,System.Char[])", -" [AspectMethodReplace(\"System.Text.StringBuilder::AppendLine(System.String)\",\"\",[0],[False],[StringLiteral_1],Default,[])] AppendLine(System.Text.StringBuilder,System.String)", -" [AspectMethodReplace(\"System.Text.StringBuilder::AppendFormat(System.String,System.Object)\",\"\",[0],[False],[None],Default,[])] AppendFormat(System.Text.StringBuilder,System.String,System.Object)", -" [AspectMethodReplace(\"System.Text.StringBuilder::AppendFormat(System.String,System.Object,System.Object)\",\"\",[0],[False],[None],Default,[])] AppendFormat(System.Text.StringBuilder,System.String,System.Object,System.Object)", -" [AspectMethodReplace(\"System.Text.StringBuilder::AppendFormat(System.String,System.Object,System.Object,System.Object)\",\"\",[0],[False],[None],Default,[])] AppendFormat(System.Text.StringBuilder,System.String,System.Object,System.Object,System.Object)", -" [AspectMethodReplace(\"System.Text.StringBuilder::AppendFormat(System.String,System.Object[])\",\"\",[0],[False],[None],Default,[])] AppendFormat(System.Text.StringBuilder,System.String,System.Object[])", -" [AspectMethodReplace(\"System.Text.StringBuilder::AppendFormat(System.IFormatProvider,System.String,System.Object)\",\"\",[0],[False],[None],Default,[])] AppendFormat(System.Text.StringBuilder,System.IFormatProvider,System.String,System.Object)", -" [AspectMethodReplace(\"System.Text.StringBuilder::AppendFormat(System.IFormatProvider,System.String,System.Object,System.Object)\",\"\",[0],[False],[None],Default,[])] AppendFormat(System.Text.StringBuilder,System.IFormatProvider,System.String,System.Object,System.Object)", -" [AspectMethodReplace(\"System.Text.StringBuilder::AppendFormat(System.IFormatProvider,System.String,System.Object,System.Object,System.Object)\",\"\",[0],[False],[None],Default,[])] AppendFormat(System.Text.StringBuilder,System.IFormatProvider,System.String,System.Object,System.Object,System.Object)", -" [AspectMethodReplace(\"System.Text.StringBuilder::AppendFormat(System.IFormatProvider,System.String,System.Object[])\",\"\",[0],[False],[None],Default,[])] AppendFormat(System.Text.StringBuilder,System.IFormatProvider,System.String,System.Object[])", -" [AspectMethodReplace(\"System.Text.StringBuilder::CopyTo(System.Int32,System.Char[],System.Int32,System.Int32)\",\"\",[0],[False],[None],Default,[])] CopyTo(System.Text.StringBuilder,System.Int32,System.Char[],System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.String)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.String)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.String,System.Int32)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.String,System.Int32)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Char)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Char)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Char[])\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Char[])", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Char[],System.Int32,System.Int32)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Char[],System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Int32)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Int64)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Int64)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Single)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Single)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Double)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Double)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Decimal)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Decimal)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.UInt16)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.UInt16)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.UInt32)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.UInt32)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.UInt64)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.UInt64)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Boolean)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Boolean)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.SByte)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.SByte)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Byte)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Byte)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Int16)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Int16)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Object)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Object)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Remove(System.Int32,System.Int32)\",\"\",[0],[False],[None],Default,[])] Remove(System.Text.StringBuilder,System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Replace(System.String,System.String)\",\"\",[0],[False],[None],Default,[])] Replace(System.Text.StringBuilder,System.String,System.String)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Replace(System.String,System.String,System.Int32,System.Int32)\",\"\",[0],[False],[None],Default,[])] Replace(System.Text.StringBuilder,System.String,System.String,System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Replace(System.Char,System.Char)\",\"\",[0],[False],[None],Default,[])] Replace(System.Text.StringBuilder,System.Char,System.Char)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Replace(System.Char,System.Char,System.Int32,System.Int32)\",\"\",[0],[False],[None],Default,[])] Replace(System.Text.StringBuilder,System.Char,System.Char,System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.Text.StringBuilder::set_Length(System.Int32)\",\"\",[0],[False],[None],Default,[])] SetLength(System.Text.StringBuilder,System.Int32)", -"[AspectClass(\"mscorlib,netstandard,System.Runtime\",[None],Sink,[ReflectionInjection])] Datadog.Trace.Iast.Aspects.ActivatorAspect", -" [AspectMethodInsertBefore(\"System.Activator::CreateInstance(System.String,System.String)\",\"\",[1,0],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateInstance(System.String,System.String,System.Object[])\",\"\",[2,1],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateInstance(System.AppDomain,System.String,System.String)\",\"\",[1,0],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateInstance(System.AppDomain,System.String,System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[])\",\"\",[7,6],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateInstance(System.String,System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[])\",\"\",[7,6],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateInstance(System.String,System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[],System.Security.Policy.Evidence)\",\"\",[8,7],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateInstance(System.AppDomain,System.String,System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[],System.Security.Policy.Evidence)\",\"\",[7,6],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateInstanceFrom(System.String,System.String,System.Object[])\",\"\",[2,1],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateInstanceFrom(System.String,System.String)\",\"\",[1,0],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateInstanceFrom(System.AppDomain,System.String,System.String)\",\"\",[1,0],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateInstanceFrom(System.AppDomain,System.String,System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[])\",\"\",[7,6],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateInstanceFrom(System.String,System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[])\",\"\",[7,6],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateInstanceFrom(System.String,System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[],System.Security.Policy.Evidence)\",\"\",[8,7],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateComInstanceFrom(System.String,System.String)\",\"\",[1,0],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateComInstanceFrom(System.String,System.String,System.Byte[],System.Configuration.Assemblies.AssemblyHashAlgorithm)\",\"\",[3,2],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -"[AspectClass(\"mscorlib,netstandard,System.Runtime\",[None],Sink,[ReflectionInjection])] Datadog.Trace.Iast.Aspects.System.Reflection.AssemblyAspect", -" [AspectMethodInsertBefore(\"System.Reflection.Assembly::Load(System.String)\",\"\",[0],[False],[None],Default,[])] ReflectionAssemblyInjection(System.String)", -" [AspectMethodInsertBefore(\"System.Reflection.Assembly::Load(System.String,System.Security.Policy.Evidence)\",\"\",[1],[False],[None],Default,[])] ReflectionAssemblyInjection(System.String)", -" [AspectMethodInsertBefore(\"System.Reflection.Assembly::LoadFrom(System.String)\",\"\",[0],[False],[None],Default,[])] ReflectionAssemblyInjection(System.String)", -" [AspectMethodInsertBefore(\"System.Reflection.Assembly::LoadFrom(System.String,System.Byte[],System.Configuration.Assemblies.AssemblyHashAlgorithm)\",\"\",[2],[False],[None],Default,[])] ReflectionAssemblyInjection(System.String)", -" [AspectMethodInsertBefore(\"System.Reflection.Assembly::LoadFrom(System.String,System.Security.Policy.Evidence,System.Byte[],System.Configuration.Assemblies.AssemblyHashAlgorithm)\",\"\",[3],[False],[None],Default,[])] ReflectionAssemblyInjection(System.String)", -" [AspectMethodInsertBefore(\"System.Reflection.Assembly::LoadFrom(System.String,System.Security.Policy.Evidence)\",\"\",[1],[False],[None],Default,[])] ReflectionAssemblyInjection(System.String)", -" [AspectMethodInsertBefore(\"System.Reflection.AssemblyName::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] ReflectionAssemblyInjection(System.String)", -"[AspectClass(\"mscorlib,netstandard,System.Runtime\",[None],Sink,[ReflectionInjection])] Datadog.Trace.Iast.Aspects.TypeAspect", -" [AspectMethodInsertBefore(\"System.Type::GetType(System.String)\",\"\",[0],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetType(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetType(System.String,System.Boolean,System.Boolean)\",\"\",[2],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetType(System.String,System.Func`2,System.Func`4)\",\"\",[2],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetType(System.String,System.Func`2,System.Func`4,System.Boolean)\",\"\",[3],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetType(System.String,System.Func`2,System.Func`4,System.Boolean,System.Boolean)\",\"\",[4],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Int32,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[])\",\"\",[6],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[])\",\"\",[5],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Int32,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type[],System.Reflection.ParameterModifier[])\",\"\",[5],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Int32,System.Reflection.BindingFlags,System.Type[])\",\"\",[3],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type[],System.Reflection.ParameterModifier[])\",\"\",[4],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Int32,System.Type[],System.Reflection.ParameterModifier[])\",\"\",[3],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String)\",\"\",[0],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Reflection.BindingFlags,System.Type[])\",\"\",[2],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Int32,System.Type[])\",\"\",[2],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Type[])\",\"\",[1],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Reflection.BindingFlags)\",\"\",[1],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Type[],System.Reflection.ParameterModifier[])\",\"\",[2],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[])\",\"\",[4],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Globalization.CultureInfo)\",\"\",[5],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[])\",\"\",[7],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", - }; - - public static string[] GetRaspAspects() => new string[] { -"[AspectClass(\"EntityFramework\",[None],Sink,[SqlInjection])] Datadog.Trace.Iast.Aspects.EntityCommandAspect", -" [AspectMethodInsertBefore(\"System.Data.Entity.Core.EntityClient.EntityCommand::ExecuteReader(System.Data.CommandBehavior)\",\"\",[1],[False],[None],Default,[])] ReviewSqlCommand(System.Object)", -" [AspectMethodInsertBefore(\"System.Data.Entity.Core.EntityClient.EntityCommand::ExecuteReaderAsync(System.Data.CommandBehavior,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewSqlCommand(System.Object)", -" [AspectMethodInsertBefore(\"System.Data.Entity.Core.EntityClient.EntityCommand::ExecuteReaderAsync(System.Data.CommandBehavior)\",\"\",[1],[False],[None],Default,[])] ReviewSqlCommand(System.Object)", -"[AspectClass(\"NHibernate\",[None],Sink,[SqlInjection])] Datadog.Trace.Iast.Aspects.NHibernate.ISessionAspect", -" [AspectMethodInsertBefore(\"NHibernate.ISession::CreateQuery(System.String)\",\"\",[0],[False],[None],Default,[])] AnalyzeQuery(System.String)", -" [AspectMethodInsertBefore(\"NHibernate.ISession::CreateSQLQuery(System.String)\",\"\",[0],[False],[None],Default,[])] AnalyzeQuery(System.String)", -"[AspectClass(\"System.Data,System.Data.Common\",[None],Sink,[SqlInjection])] Datadog.Trace.Iast.Aspects.DbCommandAspect", -" [AspectMethodInsertBefore(\"System.Data.Common.DbCommand::ExecuteNonQueryAsync(System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewExecuteNonQuery(System.Object)", -" [AspectMethodInsertBefore(\"System.Data.Common.DbCommand::ExecuteNonQueryAsync()\",\"\",[0],[False],[None],Default,[])] ReviewExecuteNonQuery(System.Object)", -"[AspectClass(\"System.Net.Http\",[None],Sink,[Ssrf])] Datadog.Trace.Iast.Aspects.System.Net.HttpClientAspect", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStringAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetByteArrayAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStreamAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.String,System.Net.Http.HttpCompletionOption)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.String,System.Net.Http.HttpCompletionOption,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PostAsync(System.String,System.Net.Http.HttpContent)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PostAsync(System.String,System.Net.Http.HttpContent,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PutAsync(System.String,System.Net.Http.HttpContent)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PutAsync(System.String,System.Net.Http.HttpContent,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::DeleteAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::DeleteAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStringAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetByteArrayAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStreamAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.Uri,System.Net.Http.HttpCompletionOption)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.Uri,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.Uri,System.Net.Http.HttpCompletionOption,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PostAsync(System.Uri,System.Net.Http.HttpContent)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PostAsync(System.Uri,System.Net.Http.HttpContent,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PutAsync(System.Uri,System.Net.Http.HttpContent)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PutAsync(System.Uri,System.Net.Http.HttpContent,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::DeleteAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::DeleteAsync(System.Uri,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::set_BaseAddress(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::SendAsync(System.Net.Http.HttpRequestMessage)\",\"\",[0],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Object)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::SendAsync(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption)\",\"\",[1],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Object)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::SendAsync(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Object)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::SendAsync(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Object)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpMessageInvoker::SendAsync(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Object)", -"[AspectClass(\"System.Net.Requests,System,netstandard\",[None],Sink,[Ssrf])] Datadog.Trace.Iast.Aspects.System.Net.WebRequestAspect", -" [AspectMethodInsertBefore(\"System.Net.WebRequest::Create(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebRequest::CreateHttp(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebRequest::Create(System.Uri)\",\"\",[0],[False],[None],Default,[])] Review(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebRequest::CreateDefault(System.Uri)\",\"\",[0],[False],[None],Default,[])] Review(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebRequest::CreateHttp(System.Uri)\",\"\",[0],[False],[None],Default,[])] Review(System.Uri)", -"[AspectClass(\"System.Net.WebClient,System\",[None],Sink,[Ssrf])] Datadog.Trace.Iast.Aspects.System.Net.WebClientAspect", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadData(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadDataTaskAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFile(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFileTaskAsync(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadString(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadStringTaskAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenRead(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenReadTaskAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWrite(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWrite(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteTaskAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteTaskAsync(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadData(System.String,System.Byte[])\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadData(System.String,System.String,System.Byte[])\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataTaskAsync(System.String,System.Byte[])\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataTaskAsync(System.String,System.String,System.Byte[])\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFile(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFile(System.String,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileTaskAsync(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileTaskAsync(System.String,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadString(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadString(System.String,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringTaskAsync(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringTaskAsync(System.String,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValues(System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValues(System.String,System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesTaskAsync(System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesTaskAsync(System.String,System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::set_BaseAddress(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadData(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadDataAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadDataAsync(System.Uri,System.Object)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadDataTaskAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFile(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFileAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFileAsync(System.Uri,System.String,System.Object)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFileTaskAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadString(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadStringAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadStringAsync(System.Uri,System.Object)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadStringTaskAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenRead(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenReadAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenReadAsync(System.Uri,System.Object)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenReadTaskAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWrite(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWrite(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteAsync(System.Uri,System.String,System.Object)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteTaskAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteTaskAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadData(System.Uri,System.Byte[])\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadData(System.Uri,System.String,System.Byte[])\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataAsync(System.Uri,System.Byte[])\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataAsync(System.Uri,System.String,System.Byte[])\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataAsync(System.Uri,System.String,System.Byte[],System.Object)\",\"\",[3],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataTaskAsync(System.Uri,System.Byte[])\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataTaskAsync(System.Uri,System.String,System.Byte[])\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFile(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFile(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileAsync(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileAsync(System.Uri,System.String,System.String,System.Object)\",\"\",[3],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileTaskAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileTaskAsync(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadString(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadString(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringAsync(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringAsync(System.Uri,System.String,System.String,System.Object)\",\"\",[3],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringTaskAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringTaskAsync(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValues(System.Uri,System.Collections.Specialized.NameValueCollection)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValues(System.Uri,System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesAsync(System.Uri,System.Collections.Specialized.NameValueCollection)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesAsync(System.Uri,System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesAsync(System.Uri,System.String,System.Collections.Specialized.NameValueCollection,System.Object)\",\"\",[3],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesTaskAsync(System.Uri,System.Collections.Specialized.NameValueCollection)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesTaskAsync(System.Uri,System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.DirectoryAspect", -" [AspectMethodInsertBefore(\"System.IO.Directory::CreateDirectory(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::Delete(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::Delete(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetDirectories(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetDirectories(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetDirectories(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetDirectoryRoot(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFiles(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFiles(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFiles(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFileSystemEntries(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFileSystemEntries(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFileSystemEntries(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::Move(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::CreateDirectory(System.String,System.Security.AccessControl.DirectorySecurity)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::SetAccessControl(System.String,System.Security.AccessControl.DirectorySecurity)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateDirectories(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateDirectories(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateDirectories(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFiles(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFiles(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFiles(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFileSystemEntries(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFileSystemEntries(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFileSystemEntries(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::SetCurrentDirectory(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.DirectoryInfoAspect", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::CreateSubdirectory(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::CreateSubdirectory(System.String,System.Security.AccessControl.DirectorySecurity)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::MoveTo(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetFileSystemInfos(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetFileSystemInfos(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetFiles(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetFiles(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetDirectories(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetDirectories(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateFileSystemInfos(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateFileSystemInfos(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateFiles(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateFiles(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateDirectories(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateDirectories(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.FileAspect", -" [AspectMethodInsertBefore(\"System.IO.File::Create(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::CreateText(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Delete(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::OpenWrite(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllLines(System.String,System.Collections.Generic.IEnumerable`1)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllLines(System.String,System.Collections.Generic.IEnumerable`1,System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllText(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllText(System.String,System.String,System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendText(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Create(System.String,System.Int32)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Create(System.String,System.Int32,System.IO.FileOptions)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Create(System.String,System.Int32,System.IO.FileOptions,System.Security.AccessControl.FileSecurity)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::SetAttributes(System.String,System.IO.FileAttributes)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllBytes(System.String,System.Byte[])\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllLines(System.String,System.String[])\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllLines(System.String,System.String[],System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllLines(System.String,System.Collections.Generic.IEnumerable`1)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllLines(System.String,System.Collections.Generic.IEnumerable`1,System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllText(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllText(System.String,System.String,System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Copy(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Copy(System.String,System.String,System.Boolean)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Move(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Replace(System.String,System.String,System.String)\",\"\",[0,1,2],[False,False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Replace(System.String,System.String,System.String,System.Boolean)\",\"\",[1,2,3],[False,False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadLines(System.String,System.Text.Encoding)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllText(System.String,System.Text.Encoding)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadLines(System.String,System.Text.Encoding)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Open(System.String,System.IO.FileMode)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Open(System.String,System.IO.FileMode,System.IO.FileAccess)\",\"\",[2],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Open(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)\",\"\",[3],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::OpenText(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllBytes(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllLines(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllLines(System.String,System.Text.Encoding)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllText(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadLines(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::OpenRead(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.FileInfoAspect", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::CopyTo(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::CopyTo(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::MoveTo(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::Replace(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::Replace(System.String,System.String,System.Boolean)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.FileStreamAspect", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode,System.IO.FileAccess)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.Int32)\",\"\",[4],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.Int32,System.Boolean)\",\"\",[5],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.Int32,System.IO.FileOptions)\",\"\",[5],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode,System.Security.AccessControl.FileSystemRights,System.IO.FileShare,System.Int32,System.IO.FileOptions)\",\"\",[5],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode,System.Security.AccessControl.FileSystemRights,System.IO.FileShare,System.Int32,System.IO.FileOptions,System.Security.AccessControl.FileSecurity)\",\"\",[6],[False],[None],Default,[])] ReviewPath(System.String)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.StreamReaderAspect", -" [AspectMethodInsertBefore(\"System.IO.StreamReader::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamReader::.ctor(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamReader::.ctor(System.String,System.Text.Encoding)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamReader::.ctor(System.String,System.Text.Encoding,System.Boolean)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamReader::.ctor(System.String,System.Text.Encoding,System.Boolean,System.Int32)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.StreamWriterAspect", -" [AspectMethodInsertBefore(\"System.IO.StreamWriter::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamWriter::.ctor(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamWriter::.ctor(System.String,System.Boolean,System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamWriter::.ctor(System.String,System.Boolean,System.Text.Encoding,System.Int32)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", - }; - } -} diff --git a/tracer/src/Datadog.Trace/Generated/net6.0/Datadog.Trace.SourceGenerators/AspectsDefinitionsGenerator/AspectsDefinitions.g.cs b/tracer/src/Datadog.Trace/Generated/net6.0/Datadog.Trace.SourceGenerators/AspectsDefinitionsGenerator/AspectsDefinitions.g.cs deleted file mode 100644 index 63a9dbd1dd4d..000000000000 --- a/tracer/src/Datadog.Trace/Generated/net6.0/Datadog.Trace.SourceGenerators/AspectsDefinitionsGenerator/AspectsDefinitions.g.cs +++ /dev/null @@ -1,950 +0,0 @@ -// -// Unless explicitly stated otherwise all files in this repository are licensed under the Apache 2 License. -// This product includes software developed at Datadog (https://www.datadoghq.com/). Copyright 2017 Datadog, Inc. -// -// - -#nullable enable - -using System; -using System.Collections; -using System.Collections.Generic; -using System.Linq; - -namespace Datadog.Trace.ClrProfiler -{ - internal static partial class AspectDefinitions - { - public static string[] GetAspects() => new string[] { -"[AspectClass(\"EntityFramework\",[None],Sink,[SqlInjection])] Datadog.Trace.Iast.Aspects.EntityCommandAspect", -" [AspectMethodInsertBefore(\"System.Data.Entity.Core.EntityClient.EntityCommand::ExecuteReader(System.Data.CommandBehavior)\",\"\",[1],[False],[None],Default,[])] ReviewSqlCommand(System.Object)", -" [AspectMethodInsertBefore(\"System.Data.Entity.Core.EntityClient.EntityCommand::ExecuteReaderAsync(System.Data.CommandBehavior,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewSqlCommand(System.Object)", -" [AspectMethodInsertBefore(\"System.Data.Entity.Core.EntityClient.EntityCommand::ExecuteReaderAsync(System.Data.CommandBehavior)\",\"\",[1],[False],[None],Default,[])] ReviewSqlCommand(System.Object)", -"[AspectClass(\"Microsoft.AspNetCore.Http\",[None],Sink,[UnvalidatedRedirect])] Datadog.Trace.Iast.Aspects.AspNetCore.Http.HttpResponseAspect", -" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Http.HttpResponse::Redirect(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Http.HttpResponse::Redirect(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] Redirect(System.String)", -"[AspectClass(\"Microsoft.AspNetCore.Http.Extensions\",[None],Sink,[TrustBoundaryViolation])] Datadog.Trace.Iast.Aspects.System.Web.SessionState.SessionExtensionsAspect", -" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Http.SessionExtensions::SetString(Microsoft.AspNetCore.Http.ISession,System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewTbv(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Http.SessionExtensions::SetInt32(Microsoft.AspNetCore.Http.ISession,System.String,System.Int32)\",\"\",[1],[False],[None],Default,[])] ReviewTbv(System.String)", -"[AspectClass(\"Microsoft.AspNetCore.Mvc\",[None],Sink,[UnvalidatedRedirect])] Datadog.Trace.Iast.Aspects.AspNetCore.Mvc.ControllerBaseAspect", -" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Mvc.ControllerBase::Redirect(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Mvc.ControllerBase::RedirectPermanent(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Mvc.ControllerBase::RedirectPreserveMethod(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Mvc.ControllerBase::RedirectPermanentPreserveMethod(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Mvc.ControllerBase::LocalRedirect(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Mvc.ControllerBase::LocalRedirectPermanent(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Mvc.ControllerBase::LocalRedirectPreserveMethod(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Mvc.ControllerBase::LocalRedirectPermanentPreserveMethod(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String)", -"[AspectClass(\"Microsoft.EntityFrameworkCore.Relational\",[None],Sink,[SqlInjection])] Datadog.Trace.Iast.Aspects.EntityFrameworkCoreAspect", -" [AspectMethodInsertBefore(\"Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions::ExecuteSqlRaw(Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade,System.String,System.Object[])\",\"\",[1],[False],[None],Default,[])] ReviewSqlString(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions::ExecuteSqlRaw(Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade,System.String,System.Collections.Generic.IEnumerable`1)\",\"\",[1],[False],[None],Default,[])] ReviewSqlString(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions::ExecuteSqlRawAsync(Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade,System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewSqlString(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions::ExecuteSqlRawAsync(Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade,System.String,System.Object[])\",\"\",[1],[False],[None],Default,[])] ReviewSqlString(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions::ExecuteSqlRawAsync(Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade,System.String,System.Collections.Generic.IEnumerable`1,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewSqlString(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.EntityFrameworkCore.RelationalQueryableExtensions::FromSqlRaw(Microsoft.EntityFrameworkCore.DbSet`1,System.String,System.Object[])\",\"\",[1],[False],[None],Default,[])] ReviewSqlString(System.String)", -"[AspectClass(\"MongoDB.Bson\",[None],Sink,[NoSqlMongoDbInjection])] Datadog.Trace.Iast.Aspects.MongoDB.BsonAspect", -" [AspectMethodInsertBefore(\"MongoDB.Bson.Serialization.BsonSerializer::Deserialize(System.String,System.Action`1)\",\"\",[1],[False],[None],Default,[])] AnalyzeJsonString(System.String)", -" [AspectMethodInsertBefore(\"MongoDB.Bson.Serialization.BsonSerializer::Deserialize(System.String,System.Type,System.Action`1)\",\"\",[2],[False],[None],Default,[])] AnalyzeJsonString(System.String)", -" [AspectMethodInsertBefore(\"MongoDB.Bson.BsonDocument::Parse(System.String)\",\"\",[0],[False],[None],Default,[])] AnalyzeJsonString(System.String)", -" [AspectMethodInsertBefore(\"MongoDB.Bson.IO.JsonReader::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] AnalyzeJsonString(System.String)", -"[AspectClass(\"MongoDB.Driver\",[None],Sink,[NoSqlMongoDbInjection])] Datadog.Trace.Iast.Aspects.MongoDB.MongoDatabaseAspect", -" [AspectMethodInsertBefore(\"MongoDB.Driver.IMongoDatabase::RunCommand(MongoDB.Driver.Command`1,MongoDB.Driver.ReadPreference,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] AnalyzeCommand(System.Object)", -" [AspectMethodInsertBefore(\"MongoDB.Driver.IMongoDatabase::RunCommandAsync(MongoDB.Driver.Command`1,MongoDB.Driver.ReadPreference,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] AnalyzeCommand(System.Object)", -" [AspectMethodInsertBefore(\"MongoDB.Driver.IMongoCollectionExtensions::Find(MongoDB.Driver.IMongoCollection`1,MongoDB.Driver.FilterDefinition`1,MongoDB.Driver.FindOptions)\",\"\",[1],[False],[None],Default,[])] AnalyzeCommand(System.Object)", -" [AspectMethodInsertBefore(\"MongoDB.Driver.IMongoCollectionExtensions::FindAsync(MongoDB.Driver.IMongoCollection`1,MongoDB.Driver.FilterDefinition`1,MongoDB.Driver.FindOptions`2,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] AnalyzeCommand(System.Object)", -"[AspectClass(\"NHibernate\",[None],Sink,[SqlInjection])] Datadog.Trace.Iast.Aspects.NHibernate.ISessionAspect", -" [AspectMethodInsertBefore(\"NHibernate.ISession::CreateQuery(System.String)\",\"\",[0],[False],[None],Default,[])] AnalyzeQuery(System.String)", -" [AspectMethodInsertBefore(\"NHibernate.ISession::CreateSQLQuery(System.String)\",\"\",[0],[False],[None],Default,[])] AnalyzeQuery(System.String)", -"[AspectClass(\"Newtonsoft.Json\",[None],Propagation,[])] Datadog.Trace.Iast.Aspects.Newtonsoft.Json.NewtonsoftJsonAspects", -" [AspectMethodReplace(\"Newtonsoft.Json.Linq.JObject::Parse(System.String)\",\"\",[0],[False],[None],Default,[])] ParseObject(System.String)", -" [AspectMethodReplace(\"Newtonsoft.Json.Linq.JArray::Parse(System.String)\",\"\",[0],[False],[None],Default,[])] ParseArray(System.String)", -" [AspectMethodReplace(\"Newtonsoft.Json.Linq.JToken::Parse(System.String)\",\"\",[0],[False],[None],Default,[])] ParseToken(System.String)", -"[AspectClass(\"System,System.Net.Mail\",[None],Sink,[EmailHtmlInjection])] Datadog.Trace.Iast.Aspects.SmtpClientAspect", -" [AspectMethodInsertBefore(\"System.Net.Mail.SmtpClient::Send(System.Net.Mail.MailMessage)\",\"\",[0],[False],[None],Default,[])] Send(System.Object)", -" [AspectMethodInsertBefore(\"System.Net.Mail.SmtpClient::SendAsync(System.Net.Mail.MailMessage,System.Object)\",\"\",[1],[False],[None],Default,[])] Send(System.Object)", -" [AspectMethodInsertBefore(\"System.Net.Mail.SmtpClient::SendMailAsync(System.Net.Mail.MailMessage)\",\"\",[0],[False],[None],Default,[])] Send(System.Object)", -" [AspectMethodInsertBefore(\"System.Net.Mail.SmtpClient::SendMailAsync(System.Net.Mail.MailMessage,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] Send(System.Object)", -"[AspectClass(\"System,System.Runtime\",[StringOptimization],Propagation,[])] Datadog.Trace.Iast.Aspects.System.UriAspect", -" [AspectCtorReplace(\"System.Uri::.ctor(System.String)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Init(System.String)", -" [AspectCtorReplace(\"System.Uri::.ctor(System.Uri,System.String,System.Boolean)\",\"\",[0],[False],[None],Default,[])] Init(System.Uri,System.String,System.Boolean)", -" [AspectCtorReplace(\"System.Uri::.ctor(System.Uri,System.String)\",\"\",[0],[False],[None],Default,[])] Init(System.Uri,System.String)", -" [AspectCtorReplace(\"System.Uri::.ctor(System.Uri,System.Uri)\",\"\",[0],[False],[None],Default,[])] Init(System.Uri,System.Uri)", -" [AspectCtorReplace(\"System.Uri::.ctor(System.String,System.Boolean)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Init(System.String,System.Boolean)", -" [AspectCtorReplace(\"System.Uri::.ctor(System.String,System.UriKind)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Init(System.String,System.UriKind)", -" [AspectCtorReplace(\"System.Uri::.ctor(System.String,System.UriCreationOptions)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Init(System.String,System.UriCreationOptions)", -" [AspectMethodReplace(\"System.Uri::TryCreate(System.String,System.UriKind,System.Uri)\",\"\",[0],[False],[StringLiteral_0],Default,[])] TryCreate(System.String,System.UriKind,System.Uri)", -" [AspectMethodReplace(\"System.Uri::TryCreate(System.String,System.UriCreationOptions,System.Uri)\",\"\",[0],[False],[StringLiteral_0],Default,[])] TryCreate(System.String,System.UriCreationOptions,System.Uri)", -" [AspectMethodReplace(\"System.Uri::TryCreate(System.Uri,System.String,System.Uri)\",\"\",[0],[False],[None],Default,[])] TryCreate(System.Uri,System.String,System.Uri)", -" [AspectMethodReplace(\"System.Uri::TryCreate(System.Uri,System.Uri,System.Uri)\",\"\",[0],[False],[None],Default,[])] TryCreate(System.Uri,System.Uri,System.Uri)", -" [AspectMethodReplace(\"System.Uri::UnescapeDataString(System.String)\",\"\",[0],[False],[StringLiteral_0],Default,[])] UnescapeDataString(System.String)", -" [AspectMethodReplace(\"System.Uri::EscapeUriString(System.String)\",\"\",[0],[False],[StringLiteral_0],Default,[])] EscapeUriString(System.String)", -" [AspectMethodReplace(\"System.Uri::EscapeDataString(System.String)\",\"\",[0],[False],[StringLiteral_0],Default,[])] EscapeDataString(System.String)", -" [AspectMethodReplace(\"System.Uri::get_AbsoluteUri()\",\"\",[0],[False],[None],Default,[])] GetAbsoluteUri(System.Uri)", -" [AspectMethodReplace(\"System.Uri::get_AbsolutePath()\",\"\",[0],[False],[None],Default,[])] GetAbsolutePath(System.Uri)", -" [AspectMethodReplace(\"System.Uri::get_LocalPath()\",\"\",[0],[False],[None],Default,[])] GetLocalPath(System.Uri)", -" [AspectMethodReplace(\"System.Uri::MakeRelative(System.Uri)\",\"\",[0],[False],[None],Default,[])] MakeRelative(System.Uri,System.Uri)", -" [AspectMethodReplace(\"System.Uri::MakeRelativeUri(System.Uri)\",\"\",[0],[False],[None],Default,[])] MakeRelativeUri(System.Uri,System.Uri)", -" [AspectMethodReplace(\"System.Uri::get_Host()\",\"\",[0],[False],[None],Default,[])] GetHost(System.Uri)", -" [AspectMethodReplace(\"System.Uri::get_PathAndQuery()\",\"\",[0],[False],[None],Default,[])] GetPathAndQuery(System.Uri)", -" [AspectMethodReplace(\"System.Uri::get_Authority()\",\"\",[0],[False],[None],Default,[])] GetAuthority(System.Uri)", -" [AspectMethodReplace(\"System.Uri::get_Query()\",\"\",[0],[False],[None],Default,[])] GetQuery(System.Uri)", -" [AspectMethodReplace(\"System.Object::ToString()\",\"System.Uri\",[0],[False],[None],Default,[])] ToString(System.Object)", -"[AspectClass(\"System,netstandard,System.Runtime.Extensions,System.Runtime\",[None],Propagation,[])] Datadog.Trace.Iast.Aspects.System.UriBuilderAspect", -" [AspectCtorReplace(\"System.UriBuilder::.ctor(System.String)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Init(System.String)", -" [AspectCtorReplace(\"System.UriBuilder::.ctor(System.Uri)\",\"\",[0],[False],[None],Default,[])] Init(System.Uri)", -" [AspectCtorReplace(\"System.UriBuilder::.ctor(System.String,System.String)\",\"\",[0],[False],[None],Default,[])] Init(System.String,System.String)", -" [AspectCtorReplace(\"System.UriBuilder::.ctor(System.String,System.String,System.Int32)\",\"\",[0],[False],[None],Default,[])] Init(System.String,System.String,System.Int32)", -" [AspectCtorReplace(\"System.UriBuilder::.ctor(System.String,System.String,System.Int32,System.String)\",\"\",[0],[False],[None],Default,[])] Init(System.String,System.String,System.Int32,System.String)", -" [AspectCtorReplace(\"System.UriBuilder::.ctor(System.String,System.String,System.Int32,System.String,System.String)\",\"\",[0],[False],[None],Default,[])] Init(System.String,System.String,System.Int32,System.String,System.String)", -" [AspectMethodReplace(\"System.UriBuilder::set_Host(System.String)\",\"\",[0],[False],[StringLiteral_1],Default,[])] SetHost(System.UriBuilder,System.String)", -" [AspectMethodReplace(\"System.UriBuilder::set_Query(System.String)\",\"\",[0],[False],[StringLiteral_1],Default,[])] SetQuery(System.UriBuilder,System.String)", -" [AspectMethodReplace(\"System.UriBuilder::set_Path(System.String)\",\"\",[0],[False],[StringLiteral_1],Default,[])] SetPath(System.UriBuilder,System.String)", -" [AspectMethodReplace(\"System.UriBuilder::get_Host()\",\"\",[0],[False],[None],Default,[])] GetHost(System.UriBuilder)", -" [AspectMethodReplace(\"System.UriBuilder::get_Query()\",\"\",[0],[False],[None],Default,[])] GetQuery(System.UriBuilder)", -" [AspectMethodReplace(\"System.UriBuilder::get_Path()\",\"\",[0],[False],[None],Default,[])] GetPath(System.UriBuilder)", -" [AspectMethodReplace(\"System.Object::ToString()\",\"System.UriBuilder\",[0],[False],[None],Default,[])] ToString(System.Object)", -"[AspectClass(\"System.Data,System.Data.Common\",[None],Sink,[SqlInjection])] Datadog.Trace.Iast.Aspects.DbCommandAspect", -" [AspectMethodInsertBefore(\"System.Data.Common.DbCommand::ExecuteNonQueryAsync(System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewExecuteNonQuery(System.Object)", -" [AspectMethodInsertBefore(\"System.Data.Common.DbCommand::ExecuteNonQueryAsync()\",\"\",[0],[False],[None],Default,[])] ReviewExecuteNonQuery(System.Object)", -"[AspectClass(\"System.DirectoryServices\",[StringOptimization],Propagation,[])] Datadog.Trace.Iast.Aspects.System.DirectoryServices.DirectoryEntryAspect", -" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectoryEntry::set_Path(System.String)\",\"\",[0],[False],[None],Default,[])] Init(System.String)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectoryEntry::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] Init(System.String)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectoryEntry::.ctor(System.String,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] Init(System.String)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectoryEntry::.ctor(System.String,System.String,System.String,System.DirectoryServices.AuthenticationTypes)\",\"\",[3],[False],[None],Default,[])] Init(System.String)", -"[AspectClass(\"System.DirectoryServices\",[StringOptimization],Propagation,[])] Datadog.Trace.Iast.Aspects.System.DirectoryServices.DirectorySearcherAspect", -" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectorySearcher::set_Filter(System.String)\",\"\",[0],[False],[None],Default,[])] Init(System.String)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectorySearcher::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] Init(System.String)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectorySearcher::.ctor(System.String,System.String[])\",\"\",[1],[False],[None],Default,[])] Init(System.String)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectorySearcher::.ctor(System.String,System.String[],System.DirectoryServices.SearchScope)\",\"\",[2],[False],[None],Default,[])] Init(System.String)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectorySearcher::.ctor(System.DirectoryServices.DirectoryEntry,System.String)\",\"\",[0],[False],[None],Default,[])] Init(System.String)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectorySearcher::.ctor(System.DirectoryServices.DirectoryEntry,System.String,System.String[])\",\"\",[1],[False],[None],Default,[])] Init(System.String)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectorySearcher::.ctor(System.DirectoryServices.DirectoryEntry,System.String,System.String[],System.DirectoryServices.SearchScope)\",\"\",[2],[False],[None],Default,[])] Init(System.String)", -"[AspectClass(\"System.DirectoryServices.AccountManagement\",[StringOptimization],Propagation,[])] Datadog.Trace.Iast.Aspects.System.DirectoryServices.PrincipalContextAspect", -" [AspectMethodInsertBefore(\"System.DirectoryServices.AccountManagement.PrincipalContext::.ctor(System.DirectoryServices.AccountManagement.ContextType,System.String,System.String)\",\"\",[0],[False],[None],Default,[])] Init(System.String)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.AccountManagement.PrincipalContext::.ctor(System.DirectoryServices.AccountManagement.ContextType,System.String,System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Init(System.String)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.AccountManagement.PrincipalContext::.ctor(System.DirectoryServices.AccountManagement.ContextType,System.String,System.String,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] Init(System.String)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.AccountManagement.PrincipalContext::.ctor(System.DirectoryServices.AccountManagement.ContextType,System.String,System.String,System.DirectoryServices.AccountManagement.ContextOptions)\",\"\",[1],[False],[None],Default,[])] Init(System.String)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.AccountManagement.PrincipalContext::.ctor(System.DirectoryServices.AccountManagement.ContextType,System.String,System.String,System.DirectoryServices.AccountManagement.ContextOptions,System.String,System.String)\",\"\",[3],[False],[None],Default,[])] Init(System.String)", -"[AspectClass(\"System.DirectoryServices.Protocols\",[StringOptimization],Propagation,[])] Datadog.Trace.Iast.Aspects.System.DirectoryServices.SearchRequestAspect", -" [AspectMethodInsertBefore(\"System.DirectoryServices.Protocols.SearchRequest::.ctor(System.String,System.String,System.DirectoryServices.Protocols.SearchScope,System.String[])\",\"\",[2],[False],[None],Default,[])] Init(System.Object)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.Protocols.SearchRequest::set_Filter(System.Object)\",\"\",[0],[False],[None],Default,[])] Init(System.Object)", -"[AspectClass(\"System.Net.Http\",[None],Sink,[Ssrf])] Datadog.Trace.Iast.Aspects.System.Net.HttpClientAspect", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStringAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetByteArrayAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStringAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetByteArrayAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStreamAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PatchAsync(System.String,System.Net.Http.HttpContent,System.Threading.CancellationToken) \",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PatchAsync(System.String,System.Net.Http.HttpContent) \",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStreamAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.String,System.Net.Http.HttpCompletionOption)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.String,System.Net.Http.HttpCompletionOption,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PostAsync(System.String,System.Net.Http.HttpContent)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PostAsync(System.String,System.Net.Http.HttpContent,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PutAsync(System.String,System.Net.Http.HttpContent)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PutAsync(System.String,System.Net.Http.HttpContent,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::DeleteAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::DeleteAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStringAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetByteArrayAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetByteArrayAsync(System.Uri,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStringAsync(System.Uri,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStreamAsync(System.Uri,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PatchAsync(System.Uri,System.Net.Http.HttpContent,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PatchAsync(System.Uri,System.Net.Http.HttpContent)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStreamAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.Uri,System.Net.Http.HttpCompletionOption)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.Uri,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.Uri,System.Net.Http.HttpCompletionOption,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PostAsync(System.Uri,System.Net.Http.HttpContent)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PostAsync(System.Uri,System.Net.Http.HttpContent,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PutAsync(System.Uri,System.Net.Http.HttpContent)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PutAsync(System.Uri,System.Net.Http.HttpContent,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::DeleteAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::DeleteAsync(System.Uri,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::set_BaseAddress(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::SendAsync(System.Net.Http.HttpRequestMessage)\",\"\",[0],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::SendAsync(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption)\",\"\",[1],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::SendAsync(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::SendAsync(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::Send(System.Net.Http.HttpRequestMessage)\",\"\",[0],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::Send(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption)\",\"\",[1],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::Send(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpMessageInvoker::Send(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpMessageInvoker::SendAsync(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage)", -"[AspectClass(\"System.Net.Requests,System,netstandard\",[None],Sink,[Ssrf])] Datadog.Trace.Iast.Aspects.System.Net.WebRequestAspect", -" [AspectMethodInsertBefore(\"System.Net.WebRequest::Create(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebRequest::CreateHttp(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebRequest::Create(System.Uri)\",\"\",[0],[False],[None],Default,[])] Review(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebRequest::CreateDefault(System.Uri)\",\"\",[0],[False],[None],Default,[])] Review(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebRequest::CreateHttp(System.Uri)\",\"\",[0],[False],[None],Default,[])] Review(System.Uri)", -"[AspectClass(\"System.Net.WebClient,System\",[None],Sink,[Ssrf])] Datadog.Trace.Iast.Aspects.System.Net.WebClientAspect", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadData(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadDataTaskAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFile(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFileTaskAsync(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadString(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadStringTaskAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenRead(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenReadTaskAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWrite(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWrite(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteTaskAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteTaskAsync(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadData(System.String,System.Byte[])\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadData(System.String,System.String,System.Byte[])\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataTaskAsync(System.String,System.Byte[])\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataTaskAsync(System.String,System.String,System.Byte[])\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFile(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFile(System.String,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileTaskAsync(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileTaskAsync(System.String,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadString(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadString(System.String,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringTaskAsync(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringTaskAsync(System.String,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValues(System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValues(System.String,System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesTaskAsync(System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesTaskAsync(System.String,System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::set_BaseAddress(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadData(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadDataAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadDataAsync(System.Uri,System.Object)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadDataTaskAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFile(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFileAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFileAsync(System.Uri,System.String,System.Object)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFileTaskAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadString(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadStringAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadStringAsync(System.Uri,System.Object)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadStringTaskAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenRead(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenReadAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenReadAsync(System.Uri,System.Object)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenReadTaskAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWrite(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWrite(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteAsync(System.Uri,System.String,System.Object)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteTaskAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteTaskAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadData(System.Uri,System.Byte[])\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadData(System.Uri,System.String,System.Byte[])\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataAsync(System.Uri,System.Byte[])\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataAsync(System.Uri,System.String,System.Byte[])\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataAsync(System.Uri,System.String,System.Byte[],System.Object)\",\"\",[3],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataTaskAsync(System.Uri,System.Byte[])\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataTaskAsync(System.Uri,System.String,System.Byte[])\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFile(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFile(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileAsync(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileAsync(System.Uri,System.String,System.String,System.Object)\",\"\",[3],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileTaskAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileTaskAsync(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadString(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadString(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringAsync(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringAsync(System.Uri,System.String,System.String,System.Object)\",\"\",[3],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringTaskAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringTaskAsync(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValues(System.Uri,System.Collections.Specialized.NameValueCollection)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValues(System.Uri,System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesAsync(System.Uri,System.Collections.Specialized.NameValueCollection)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesAsync(System.Uri,System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesAsync(System.Uri,System.String,System.Collections.Specialized.NameValueCollection,System.Object)\",\"\",[3],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesTaskAsync(System.Uri,System.Collections.Specialized.NameValueCollection)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesTaskAsync(System.Uri,System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -"[AspectClass(\"System.Private.Corelib;System.Runtime\",[None],Sink,[Ssrf])] Datadog.Trace.Iast.Aspects.System.Net.WebUtilityAspect", -" [AspectMethodReplace(\"System.Net.WebUtility::HtmlEncode(System.String)\",\"\",[0],[False],[None],Default,[])] XssEscape(System.String)", -" [AspectMethodReplace(\"System.Net.WebUtility::UrlEncode(System.String)\",\"\",[0],[False],[None],Default,[])] SsrfEscape(System.String)", -"[AspectClass(\"System.Text.Json\",[None],Source,[])] Datadog.Trace.Iast.Aspects.System.Text.Json.JsonDocumentAspects", -" [AspectMethodReplace(\"System.Text.Json.JsonDocument::Parse(System.String,System.Text.Json.JsonDocumentOptions)\",\"\",[0],[False],[None],Default,[]);V2.49.0] Parse(System.String,System.Text.Json.JsonDocumentOptions)", -" [AspectMethodReplace(\"System.Text.Json.JsonElement::GetString()\",\"\",[0],[True],[None],Default,[]);V2.49.0] GetString(System.Object)", -" [AspectMethodReplace(\"System.Text.Json.JsonElement::GetRawText()\",\"\",[0],[True],[None],Default,[]);V2.49.0] GetRawText(System.Object)", -"[AspectClass(\"System.Web\",[None],Sink,[UnvalidatedRedirect])] Datadog.Trace.Iast.Aspects.System.Web.HttpResponseAspect", -" [AspectMethodInsertBefore(\"System.Web.HttpResponse::Redirect(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String)", -" [AspectMethodInsertBefore(\"System.Web.HttpResponse::Redirect(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] Redirect(System.String)", -" [AspectMethodInsertBefore(\"System.Web.HttpResponse::RedirectPermanent(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String)", -" [AspectMethodInsertBefore(\"System.Web.HttpResponse::RedirectPermanent(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] Redirect(System.String)", -"[AspectClass(\"System.Web.Mvc\",[None],Sink,[UnvalidatedRedirect])] Datadog.Trace.Iast.Aspects.System.Web.HttpControllerAspect", -" [AspectMethodInsertBefore(\"System.Web.Mvc.Controller::Redirect(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String)", -" [AspectMethodInsertBefore(\"System.Web.Mvc.Controller::RedirectPermanent(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String)", -"[AspectClass(\"System.Web;System.Runtime.Extensions;System.Web.HttpUtility\",[None],Sink,[Ssrf])] Datadog.Trace.Iast.Aspects.System.Net.HttpUtilityAspect", -" [AspectMethodReplace(\"System.Web.HttpUtility::HtmlEncode(System.String)\",\"\",[0],[False],[None],Default,[])] XssEscape(System.String)", -" [AspectMethodReplace(\"System.Web.HttpUtility::UrlEncode(System.String)\",\"\",[0],[False],[None],Default,[])] SsrfEscape(System.String)", -" [AspectMethodReplace(\"System.Web.HttpUtility::UrlEncode(System.String,System.Text.Encoding)\",\"\",[0],[False],[None],Default,[])] SsrfEscape(System.String,System.Text.Encoding)", -"[AspectClass(\"System.Xml,System.Xml.ReaderWriter,System.Xml.XPath.XDocument\",[None],Sink,[XPathInjection])] Datadog.Trace.Iast.Aspects.SystemXmlAspect", -" [AspectMethodInsertBefore(\"System.Xml.XmlNode::SelectNodes(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XmlNode::SelectNodes(System.String,System.Xml.XmlNamespaceManager)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XmlNode::SelectSingleNode(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XmlNode::SelectSingleNode(System.String,System.Xml.XmlNamespaceManager)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XPath.XPathExpression::Compile(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XPath.XPathExpression::Compile(System.String,System.Xml.IXmlNamespaceResolver)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XPath.XPathNavigator::Evaluate(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XPath.XPathNavigator::Evaluate(System.String,System.Xml.IXmlNamespaceResolver)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XPath.XPathNavigator::SelectSingleNode(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XPath.XPathNavigator::SelectSingleNode(System.String,System.Xml.IXmlNamespaceResolver)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XPath.XPathNavigator::Select(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XPath.XPathNavigator::Select(System.String,System.Xml.IXmlNamespaceResolver)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -"[AspectClass(\"System.Xml.XPath.XDocument,System.Xml.Linq\",[None],Sink,[XPathInjection])] Datadog.Trace.Iast.Aspects.XPathExtensionAspect", -" [AspectMethodInsertBefore(\"System.Xml.XPath.Extensions::XPathEvaluate(System.Xml.Linq.XNode,System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XPath.Extensions::XPathEvaluate(System.Xml.Linq.XNode,System.String,System.Xml.IXmlNamespaceResolver)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XPath.Extensions::XPathSelectElement(System.Xml.Linq.XNode,System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XPath.Extensions::XPathSelectElement(System.Xml.Linq.XNode,System.String,System.Xml.IXmlNamespaceResolver)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XPath.Extensions::XPathSelectElements(System.Xml.Linq.XNode,System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XPath.Extensions::XPathSelectElements(System.Xml.Linq.XNode,System.String,System.Xml.IXmlNamespaceResolver)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.DirectoryAspect", -" [AspectMethodInsertBefore(\"System.IO.Directory::CreateDirectory(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::CreateDirectory(System.String,System.IO.UnixFileMode)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::CreateTempSubdirectory(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::Delete(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::Delete(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetDirectories(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetDirectories(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetDirectories(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetDirectories(System.String,System.String,System.IO.EnumerationOptions)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetDirectoryRoot(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFiles(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFiles(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFiles(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFiles(System.String,System.String,System.IO.EnumerationOptions)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFileSystemEntries(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFileSystemEntries(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFileSystemEntries(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFileSystemEntries(System.String,System.String,System.IO.EnumerationOptions)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::Move(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::SetAccessControl(System.String,System.Security.AccessControl.DirectorySecurity)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateDirectories(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateDirectories(System.String,System.String,System.IO.EnumerationOptions)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateDirectories(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateDirectories(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFiles(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFiles(System.String,System.String,System.IO.EnumerationOptions)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFiles(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFiles(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFileSystemEntries(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFileSystemEntries(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFileSystemEntries(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFileSystemEntries(System.String,System.String,System.IO.EnumerationOptions)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::SetCurrentDirectory(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.DirectoryInfoAspect", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::CreateSubdirectory(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::MoveTo(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetFileSystemInfos(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetFileSystemInfos(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetFileSystemInfos(System.String,System.IO.EnumerationOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetFiles(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetFiles(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetFiles(System.String,System.IO.EnumerationOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetDirectories(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetDirectories(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetDirectories(System.String,System.IO.EnumerationOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateFileSystemInfos(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateFileSystemInfos(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateFileSystemInfos(System.String,System.IO.EnumerationOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateFiles(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateFiles(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateFiles(System.String,System.IO.EnumerationOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateDirectories(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateDirectories(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateDirectories(System.String,System.IO.EnumerationOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.FileAspect", -" [AspectMethodInsertBefore(\"System.IO.File::Create(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::CreateText(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Delete(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::OpenWrite(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllLines(System.String,System.Collections.Generic.IEnumerable`1)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllLines(System.String,System.Collections.Generic.IEnumerable`1,System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllText(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllText(System.String,System.String,System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllText(System.String,System.ReadOnlySpan`1[System.Char])\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllText(System.String,System.ReadOnlySpan`1[System.Char],System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllTextAsync(System.String,System.ReadOnlyMemory`1[System.Char],System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllTextAsync(System.String,System.ReadOnlyMemory`1[System.Char],System.Text.Encoding,System.Threading.CancellationToken)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllTextAsync(System.String,System.String,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllTextAsync(System.String,System.String,System.Text.Encoding,System.Threading.CancellationToken)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllLinesAsync(System.String,System.Collections.Generic.IEnumerable`1,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllLinesAsync(System.String,System.Collections.Generic.IEnumerable`1,System.Text.Encoding,System.Threading.CancellationToken)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendText(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllBytes(System.String,Byte[])\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllBytes(System.String,System.ReadOnlySpan`1[System.Byte]))\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllBytesAsync(System.String, Byte[],System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllBytesAsync(System.String,System.ReadOnlyMemory`1[System.Byte],System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Create(System.String,System.Int32)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Create(System.String,System.Int32,System.IO.FileOptions)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::SetAttributes(System.String,System.IO.FileAttributes)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllBytes(System.String,System.Byte[])\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllBytes(System.String,System.ReadOnlySpan`1[System.Byte])\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllBytesAsync(System.String,System.ReadOnlyMemory`1[System.Byte],System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllBytesAsync(System.String,System.Byte[],System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllLines(System.String,System.String[])\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllLines(System.String,System.String[],System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllLines(System.String,System.Collections.Generic.IEnumerable`1)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllLines(System.String,System.Collections.Generic.IEnumerable`1,System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllLinesAsync(System.String,System.Collections.Generic.IEnumerable`1,System.Text.Encoding,System.Threading.CancellationToken)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllLinesAsync(System.String,System.Collections.Generic.IEnumerable`1,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllText(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllText(System.String,System.String,System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllText(System.String,System.ReadOnlySpan`1[System.Char])\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllText(System.String,System.ReadOnlySpan`1[System.Char],System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllTextAsync(System.String,System.ReadOnlyMemory`1[System.Char],System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllTextAsync(System.String,System.ReadOnlyMemory`1[System.Char],System.Text.Encoding,System.Threading.CancellationToken)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllTextAsync(System.String,System.String,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllTextAsync(System.String,System.String,System.Text.Encoding,System.Threading.CancellationToken)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Copy(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Copy(System.String,System.String,System.Boolean)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Move(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Move(System.String,System.String,System.Boolean)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Replace(System.String,System.String,System.String)\",\"\",[0,1,2],[False,False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Replace(System.String,System.String,System.String,System.Boolean)\",\"\",[1,2,3],[False,False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadLines(System.String,System.Text.Encoding)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllText(System.String,System.Text.Encoding)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadLines(System.String,System.Text.Encoding)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Open(System.String,System.IO.FileMode)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Open(System.String,System.IO.FileMode,System.IO.FileAccess)\",\"\",[2],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Open(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)\",\"\",[3],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::OpenText(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Open(System.String,System.IO.FileStreamOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::OpenHandle(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.IO.FileOptions,System.Int64)\",\"\",[5],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllBytes(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllBytesAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllLines(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllLines(System.String,System.Text.Encoding)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllLinesAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllLinesAsync(System.String,System.Text.Encoding,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllText(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllTextAsync(System.String,System.Text.Encoding,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllTextAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadLines(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadLinesAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadLinesAsync(System.String,System.Text.Encoding,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::OpenRead(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.FileInfoAspect", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::CopyTo(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::CopyTo(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::MoveTo(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::MoveTo(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::Replace(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::Replace(System.String,System.String,System.Boolean)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.FileStreamAspect", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode,System.IO.FileAccess)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.Int32)\",\"\",[4],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.Int32,System.Boolean)\",\"\",[5],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.Int32,System.IO.FileOptions)\",\"\",[5],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileStreamOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.StreamReaderAspect", -" [AspectMethodInsertBefore(\"System.IO.StreamReader::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamReader::.ctor(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamReader::.ctor(System.String,System.Text.Encoding)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamReader::.ctor(System.String,System.Text.Encoding,System.Boolean)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamReader::.ctor(System.String,System.Text.Encoding,System.Boolean,System.Int32)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamReader::.ctor(System.String,System.Text.Encoding,System.Boolean,System.IO.FileStreamOptions)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamReader::.ctor(System.String,System.IO.FileStreamOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.StreamWriterAspect", -" [AspectMethodInsertBefore(\"System.IO.StreamWriter::.ctor(System.String,System.Text.Encoding,System.IO.FileStreamOptions)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamWriter::.ctor(System.String,System.IO.FileStreamOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamWriter::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamWriter::.ctor(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamWriter::.ctor(System.String,System.Boolean,System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamWriter::.ctor(System.String,System.Boolean,System.Text.Encoding,System.Int32)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", -"[AspectClass(\"mscorlib,System.Runtime.Extensions,System.Runtime\",[None],Sink,[WeakRandomness])] Datadog.Trace.Iast.Aspects.RandomAspect", -" [AspectMethodInsertAfter(\"System.Random::.ctor()\",\"\",[0],[False],[None],Default,[])] Init()", -" [AspectMethodInsertAfter(\"System.Random::.ctor(System.Int32)\",\"\",[0],[False],[None],Default,[])] Init()", -"[AspectClass(\"mscorlib,netstandard,System.Private.CoreLib,System.Runtime\",[StringOptimization],Propagation,[])] Datadog.Trace.Iast.Aspects.System.StringAspects", -" [AspectMethodReplace(\"System.String::Trim()\",\"\",[0],[False],[StringLiteral_0],Default,[])] Trim(System.String)", -" [AspectMethodReplace(\"System.String::Trim(System.Char[])\",\"\",[0],[False],[StringLiteral_0],Default,[])] Trim(System.String,System.Char[])", -" [AspectMethodReplace(\"System.String::Trim(System.Char)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Trim(System.String,System.Char)", -" [AspectMethodReplace(\"System.String::TrimStart(System.Char[])\",\"\",[0],[False],[StringLiteral_0],Default,[])] TrimStart(System.String,System.Char[])", -" [AspectMethodReplace(\"System.String::TrimStart(System.Char)\",\"\",[0],[False],[StringLiteral_0],Default,[])] TrimStart(System.String,System.Char)", -" [AspectMethodReplace(\"System.String::TrimStart()\",\"\",[0],[False],[StringLiteral_0],Default,[])] TrimStart(System.String)", -" [AspectMethodReplace(\"System.String::TrimEnd(System.Char[])\",\"\",[0],[False],[StringLiteral_0],Default,[])] TrimEnd(System.String,System.Char[])", -" [AspectMethodReplace(\"System.String::TrimEnd(System.Char)\",\"\",[0],[False],[StringLiteral_0],Default,[])] TrimEnd(System.String,System.Char)", -" [AspectMethodReplace(\"System.String::TrimEnd()\",\"\",[0],[False],[StringLiteral_0],Default,[])] TrimEnd(System.String)", -" [AspectMethodReplace(\"System.String::Concat(System.String,System.String)\",\"\",[0],[False],[StringLiterals_Any],Default,[])] Concat(System.String,System.String)", -" [AspectMethodReplace(\"System.String::Concat(System.String,System.String)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Concat_0(System.String,System.String)", -" [AspectMethodReplace(\"System.String::Concat(System.String,System.String)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Concat_1(System.String,System.String)", -" [AspectMethodReplace(\"System.String::Concat(System.Object,System.Object)\",\"\",[0],[False],[None],Default,[])] Concat(System.Object,System.Object)", -" [AspectMethodReplace(\"System.String::Concat(System.String,System.String,System.String)\",\"\",[0],[False],[StringLiterals],Default,[])] Concat(System.String,System.String,System.String)", -" [AspectMethodReplace(\"System.String::Concat(System.Object,System.Object,System.Object)\",\"\",[0],[False],[None],Default,[])] Concat(System.Object,System.Object,System.Object)", -" [AspectMethodReplace(\"System.String::Concat(System.String,System.String,System.String,System.String)\",\"\",[0],[False],[StringLiterals],Default,[])] Concat(System.String,System.String,System.String,System.String)", -" [AspectMethodReplace(\"System.String::Concat(System.String[])\",\"\",[0],[False],[None],Default,[])] Concat(System.String[])", -" [AspectMethodReplace(\"System.String::Concat(System.Object[])\",\"\",[0],[False],[None],Default,[])] Concat(System.Object[])", -" [AspectMethodReplace(\"System.String::Concat(System.Collections.Generic.IEnumerable`1)\",\"\",[0],[False],[None],Default,[])] Concat(System.Collections.Generic.IEnumerable`1)", -" [AspectMethodReplace(\"System.String::Concat(System.Collections.Generic.IEnumerable`1)\",\"\",[0],[False],[None],Default,[]);V3.2.0] Concat(System.Collections.Generic.IEnumerable`1)", -" [AspectMethodReplace(\"System.String::Substring(System.Int32)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Substring(System.String,System.Int32)", -" [AspectMethodReplace(\"System.String::Substring(System.Int32,System.Int32)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Substring(System.String,System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.String::ToCharArray()\",\"\",[0],[False],[StringLiteral_0],Default,[])] ToCharArray(System.String)", -" [AspectMethodReplace(\"System.String::ToCharArray(System.Int32,System.Int32)\",\"\",[0],[False],[StringLiteral_0],Default,[])] ToCharArray(System.String,System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.String::Join(System.String,System.String[],System.Int32,System.Int32)\",\"\",[0],[False],[None],Default,[])] Join(System.String,System.String[],System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.String::Join(System.Char,System.String[])\",\"\",[0],[False],[None],Default,[])] Join(System.Char,System.String[])", -" [AspectMethodReplace(\"System.String::Join(System.Char,System.Object[])\",\"\",[0],[False],[None],Default,[])] Join(System.Char,System.Object[])", -" [AspectMethodReplace(\"System.String::Join(System.Char,System.String[],System.Int32,System.Int32)\",\"\",[0],[False],[None],Default,[])] Join(System.Char,System.String[],System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.String::Join(System.Char,System.Collections.Generic.IEnumerable`1)\",\"\",[0],[False],[None],Default,[]);V3.2.0] Join(System.Char,System.Collections.Generic.IEnumerable`1)", -" [AspectMethodReplace(\"System.String::Join(System.String,System.Collections.Generic.IEnumerable`1)\",\"\",[0],[False],[None],Default,[]);V3.2.0] Join(System.String,System.Collections.Generic.IEnumerable`1)", -" [AspectMethodReplace(\"System.String::Join(System.String,System.Object[])\",\"\",[0],[False],[None],Default,[])] Join(System.String,System.Object[])", -" [AspectMethodReplace(\"System.String::Join(System.String,System.String[])\",\"\",[0],[False],[None],Default,[])] Join(System.String,System.String[])", -" [AspectMethodReplace(\"System.String::Join(System.String,System.Collections.Generic.IEnumerable`1)\",\"\",[0],[False],[None],Default,[])] JoinString(System.String,System.Collections.Generic.IEnumerable`1)", -" [AspectMethodReplace(\"System.String::ToUpper()\",\"\",[0],[False],[StringLiteral_0],Default,[])] ToUpper(System.String)", -" [AspectMethodReplace(\"System.String::ToUpper(System.Globalization.CultureInfo)\",\"\",[0],[False],[StringLiteral_0],Default,[])] ToUpper(System.String,System.Globalization.CultureInfo)", -" [AspectMethodReplace(\"System.String::ToUpperInvariant()\",\"\",[0],[False],[StringLiteral_0],Default,[])] ToUpperInvariant(System.String)", -" [AspectMethodReplace(\"System.String::ToLower()\",\"\",[0],[False],[StringLiteral_0],Default,[])] ToLower(System.String)", -" [AspectMethodReplace(\"System.String::ToLower(System.Globalization.CultureInfo)\",\"\",[0],[False],[StringLiteral_0],Default,[])] ToLower(System.String,System.Globalization.CultureInfo)", -" [AspectMethodReplace(\"System.String::ToLowerInvariant()\",\"\",[0],[False],[StringLiteral_0],Default,[])] ToLowerInvariant(System.String)", -" [AspectMethodReplace(\"System.String::Remove(System.Int32)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Remove(System.String,System.Int32)", -" [AspectMethodReplace(\"System.String::Remove(System.Int32,System.Int32)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Remove(System.String,System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.String::Insert(System.Int32,System.String)\",\"\",[0],[False],[StringOptimization],Default,[])] Insert(System.String,System.Int32,System.String)", -" [AspectMethodReplace(\"System.String::PadLeft(System.Int32)\",\"\",[0],[False],[StringLiteral_0],Default,[])] PadLeft(System.String,System.Int32)", -" [AspectMethodReplace(\"System.String::PadLeft(System.Int32,System.Char)\",\"\",[0],[False],[StringLiteral_0],Default,[])] PadLeft(System.String,System.Int32,System.Char)", -" [AspectMethodReplace(\"System.String::PadRight(System.Int32)\",\"\",[0],[False],[StringLiteral_0],Default,[])] PadRight(System.String,System.Int32)", -" [AspectMethodReplace(\"System.String::PadRight(System.Int32,System.Char)\",\"\",[0],[False],[StringLiteral_0],Default,[])] PadRight(System.String,System.Int32,System.Char)", -" [AspectMethodReplace(\"System.String::Format(System.String,System.Object)\",\"\",[0],[False],[StringLiterals],Default,[])] Format(System.String,System.Object)", -" [AspectMethodReplace(\"System.String::Format(System.String,System.Object,System.Object)\",\"\",[0],[False],[StringLiterals],Default,[])] Format(System.String,System.Object,System.Object)", -" [AspectMethodReplace(\"System.String::Format(System.String,System.Object,System.Object,System.Object)\",\"\",[0],[False],[StringLiterals],Default,[])] Format(System.String,System.Object,System.Object,System.Object)", -" [AspectMethodReplace(\"System.String::Format(System.String,System.Object[])\",\"\",[0],[False],[None],Default,[])] Format(System.String,System.Object[])", -" [AspectMethodReplace(\"System.String::Format(System.IFormatProvider,System.String,System.Object)\",\"\",[0],[False],[None],Default,[])] Format(System.IFormatProvider,System.String,System.Object)", -" [AspectMethodReplace(\"System.String::Format(System.IFormatProvider,System.String,System.Object,System.Object)\",\"\",[0],[False],[None],Default,[])] Format(System.IFormatProvider,System.String,System.Object,System.Object)", -" [AspectMethodReplace(\"System.String::Format(System.IFormatProvider,System.String,System.Object,System.Object,System.Object)\",\"\",[0],[False],[None],Default,[])] Format(System.IFormatProvider,System.String,System.Object,System.Object,System.Object)", -" [AspectMethodReplace(\"System.String::Format(System.IFormatProvider,System.String,System.Object[])\",\"\",[0],[False],[None],Default,[])] Format(System.IFormatProvider,System.String,System.Object[])", -" [AspectMethodReplace(\"System.String::Replace(System.String,System.String,System.Boolean,System.Globalization.CultureInfo)\",\"\",[0],[False],[None],Default,[])] Replace(System.String,System.String,System.String,System.Boolean,System.Globalization.CultureInfo)", -" [AspectMethodReplace(\"System.String::Replace(System.String,System.String,System.StringComparison)\",\"\",[0],[False],[None],Default,[])] Replace(System.String,System.String,System.String,System.StringComparison)", -" [AspectMethodReplace(\"System.String::Replace(System.Char,System.Char)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Replace(System.String,System.Char,System.Char)", -" [AspectMethodReplace(\"System.String::Replace(System.String,System.String)\",\"\",[0],[False],[StringLiterals],Default,[])] Replace(System.String,System.String,System.String)", -" [AspectMethodReplace(\"System.String::Split(System.Char[])\",\"\",[0],[False],[StringLiteral_0],Default,[])] Split(System.String,System.Char[])", -" [AspectMethodReplace(\"System.String::Split(System.Char[],System.Int32)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Split(System.String,System.Char[],System.Int32)", -" [AspectMethodReplace(\"System.String::Split(System.Char[],System.StringSplitOptions)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Split(System.String,System.Char[],System.StringSplitOptions)", -" [AspectMethodReplace(\"System.String::Split(System.Char[],System.Int32,System.StringSplitOptions)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Split(System.String,System.Char[],System.Int32,System.StringSplitOptions)", -" [AspectMethodReplace(\"System.String::Split(System.String[],System.StringSplitOptions)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Split(System.String,System.String[],System.StringSplitOptions)", -" [AspectMethodReplace(\"System.String::Split(System.String[],System.Int32,System.StringSplitOptions)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Split(System.String,System.String[],System.Int32,System.StringSplitOptions)", -" [AspectMethodReplace(\"System.String::Split(System.String,System.Int32,System.StringSplitOptions)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Split(System.String,System.String,System.Int32,System.StringSplitOptions)", -" [AspectMethodReplace(\"System.String::Split(System.String,System.StringSplitOptions)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Split(System.String,System.String,System.StringSplitOptions)", -" [AspectMethodReplace(\"System.String::Split(System.Char,System.StringSplitOptions)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Split(System.String,System.Char,System.StringSplitOptions)", -" [AspectMethodReplace(\"System.String::Split(System.Char,System.Int32,System.StringSplitOptions)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Split(System.String,System.Char,System.Int32,System.StringSplitOptions)", -" [AspectMethodReplace(\"System.String::Copy(System.String)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Copy(System.String)", -"[AspectClass(\"mscorlib,netstandard,System.Runtime\",[None],Propagation,[])] Datadog.Trace.Iast.Aspects.System.Text.StringBuilderAspects", -" [AspectCtorReplace(\"System.Text.StringBuilder::.ctor(System.String)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Init(System.String)", -" [AspectCtorReplace(\"System.Text.StringBuilder::.ctor(System.String,System.Int32)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Init(System.String,System.Int32)", -" [AspectCtorReplace(\"System.Text.StringBuilder::.ctor(System.String,System.Int32,System.Int32,System.Int32)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Init(System.String,System.Int32,System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.Object::ToString()\",\"System.Text.StringBuilder\",[0],[False],[None],Default,[])] ToString(System.Object)", -" [AspectMethodReplace(\"System.Text.StringBuilder::ToString(System.Int32,System.Int32)\",\"\",[0],[False],[None],Default,[])] ToString(System.Text.StringBuilder,System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Append(System.String)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Append(System.Text.StringBuilder,System.String)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Append(System.Text.StringBuilder)\",\"\",[0],[False],[None],Default,[])] Append(System.Text.StringBuilder,System.Text.StringBuilder)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Append(System.String,System.Int32,System.Int32)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Append(System.Text.StringBuilder,System.String,System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Append(System.Text.StringBuilder,System.Int32,System.Int32)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Append(System.Text.StringBuilder,System.Text.StringBuilder,System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Append(System.Char[],System.Int32,System.Int32)\",\"\",[0],[False],[None],Default,[])] Append(System.Text.StringBuilder,System.Char[],System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Append(System.Object)\",\"\",[0],[False],[None],Default,[])] Append(System.Text.StringBuilder,System.Object)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Append(System.Char[])\",\"\",[0],[False],[None],Default,[])] Append(System.Text.StringBuilder,System.Char[])", -" [AspectMethodReplace(\"System.Text.StringBuilder::AppendLine(System.String)\",\"\",[0],[False],[StringLiteral_1],Default,[])] AppendLine(System.Text.StringBuilder,System.String)", -" [AspectMethodReplace(\"System.Text.StringBuilder::AppendFormat(System.String,System.Object)\",\"\",[0],[False],[None],Default,[])] AppendFormat(System.Text.StringBuilder,System.String,System.Object)", -" [AspectMethodReplace(\"System.Text.StringBuilder::AppendFormat(System.String,System.Object,System.Object)\",\"\",[0],[False],[None],Default,[])] AppendFormat(System.Text.StringBuilder,System.String,System.Object,System.Object)", -" [AspectMethodReplace(\"System.Text.StringBuilder::AppendFormat(System.String,System.Object,System.Object,System.Object)\",\"\",[0],[False],[None],Default,[])] AppendFormat(System.Text.StringBuilder,System.String,System.Object,System.Object,System.Object)", -" [AspectMethodReplace(\"System.Text.StringBuilder::AppendFormat(System.String,System.Object[])\",\"\",[0],[False],[None],Default,[])] AppendFormat(System.Text.StringBuilder,System.String,System.Object[])", -" [AspectMethodReplace(\"System.Text.StringBuilder::AppendFormat(System.IFormatProvider,System.String,System.Object)\",\"\",[0],[False],[None],Default,[])] AppendFormat(System.Text.StringBuilder,System.IFormatProvider,System.String,System.Object)", -" [AspectMethodReplace(\"System.Text.StringBuilder::AppendFormat(System.IFormatProvider,System.String,System.Object,System.Object)\",\"\",[0],[False],[None],Default,[])] AppendFormat(System.Text.StringBuilder,System.IFormatProvider,System.String,System.Object,System.Object)", -" [AspectMethodReplace(\"System.Text.StringBuilder::AppendFormat(System.IFormatProvider,System.String,System.Object,System.Object,System.Object)\",\"\",[0],[False],[None],Default,[])] AppendFormat(System.Text.StringBuilder,System.IFormatProvider,System.String,System.Object,System.Object,System.Object)", -" [AspectMethodReplace(\"System.Text.StringBuilder::AppendFormat(System.IFormatProvider,System.String,System.Object[])\",\"\",[0],[False],[None],Default,[])] AppendFormat(System.Text.StringBuilder,System.IFormatProvider,System.String,System.Object[])", -" [AspectMethodReplace(\"System.Text.StringBuilder::CopyTo(System.Int32,System.Char[],System.Int32,System.Int32)\",\"\",[0],[False],[None],Default,[])] CopyTo(System.Text.StringBuilder,System.Int32,System.Char[],System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.String)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.String)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.String,System.Int32)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.String,System.Int32)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Char)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Char)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Char[])\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Char[])", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Char[],System.Int32,System.Int32)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Char[],System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Int32)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Int64)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Int64)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Single)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Single)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Double)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Double)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Decimal)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Decimal)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.UInt16)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.UInt16)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.UInt32)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.UInt32)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.UInt64)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.UInt64)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Boolean)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Boolean)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.SByte)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.SByte)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Byte)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Byte)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Int16)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Int16)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Object)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Object)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Remove(System.Int32,System.Int32)\",\"\",[0],[False],[None],Default,[])] Remove(System.Text.StringBuilder,System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Replace(System.String,System.String)\",\"\",[0],[False],[None],Default,[])] Replace(System.Text.StringBuilder,System.String,System.String)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Replace(System.String,System.String,System.Int32,System.Int32)\",\"\",[0],[False],[None],Default,[])] Replace(System.Text.StringBuilder,System.String,System.String,System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Replace(System.Char,System.Char)\",\"\",[0],[False],[None],Default,[])] Replace(System.Text.StringBuilder,System.Char,System.Char)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Replace(System.Char,System.Char,System.Int32,System.Int32)\",\"\",[0],[False],[None],Default,[])] Replace(System.Text.StringBuilder,System.Char,System.Char,System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.Text.StringBuilder::set_Length(System.Int32)\",\"\",[0],[False],[None],Default,[])] SetLength(System.Text.StringBuilder,System.Int32)", -" [AspectMethodReplace(\"System.Text.StringBuilder::AppendJoin(System.String,System.String[])\",\"\",[0],[False],[None],Default,[])] AppendJoin(System.Text.StringBuilder,System.String,System.String[])", -" [AspectMethodReplace(\"System.Text.StringBuilder::AppendJoin(System.String,System.Object[])\",\"\",[0],[False],[None],Default,[])] AppendJoin(System.Text.StringBuilder,System.String,System.Object[])", -" [AspectMethodReplace(\"System.Text.StringBuilder::AppendJoin(System.Char,System.String[])\",\"\",[0],[False],[None],Default,[])] AppendJoin(System.Text.StringBuilder,System.Char,System.String[])", -" [AspectMethodReplace(\"System.Text.StringBuilder::AppendJoin(System.Char,System.Object[])\",\"\",[0],[False],[None],Default,[])] AppendJoin(System.Text.StringBuilder,System.Char,System.Object[])", -" [AspectMethodReplace(\"System.Text.StringBuilder::AppendJoin(System.Char,System.Collections.Generic.IEnumerable`1)\",\"\",[0],[False],[None],Default,[]);V3.2.0] AppendJoin(System.Text.StringBuilder,System.Char,System.Collections.Generic.IEnumerable`1)", -" [AspectMethodReplace(\"System.Text.StringBuilder::AppendJoin(System.String,System.Collections.Generic.IEnumerable`1)\",\"\",[0],[False],[None],Default,[]);V3.2.0] AppendJoin(System.Text.StringBuilder,System.String,System.Collections.Generic.IEnumerable`1)", -"[AspectClass(\"mscorlib,netstandard,System.Runtime\",[None],Sink,[ReflectionInjection])] Datadog.Trace.Iast.Aspects.ActivatorAspect", -" [AspectMethodInsertBefore(\"System.Activator::CreateInstance(System.String,System.String)\",\"\",[1,0],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateInstance(System.String,System.String,System.Object[])\",\"\",[2,1],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateInstance(System.AppDomain,System.String,System.String)\",\"\",[1,0],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateInstance(System.AppDomain,System.String,System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[])\",\"\",[7,6],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateInstance(System.String,System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[])\",\"\",[7,6],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateInstance(System.String,System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[],System.Security.Policy.Evidence)\",\"\",[8,7],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateInstance(System.AppDomain,System.String,System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[],System.Security.Policy.Evidence)\",\"\",[7,6],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateInstanceFrom(System.String,System.String,System.Object[])\",\"\",[2,1],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateInstanceFrom(System.String,System.String)\",\"\",[1,0],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateInstanceFrom(System.AppDomain,System.String,System.String)\",\"\",[1,0],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateInstanceFrom(System.AppDomain,System.String,System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[])\",\"\",[7,6],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateInstanceFrom(System.String,System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[])\",\"\",[7,6],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateInstanceFrom(System.String,System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[],System.Security.Policy.Evidence)\",\"\",[8,7],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateComInstanceFrom(System.String,System.String)\",\"\",[1,0],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateComInstanceFrom(System.String,System.String,System.Byte[],System.Configuration.Assemblies.AssemblyHashAlgorithm)\",\"\",[3,2],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -"[AspectClass(\"mscorlib,netstandard,System.Runtime\",[None],Sink,[ReflectionInjection])] Datadog.Trace.Iast.Aspects.System.Reflection.AssemblyAspect", -" [AspectMethodInsertBefore(\"System.Reflection.Assembly::Load(System.String)\",\"\",[0],[False],[None],Default,[])] ReflectionAssemblyInjection(System.String)", -" [AspectMethodInsertBefore(\"System.Reflection.Assembly::Load(System.String,System.Security.Policy.Evidence)\",\"\",[1],[False],[None],Default,[])] ReflectionAssemblyInjection(System.String)", -" [AspectMethodInsertBefore(\"System.Reflection.Assembly::LoadFrom(System.String)\",\"\",[0],[False],[None],Default,[])] ReflectionAssemblyInjection(System.String)", -" [AspectMethodInsertBefore(\"System.Reflection.Assembly::LoadFrom(System.String,System.Byte[],System.Configuration.Assemblies.AssemblyHashAlgorithm)\",\"\",[2],[False],[None],Default,[])] ReflectionAssemblyInjection(System.String)", -" [AspectMethodInsertBefore(\"System.Reflection.Assembly::LoadFrom(System.String,System.Security.Policy.Evidence,System.Byte[],System.Configuration.Assemblies.AssemblyHashAlgorithm)\",\"\",[3],[False],[None],Default,[])] ReflectionAssemblyInjection(System.String)", -" [AspectMethodInsertBefore(\"System.Reflection.Assembly::LoadFrom(System.String,System.Security.Policy.Evidence)\",\"\",[1],[False],[None],Default,[])] ReflectionAssemblyInjection(System.String)", -" [AspectMethodInsertBefore(\"System.Reflection.AssemblyName::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] ReflectionAssemblyInjection(System.String)", -"[AspectClass(\"mscorlib,netstandard,System.Runtime\",[None],Sink,[ReflectionInjection])] Datadog.Trace.Iast.Aspects.TypeAspect", -" [AspectMethodInsertBefore(\"System.Type::GetType(System.String)\",\"\",[0],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetType(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetType(System.String,System.Boolean,System.Boolean)\",\"\",[2],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetType(System.String,System.Func`2,System.Func`4)\",\"\",[2],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetType(System.String,System.Func`2,System.Func`4,System.Boolean)\",\"\",[3],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetType(System.String,System.Func`2,System.Func`4,System.Boolean,System.Boolean)\",\"\",[4],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Int32,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[])\",\"\",[6],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[])\",\"\",[5],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Int32,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type[],System.Reflection.ParameterModifier[])\",\"\",[5],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Int32,System.Reflection.BindingFlags,System.Type[])\",\"\",[3],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type[],System.Reflection.ParameterModifier[])\",\"\",[4],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Int32,System.Type[],System.Reflection.ParameterModifier[])\",\"\",[3],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String)\",\"\",[0],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Reflection.BindingFlags,System.Type[])\",\"\",[2],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Int32,System.Type[])\",\"\",[2],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Type[])\",\"\",[1],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Reflection.BindingFlags)\",\"\",[1],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Type[],System.Reflection.ParameterModifier[])\",\"\",[2],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[])\",\"\",[4],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Globalization.CultureInfo)\",\"\",[5],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[])\",\"\",[7],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", - }; - - public static string[] GetRaspAspects() => new string[] { -"[AspectClass(\"EntityFramework\",[None],Sink,[SqlInjection])] Datadog.Trace.Iast.Aspects.EntityCommandAspect", -" [AspectMethodInsertBefore(\"System.Data.Entity.Core.EntityClient.EntityCommand::ExecuteReader(System.Data.CommandBehavior)\",\"\",[1],[False],[None],Default,[])] ReviewSqlCommand(System.Object)", -" [AspectMethodInsertBefore(\"System.Data.Entity.Core.EntityClient.EntityCommand::ExecuteReaderAsync(System.Data.CommandBehavior,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewSqlCommand(System.Object)", -" [AspectMethodInsertBefore(\"System.Data.Entity.Core.EntityClient.EntityCommand::ExecuteReaderAsync(System.Data.CommandBehavior)\",\"\",[1],[False],[None],Default,[])] ReviewSqlCommand(System.Object)", -"[AspectClass(\"Microsoft.EntityFrameworkCore.Relational\",[None],Sink,[SqlInjection])] Datadog.Trace.Iast.Aspects.EntityFrameworkCoreAspect", -" [AspectMethodInsertBefore(\"Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions::ExecuteSqlRaw(Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade,System.String,System.Object[])\",\"\",[1],[False],[None],Default,[])] ReviewSqlString(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions::ExecuteSqlRaw(Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade,System.String,System.Collections.Generic.IEnumerable`1)\",\"\",[1],[False],[None],Default,[])] ReviewSqlString(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions::ExecuteSqlRawAsync(Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade,System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewSqlString(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions::ExecuteSqlRawAsync(Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade,System.String,System.Object[])\",\"\",[1],[False],[None],Default,[])] ReviewSqlString(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions::ExecuteSqlRawAsync(Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade,System.String,System.Collections.Generic.IEnumerable`1,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewSqlString(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.EntityFrameworkCore.RelationalQueryableExtensions::FromSqlRaw(Microsoft.EntityFrameworkCore.DbSet`1,System.String,System.Object[])\",\"\",[1],[False],[None],Default,[])] ReviewSqlString(System.String)", -"[AspectClass(\"NHibernate\",[None],Sink,[SqlInjection])] Datadog.Trace.Iast.Aspects.NHibernate.ISessionAspect", -" [AspectMethodInsertBefore(\"NHibernate.ISession::CreateQuery(System.String)\",\"\",[0],[False],[None],Default,[])] AnalyzeQuery(System.String)", -" [AspectMethodInsertBefore(\"NHibernate.ISession::CreateSQLQuery(System.String)\",\"\",[0],[False],[None],Default,[])] AnalyzeQuery(System.String)", -"[AspectClass(\"System.Data,System.Data.Common\",[None],Sink,[SqlInjection])] Datadog.Trace.Iast.Aspects.DbCommandAspect", -" [AspectMethodInsertBefore(\"System.Data.Common.DbCommand::ExecuteNonQueryAsync(System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewExecuteNonQuery(System.Object)", -" [AspectMethodInsertBefore(\"System.Data.Common.DbCommand::ExecuteNonQueryAsync()\",\"\",[0],[False],[None],Default,[])] ReviewExecuteNonQuery(System.Object)", -"[AspectClass(\"System.Net.Http\",[None],Sink,[Ssrf])] Datadog.Trace.Iast.Aspects.System.Net.HttpClientAspect", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStringAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetByteArrayAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStringAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetByteArrayAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStreamAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PatchAsync(System.String,System.Net.Http.HttpContent,System.Threading.CancellationToken) \",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PatchAsync(System.String,System.Net.Http.HttpContent) \",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStreamAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.String,System.Net.Http.HttpCompletionOption)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.String,System.Net.Http.HttpCompletionOption,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PostAsync(System.String,System.Net.Http.HttpContent)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PostAsync(System.String,System.Net.Http.HttpContent,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PutAsync(System.String,System.Net.Http.HttpContent)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PutAsync(System.String,System.Net.Http.HttpContent,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::DeleteAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::DeleteAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStringAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetByteArrayAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetByteArrayAsync(System.Uri,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStringAsync(System.Uri,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStreamAsync(System.Uri,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PatchAsync(System.Uri,System.Net.Http.HttpContent,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PatchAsync(System.Uri,System.Net.Http.HttpContent)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStreamAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.Uri,System.Net.Http.HttpCompletionOption)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.Uri,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.Uri,System.Net.Http.HttpCompletionOption,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PostAsync(System.Uri,System.Net.Http.HttpContent)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PostAsync(System.Uri,System.Net.Http.HttpContent,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PutAsync(System.Uri,System.Net.Http.HttpContent)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PutAsync(System.Uri,System.Net.Http.HttpContent,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::DeleteAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::DeleteAsync(System.Uri,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::set_BaseAddress(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::SendAsync(System.Net.Http.HttpRequestMessage)\",\"\",[0],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::SendAsync(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption)\",\"\",[1],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::SendAsync(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::SendAsync(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::Send(System.Net.Http.HttpRequestMessage)\",\"\",[0],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::Send(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption)\",\"\",[1],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::Send(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpMessageInvoker::Send(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpMessageInvoker::SendAsync(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage)", -"[AspectClass(\"System.Net.Requests,System,netstandard\",[None],Sink,[Ssrf])] Datadog.Trace.Iast.Aspects.System.Net.WebRequestAspect", -" [AspectMethodInsertBefore(\"System.Net.WebRequest::Create(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebRequest::CreateHttp(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebRequest::Create(System.Uri)\",\"\",[0],[False],[None],Default,[])] Review(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebRequest::CreateDefault(System.Uri)\",\"\",[0],[False],[None],Default,[])] Review(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebRequest::CreateHttp(System.Uri)\",\"\",[0],[False],[None],Default,[])] Review(System.Uri)", -"[AspectClass(\"System.Net.WebClient,System\",[None],Sink,[Ssrf])] Datadog.Trace.Iast.Aspects.System.Net.WebClientAspect", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadData(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadDataTaskAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFile(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFileTaskAsync(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadString(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadStringTaskAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenRead(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenReadTaskAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWrite(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWrite(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteTaskAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteTaskAsync(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadData(System.String,System.Byte[])\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadData(System.String,System.String,System.Byte[])\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataTaskAsync(System.String,System.Byte[])\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataTaskAsync(System.String,System.String,System.Byte[])\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFile(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFile(System.String,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileTaskAsync(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileTaskAsync(System.String,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadString(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadString(System.String,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringTaskAsync(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringTaskAsync(System.String,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValues(System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValues(System.String,System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesTaskAsync(System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesTaskAsync(System.String,System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::set_BaseAddress(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadData(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadDataAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadDataAsync(System.Uri,System.Object)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadDataTaskAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFile(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFileAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFileAsync(System.Uri,System.String,System.Object)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFileTaskAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadString(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadStringAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadStringAsync(System.Uri,System.Object)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadStringTaskAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenRead(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenReadAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenReadAsync(System.Uri,System.Object)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenReadTaskAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWrite(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWrite(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteAsync(System.Uri,System.String,System.Object)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteTaskAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteTaskAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadData(System.Uri,System.Byte[])\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadData(System.Uri,System.String,System.Byte[])\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataAsync(System.Uri,System.Byte[])\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataAsync(System.Uri,System.String,System.Byte[])\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataAsync(System.Uri,System.String,System.Byte[],System.Object)\",\"\",[3],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataTaskAsync(System.Uri,System.Byte[])\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataTaskAsync(System.Uri,System.String,System.Byte[])\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFile(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFile(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileAsync(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileAsync(System.Uri,System.String,System.String,System.Object)\",\"\",[3],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileTaskAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileTaskAsync(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadString(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadString(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringAsync(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringAsync(System.Uri,System.String,System.String,System.Object)\",\"\",[3],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringTaskAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringTaskAsync(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValues(System.Uri,System.Collections.Specialized.NameValueCollection)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValues(System.Uri,System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesAsync(System.Uri,System.Collections.Specialized.NameValueCollection)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesAsync(System.Uri,System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesAsync(System.Uri,System.String,System.Collections.Specialized.NameValueCollection,System.Object)\",\"\",[3],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesTaskAsync(System.Uri,System.Collections.Specialized.NameValueCollection)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesTaskAsync(System.Uri,System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.DirectoryAspect", -" [AspectMethodInsertBefore(\"System.IO.Directory::CreateDirectory(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::CreateDirectory(System.String,System.IO.UnixFileMode)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::CreateTempSubdirectory(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::Delete(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::Delete(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetDirectories(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetDirectories(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetDirectories(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetDirectories(System.String,System.String,System.IO.EnumerationOptions)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetDirectoryRoot(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFiles(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFiles(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFiles(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFiles(System.String,System.String,System.IO.EnumerationOptions)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFileSystemEntries(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFileSystemEntries(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFileSystemEntries(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFileSystemEntries(System.String,System.String,System.IO.EnumerationOptions)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::Move(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::SetAccessControl(System.String,System.Security.AccessControl.DirectorySecurity)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateDirectories(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateDirectories(System.String,System.String,System.IO.EnumerationOptions)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateDirectories(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateDirectories(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFiles(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFiles(System.String,System.String,System.IO.EnumerationOptions)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFiles(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFiles(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFileSystemEntries(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFileSystemEntries(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFileSystemEntries(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFileSystemEntries(System.String,System.String,System.IO.EnumerationOptions)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::SetCurrentDirectory(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.DirectoryInfoAspect", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::CreateSubdirectory(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::MoveTo(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetFileSystemInfos(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetFileSystemInfos(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetFileSystemInfos(System.String,System.IO.EnumerationOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetFiles(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetFiles(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetFiles(System.String,System.IO.EnumerationOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetDirectories(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetDirectories(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetDirectories(System.String,System.IO.EnumerationOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateFileSystemInfos(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateFileSystemInfos(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateFileSystemInfos(System.String,System.IO.EnumerationOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateFiles(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateFiles(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateFiles(System.String,System.IO.EnumerationOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateDirectories(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateDirectories(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateDirectories(System.String,System.IO.EnumerationOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.FileAspect", -" [AspectMethodInsertBefore(\"System.IO.File::Create(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::CreateText(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Delete(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::OpenWrite(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllLines(System.String,System.Collections.Generic.IEnumerable`1)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllLines(System.String,System.Collections.Generic.IEnumerable`1,System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllText(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllText(System.String,System.String,System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllText(System.String,System.ReadOnlySpan`1[System.Char])\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllText(System.String,System.ReadOnlySpan`1[System.Char],System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllTextAsync(System.String,System.ReadOnlyMemory`1[System.Char],System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllTextAsync(System.String,System.ReadOnlyMemory`1[System.Char],System.Text.Encoding,System.Threading.CancellationToken)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllTextAsync(System.String,System.String,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllTextAsync(System.String,System.String,System.Text.Encoding,System.Threading.CancellationToken)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllLinesAsync(System.String,System.Collections.Generic.IEnumerable`1,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllLinesAsync(System.String,System.Collections.Generic.IEnumerable`1,System.Text.Encoding,System.Threading.CancellationToken)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendText(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllBytes(System.String,Byte[])\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllBytes(System.String,System.ReadOnlySpan`1[System.Byte]))\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllBytesAsync(System.String, Byte[],System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllBytesAsync(System.String,System.ReadOnlyMemory`1[System.Byte],System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Create(System.String,System.Int32)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Create(System.String,System.Int32,System.IO.FileOptions)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::SetAttributes(System.String,System.IO.FileAttributes)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllBytes(System.String,System.Byte[])\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllBytes(System.String,System.ReadOnlySpan`1[System.Byte])\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllBytesAsync(System.String,System.ReadOnlyMemory`1[System.Byte],System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllBytesAsync(System.String,System.Byte[],System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllLines(System.String,System.String[])\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllLines(System.String,System.String[],System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllLines(System.String,System.Collections.Generic.IEnumerable`1)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllLines(System.String,System.Collections.Generic.IEnumerable`1,System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllLinesAsync(System.String,System.Collections.Generic.IEnumerable`1,System.Text.Encoding,System.Threading.CancellationToken)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllLinesAsync(System.String,System.Collections.Generic.IEnumerable`1,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllText(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllText(System.String,System.String,System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllText(System.String,System.ReadOnlySpan`1[System.Char])\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllText(System.String,System.ReadOnlySpan`1[System.Char],System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllTextAsync(System.String,System.ReadOnlyMemory`1[System.Char],System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllTextAsync(System.String,System.ReadOnlyMemory`1[System.Char],System.Text.Encoding,System.Threading.CancellationToken)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllTextAsync(System.String,System.String,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllTextAsync(System.String,System.String,System.Text.Encoding,System.Threading.CancellationToken)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Copy(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Copy(System.String,System.String,System.Boolean)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Move(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Move(System.String,System.String,System.Boolean)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Replace(System.String,System.String,System.String)\",\"\",[0,1,2],[False,False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Replace(System.String,System.String,System.String,System.Boolean)\",\"\",[1,2,3],[False,False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadLines(System.String,System.Text.Encoding)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllText(System.String,System.Text.Encoding)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadLines(System.String,System.Text.Encoding)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Open(System.String,System.IO.FileMode)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Open(System.String,System.IO.FileMode,System.IO.FileAccess)\",\"\",[2],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Open(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)\",\"\",[3],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::OpenText(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Open(System.String,System.IO.FileStreamOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::OpenHandle(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.IO.FileOptions,System.Int64)\",\"\",[5],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllBytes(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllBytesAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllLines(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllLines(System.String,System.Text.Encoding)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllLinesAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllLinesAsync(System.String,System.Text.Encoding,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllText(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllTextAsync(System.String,System.Text.Encoding,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllTextAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadLines(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadLinesAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadLinesAsync(System.String,System.Text.Encoding,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::OpenRead(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.FileInfoAspect", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::CopyTo(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::CopyTo(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::MoveTo(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::MoveTo(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::Replace(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::Replace(System.String,System.String,System.Boolean)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.FileStreamAspect", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode,System.IO.FileAccess)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.Int32)\",\"\",[4],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.Int32,System.Boolean)\",\"\",[5],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.Int32,System.IO.FileOptions)\",\"\",[5],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileStreamOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.StreamReaderAspect", -" [AspectMethodInsertBefore(\"System.IO.StreamReader::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamReader::.ctor(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamReader::.ctor(System.String,System.Text.Encoding)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamReader::.ctor(System.String,System.Text.Encoding,System.Boolean)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamReader::.ctor(System.String,System.Text.Encoding,System.Boolean,System.Int32)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamReader::.ctor(System.String,System.Text.Encoding,System.Boolean,System.IO.FileStreamOptions)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamReader::.ctor(System.String,System.IO.FileStreamOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.StreamWriterAspect", -" [AspectMethodInsertBefore(\"System.IO.StreamWriter::.ctor(System.String,System.Text.Encoding,System.IO.FileStreamOptions)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamWriter::.ctor(System.String,System.IO.FileStreamOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamWriter::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamWriter::.ctor(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamWriter::.ctor(System.String,System.Boolean,System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamWriter::.ctor(System.String,System.Boolean,System.Text.Encoding,System.Int32)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", - }; - } -} diff --git a/tracer/src/Datadog.Trace/Generated/netcoreapp3.1/Datadog.Trace.SourceGenerators/AspectsDefinitionsGenerator/AspectsDefinitions.g.cs b/tracer/src/Datadog.Trace/Generated/netcoreapp3.1/Datadog.Trace.SourceGenerators/AspectsDefinitionsGenerator/AspectsDefinitions.g.cs deleted file mode 100644 index 629119705497..000000000000 --- a/tracer/src/Datadog.Trace/Generated/netcoreapp3.1/Datadog.Trace.SourceGenerators/AspectsDefinitionsGenerator/AspectsDefinitions.g.cs +++ /dev/null @@ -1,898 +0,0 @@ -// -// Unless explicitly stated otherwise all files in this repository are licensed under the Apache 2 License. -// This product includes software developed at Datadog (https://www.datadoghq.com/). Copyright 2017 Datadog, Inc. -// -// - -#nullable enable - -using System; -using System.Collections; -using System.Collections.Generic; -using System.Linq; - -namespace Datadog.Trace.ClrProfiler -{ - internal static partial class AspectDefinitions - { - public static string[] GetAspects() => new string[] { -"[AspectClass(\"EntityFramework\",[None],Sink,[SqlInjection])] Datadog.Trace.Iast.Aspects.EntityCommandAspect", -" [AspectMethodInsertBefore(\"System.Data.Entity.Core.EntityClient.EntityCommand::ExecuteReader(System.Data.CommandBehavior)\",\"\",[1],[False],[None],Default,[])] ReviewSqlCommand(System.Object)", -" [AspectMethodInsertBefore(\"System.Data.Entity.Core.EntityClient.EntityCommand::ExecuteReaderAsync(System.Data.CommandBehavior,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewSqlCommand(System.Object)", -" [AspectMethodInsertBefore(\"System.Data.Entity.Core.EntityClient.EntityCommand::ExecuteReaderAsync(System.Data.CommandBehavior)\",\"\",[1],[False],[None],Default,[])] ReviewSqlCommand(System.Object)", -"[AspectClass(\"Microsoft.AspNetCore.Http\",[None],Sink,[UnvalidatedRedirect])] Datadog.Trace.Iast.Aspects.AspNetCore.Http.HttpResponseAspect", -" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Http.HttpResponse::Redirect(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Http.HttpResponse::Redirect(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] Redirect(System.String)", -"[AspectClass(\"Microsoft.AspNetCore.Http.Extensions\",[None],Sink,[TrustBoundaryViolation])] Datadog.Trace.Iast.Aspects.System.Web.SessionState.SessionExtensionsAspect", -" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Http.SessionExtensions::SetString(Microsoft.AspNetCore.Http.ISession,System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewTbv(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Http.SessionExtensions::SetInt32(Microsoft.AspNetCore.Http.ISession,System.String,System.Int32)\",\"\",[1],[False],[None],Default,[])] ReviewTbv(System.String)", -"[AspectClass(\"Microsoft.AspNetCore.Mvc\",[None],Sink,[UnvalidatedRedirect])] Datadog.Trace.Iast.Aspects.AspNetCore.Mvc.ControllerBaseAspect", -" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Mvc.ControllerBase::Redirect(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Mvc.ControllerBase::RedirectPermanent(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Mvc.ControllerBase::RedirectPreserveMethod(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Mvc.ControllerBase::RedirectPermanentPreserveMethod(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Mvc.ControllerBase::LocalRedirect(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Mvc.ControllerBase::LocalRedirectPermanent(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Mvc.ControllerBase::LocalRedirectPreserveMethod(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Mvc.ControllerBase::LocalRedirectPermanentPreserveMethod(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String)", -"[AspectClass(\"Microsoft.EntityFrameworkCore.Relational\",[None],Sink,[SqlInjection])] Datadog.Trace.Iast.Aspects.EntityFrameworkCoreAspect", -" [AspectMethodInsertBefore(\"Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions::ExecuteSqlRaw(Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade,System.String,System.Object[])\",\"\",[1],[False],[None],Default,[])] ReviewSqlString(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions::ExecuteSqlRaw(Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade,System.String,System.Collections.Generic.IEnumerable`1)\",\"\",[1],[False],[None],Default,[])] ReviewSqlString(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions::ExecuteSqlRawAsync(Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade,System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewSqlString(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions::ExecuteSqlRawAsync(Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade,System.String,System.Object[])\",\"\",[1],[False],[None],Default,[])] ReviewSqlString(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions::ExecuteSqlRawAsync(Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade,System.String,System.Collections.Generic.IEnumerable`1,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewSqlString(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.EntityFrameworkCore.RelationalQueryableExtensions::FromSqlRaw(Microsoft.EntityFrameworkCore.DbSet`1,System.String,System.Object[])\",\"\",[1],[False],[None],Default,[])] ReviewSqlString(System.String)", -"[AspectClass(\"MongoDB.Bson\",[None],Sink,[NoSqlMongoDbInjection])] Datadog.Trace.Iast.Aspects.MongoDB.BsonAspect", -" [AspectMethodInsertBefore(\"MongoDB.Bson.Serialization.BsonSerializer::Deserialize(System.String,System.Action`1)\",\"\",[1],[False],[None],Default,[])] AnalyzeJsonString(System.String)", -" [AspectMethodInsertBefore(\"MongoDB.Bson.Serialization.BsonSerializer::Deserialize(System.String,System.Type,System.Action`1)\",\"\",[2],[False],[None],Default,[])] AnalyzeJsonString(System.String)", -" [AspectMethodInsertBefore(\"MongoDB.Bson.BsonDocument::Parse(System.String)\",\"\",[0],[False],[None],Default,[])] AnalyzeJsonString(System.String)", -" [AspectMethodInsertBefore(\"MongoDB.Bson.IO.JsonReader::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] AnalyzeJsonString(System.String)", -"[AspectClass(\"MongoDB.Driver\",[None],Sink,[NoSqlMongoDbInjection])] Datadog.Trace.Iast.Aspects.MongoDB.MongoDatabaseAspect", -" [AspectMethodInsertBefore(\"MongoDB.Driver.IMongoDatabase::RunCommand(MongoDB.Driver.Command`1,MongoDB.Driver.ReadPreference,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] AnalyzeCommand(System.Object)", -" [AspectMethodInsertBefore(\"MongoDB.Driver.IMongoDatabase::RunCommandAsync(MongoDB.Driver.Command`1,MongoDB.Driver.ReadPreference,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] AnalyzeCommand(System.Object)", -" [AspectMethodInsertBefore(\"MongoDB.Driver.IMongoCollectionExtensions::Find(MongoDB.Driver.IMongoCollection`1,MongoDB.Driver.FilterDefinition`1,MongoDB.Driver.FindOptions)\",\"\",[1],[False],[None],Default,[])] AnalyzeCommand(System.Object)", -" [AspectMethodInsertBefore(\"MongoDB.Driver.IMongoCollectionExtensions::FindAsync(MongoDB.Driver.IMongoCollection`1,MongoDB.Driver.FilterDefinition`1,MongoDB.Driver.FindOptions`2,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] AnalyzeCommand(System.Object)", -"[AspectClass(\"NHibernate\",[None],Sink,[SqlInjection])] Datadog.Trace.Iast.Aspects.NHibernate.ISessionAspect", -" [AspectMethodInsertBefore(\"NHibernate.ISession::CreateQuery(System.String)\",\"\",[0],[False],[None],Default,[])] AnalyzeQuery(System.String)", -" [AspectMethodInsertBefore(\"NHibernate.ISession::CreateSQLQuery(System.String)\",\"\",[0],[False],[None],Default,[])] AnalyzeQuery(System.String)", -"[AspectClass(\"Newtonsoft.Json\",[None],Propagation,[])] Datadog.Trace.Iast.Aspects.Newtonsoft.Json.NewtonsoftJsonAspects", -" [AspectMethodReplace(\"Newtonsoft.Json.Linq.JObject::Parse(System.String)\",\"\",[0],[False],[None],Default,[])] ParseObject(System.String)", -" [AspectMethodReplace(\"Newtonsoft.Json.Linq.JArray::Parse(System.String)\",\"\",[0],[False],[None],Default,[])] ParseArray(System.String)", -" [AspectMethodReplace(\"Newtonsoft.Json.Linq.JToken::Parse(System.String)\",\"\",[0],[False],[None],Default,[])] ParseToken(System.String)", -"[AspectClass(\"System,System.Net.Mail\",[None],Sink,[EmailHtmlInjection])] Datadog.Trace.Iast.Aspects.SmtpClientAspect", -" [AspectMethodInsertBefore(\"System.Net.Mail.SmtpClient::Send(System.Net.Mail.MailMessage)\",\"\",[0],[False],[None],Default,[])] Send(System.Object)", -" [AspectMethodInsertBefore(\"System.Net.Mail.SmtpClient::SendAsync(System.Net.Mail.MailMessage,System.Object)\",\"\",[1],[False],[None],Default,[])] Send(System.Object)", -" [AspectMethodInsertBefore(\"System.Net.Mail.SmtpClient::SendMailAsync(System.Net.Mail.MailMessage)\",\"\",[0],[False],[None],Default,[])] Send(System.Object)", -" [AspectMethodInsertBefore(\"System.Net.Mail.SmtpClient::SendMailAsync(System.Net.Mail.MailMessage,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] Send(System.Object)", -"[AspectClass(\"System,System.Runtime\",[StringOptimization],Propagation,[])] Datadog.Trace.Iast.Aspects.System.UriAspect", -" [AspectCtorReplace(\"System.Uri::.ctor(System.String)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Init(System.String)", -" [AspectCtorReplace(\"System.Uri::.ctor(System.Uri,System.String,System.Boolean)\",\"\",[0],[False],[None],Default,[])] Init(System.Uri,System.String,System.Boolean)", -" [AspectCtorReplace(\"System.Uri::.ctor(System.Uri,System.String)\",\"\",[0],[False],[None],Default,[])] Init(System.Uri,System.String)", -" [AspectCtorReplace(\"System.Uri::.ctor(System.Uri,System.Uri)\",\"\",[0],[False],[None],Default,[])] Init(System.Uri,System.Uri)", -" [AspectCtorReplace(\"System.Uri::.ctor(System.String,System.Boolean)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Init(System.String,System.Boolean)", -" [AspectCtorReplace(\"System.Uri::.ctor(System.String,System.UriKind)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Init(System.String,System.UriKind)", -" [AspectMethodReplace(\"System.Uri::TryCreate(System.String,System.UriKind,System.Uri)\",\"\",[0],[False],[StringLiteral_0],Default,[])] TryCreate(System.String,System.UriKind,System.Uri)", -" [AspectMethodReplace(\"System.Uri::TryCreate(System.Uri,System.String,System.Uri)\",\"\",[0],[False],[None],Default,[])] TryCreate(System.Uri,System.String,System.Uri)", -" [AspectMethodReplace(\"System.Uri::TryCreate(System.Uri,System.Uri,System.Uri)\",\"\",[0],[False],[None],Default,[])] TryCreate(System.Uri,System.Uri,System.Uri)", -" [AspectMethodReplace(\"System.Uri::UnescapeDataString(System.String)\",\"\",[0],[False],[StringLiteral_0],Default,[])] UnescapeDataString(System.String)", -" [AspectMethodReplace(\"System.Uri::EscapeUriString(System.String)\",\"\",[0],[False],[StringLiteral_0],Default,[])] EscapeUriString(System.String)", -" [AspectMethodReplace(\"System.Uri::EscapeDataString(System.String)\",\"\",[0],[False],[StringLiteral_0],Default,[])] EscapeDataString(System.String)", -" [AspectMethodReplace(\"System.Uri::get_AbsoluteUri()\",\"\",[0],[False],[None],Default,[])] GetAbsoluteUri(System.Uri)", -" [AspectMethodReplace(\"System.Uri::get_AbsolutePath()\",\"\",[0],[False],[None],Default,[])] GetAbsolutePath(System.Uri)", -" [AspectMethodReplace(\"System.Uri::get_LocalPath()\",\"\",[0],[False],[None],Default,[])] GetLocalPath(System.Uri)", -" [AspectMethodReplace(\"System.Uri::MakeRelative(System.Uri)\",\"\",[0],[False],[None],Default,[])] MakeRelative(System.Uri,System.Uri)", -" [AspectMethodReplace(\"System.Uri::MakeRelativeUri(System.Uri)\",\"\",[0],[False],[None],Default,[])] MakeRelativeUri(System.Uri,System.Uri)", -" [AspectMethodReplace(\"System.Uri::get_Host()\",\"\",[0],[False],[None],Default,[])] GetHost(System.Uri)", -" [AspectMethodReplace(\"System.Uri::get_PathAndQuery()\",\"\",[0],[False],[None],Default,[])] GetPathAndQuery(System.Uri)", -" [AspectMethodReplace(\"System.Uri::get_Authority()\",\"\",[0],[False],[None],Default,[])] GetAuthority(System.Uri)", -" [AspectMethodReplace(\"System.Uri::get_Query()\",\"\",[0],[False],[None],Default,[])] GetQuery(System.Uri)", -" [AspectMethodReplace(\"System.Object::ToString()\",\"System.Uri\",[0],[False],[None],Default,[])] ToString(System.Object)", -"[AspectClass(\"System,netstandard,System.Runtime.Extensions,System.Runtime\",[None],Propagation,[])] Datadog.Trace.Iast.Aspects.System.UriBuilderAspect", -" [AspectCtorReplace(\"System.UriBuilder::.ctor(System.String)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Init(System.String)", -" [AspectCtorReplace(\"System.UriBuilder::.ctor(System.Uri)\",\"\",[0],[False],[None],Default,[])] Init(System.Uri)", -" [AspectCtorReplace(\"System.UriBuilder::.ctor(System.String,System.String)\",\"\",[0],[False],[None],Default,[])] Init(System.String,System.String)", -" [AspectCtorReplace(\"System.UriBuilder::.ctor(System.String,System.String,System.Int32)\",\"\",[0],[False],[None],Default,[])] Init(System.String,System.String,System.Int32)", -" [AspectCtorReplace(\"System.UriBuilder::.ctor(System.String,System.String,System.Int32,System.String)\",\"\",[0],[False],[None],Default,[])] Init(System.String,System.String,System.Int32,System.String)", -" [AspectCtorReplace(\"System.UriBuilder::.ctor(System.String,System.String,System.Int32,System.String,System.String)\",\"\",[0],[False],[None],Default,[])] Init(System.String,System.String,System.Int32,System.String,System.String)", -" [AspectMethodReplace(\"System.UriBuilder::set_Host(System.String)\",\"\",[0],[False],[StringLiteral_1],Default,[])] SetHost(System.UriBuilder,System.String)", -" [AspectMethodReplace(\"System.UriBuilder::set_Query(System.String)\",\"\",[0],[False],[StringLiteral_1],Default,[])] SetQuery(System.UriBuilder,System.String)", -" [AspectMethodReplace(\"System.UriBuilder::set_Path(System.String)\",\"\",[0],[False],[StringLiteral_1],Default,[])] SetPath(System.UriBuilder,System.String)", -" [AspectMethodReplace(\"System.UriBuilder::get_Host()\",\"\",[0],[False],[None],Default,[])] GetHost(System.UriBuilder)", -" [AspectMethodReplace(\"System.UriBuilder::get_Query()\",\"\",[0],[False],[None],Default,[])] GetQuery(System.UriBuilder)", -" [AspectMethodReplace(\"System.UriBuilder::get_Path()\",\"\",[0],[False],[None],Default,[])] GetPath(System.UriBuilder)", -" [AspectMethodReplace(\"System.Object::ToString()\",\"System.UriBuilder\",[0],[False],[None],Default,[])] ToString(System.Object)", -"[AspectClass(\"System.Data,System.Data.Common\",[None],Sink,[SqlInjection])] Datadog.Trace.Iast.Aspects.DbCommandAspect", -" [AspectMethodInsertBefore(\"System.Data.Common.DbCommand::ExecuteNonQueryAsync(System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewExecuteNonQuery(System.Object)", -" [AspectMethodInsertBefore(\"System.Data.Common.DbCommand::ExecuteNonQueryAsync()\",\"\",[0],[False],[None],Default,[])] ReviewExecuteNonQuery(System.Object)", -"[AspectClass(\"System.DirectoryServices\",[StringOptimization],Propagation,[])] Datadog.Trace.Iast.Aspects.System.DirectoryServices.DirectoryEntryAspect", -" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectoryEntry::set_Path(System.String)\",\"\",[0],[False],[None],Default,[])] Init(System.String)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectoryEntry::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] Init(System.String)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectoryEntry::.ctor(System.String,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] Init(System.String)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectoryEntry::.ctor(System.String,System.String,System.String,System.DirectoryServices.AuthenticationTypes)\",\"\",[3],[False],[None],Default,[])] Init(System.String)", -"[AspectClass(\"System.DirectoryServices\",[StringOptimization],Propagation,[])] Datadog.Trace.Iast.Aspects.System.DirectoryServices.DirectorySearcherAspect", -" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectorySearcher::set_Filter(System.String)\",\"\",[0],[False],[None],Default,[])] Init(System.String)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectorySearcher::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] Init(System.String)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectorySearcher::.ctor(System.String,System.String[])\",\"\",[1],[False],[None],Default,[])] Init(System.String)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectorySearcher::.ctor(System.String,System.String[],System.DirectoryServices.SearchScope)\",\"\",[2],[False],[None],Default,[])] Init(System.String)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectorySearcher::.ctor(System.DirectoryServices.DirectoryEntry,System.String)\",\"\",[0],[False],[None],Default,[])] Init(System.String)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectorySearcher::.ctor(System.DirectoryServices.DirectoryEntry,System.String,System.String[])\",\"\",[1],[False],[None],Default,[])] Init(System.String)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectorySearcher::.ctor(System.DirectoryServices.DirectoryEntry,System.String,System.String[],System.DirectoryServices.SearchScope)\",\"\",[2],[False],[None],Default,[])] Init(System.String)", -"[AspectClass(\"System.DirectoryServices.AccountManagement\",[StringOptimization],Propagation,[])] Datadog.Trace.Iast.Aspects.System.DirectoryServices.PrincipalContextAspect", -" [AspectMethodInsertBefore(\"System.DirectoryServices.AccountManagement.PrincipalContext::.ctor(System.DirectoryServices.AccountManagement.ContextType,System.String,System.String)\",\"\",[0],[False],[None],Default,[])] Init(System.String)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.AccountManagement.PrincipalContext::.ctor(System.DirectoryServices.AccountManagement.ContextType,System.String,System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Init(System.String)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.AccountManagement.PrincipalContext::.ctor(System.DirectoryServices.AccountManagement.ContextType,System.String,System.String,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] Init(System.String)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.AccountManagement.PrincipalContext::.ctor(System.DirectoryServices.AccountManagement.ContextType,System.String,System.String,System.DirectoryServices.AccountManagement.ContextOptions)\",\"\",[1],[False],[None],Default,[])] Init(System.String)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.AccountManagement.PrincipalContext::.ctor(System.DirectoryServices.AccountManagement.ContextType,System.String,System.String,System.DirectoryServices.AccountManagement.ContextOptions,System.String,System.String)\",\"\",[3],[False],[None],Default,[])] Init(System.String)", -"[AspectClass(\"System.DirectoryServices.Protocols\",[StringOptimization],Propagation,[])] Datadog.Trace.Iast.Aspects.System.DirectoryServices.SearchRequestAspect", -" [AspectMethodInsertBefore(\"System.DirectoryServices.Protocols.SearchRequest::.ctor(System.String,System.String,System.DirectoryServices.Protocols.SearchScope,System.String[])\",\"\",[2],[False],[None],Default,[])] Init(System.Object)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.Protocols.SearchRequest::set_Filter(System.Object)\",\"\",[0],[False],[None],Default,[])] Init(System.Object)", -"[AspectClass(\"System.Net.Http\",[None],Sink,[Ssrf])] Datadog.Trace.Iast.Aspects.System.Net.HttpClientAspect", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStringAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetByteArrayAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStringAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetByteArrayAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStreamAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PatchAsync(System.String,System.Net.Http.HttpContent,System.Threading.CancellationToken) \",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PatchAsync(System.String,System.Net.Http.HttpContent) \",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStreamAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.String,System.Net.Http.HttpCompletionOption)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.String,System.Net.Http.HttpCompletionOption,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PostAsync(System.String,System.Net.Http.HttpContent)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PostAsync(System.String,System.Net.Http.HttpContent,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PutAsync(System.String,System.Net.Http.HttpContent)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PutAsync(System.String,System.Net.Http.HttpContent,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::DeleteAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::DeleteAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStringAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetByteArrayAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetByteArrayAsync(System.Uri,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStringAsync(System.Uri,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStreamAsync(System.Uri,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PatchAsync(System.Uri,System.Net.Http.HttpContent,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PatchAsync(System.Uri,System.Net.Http.HttpContent)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStreamAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.Uri,System.Net.Http.HttpCompletionOption)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.Uri,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.Uri,System.Net.Http.HttpCompletionOption,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PostAsync(System.Uri,System.Net.Http.HttpContent)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PostAsync(System.Uri,System.Net.Http.HttpContent,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PutAsync(System.Uri,System.Net.Http.HttpContent)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PutAsync(System.Uri,System.Net.Http.HttpContent,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::DeleteAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::DeleteAsync(System.Uri,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::set_BaseAddress(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::SendAsync(System.Net.Http.HttpRequestMessage)\",\"\",[0],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::SendAsync(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption)\",\"\",[1],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::SendAsync(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::SendAsync(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::Send(System.Net.Http.HttpRequestMessage)\",\"\",[0],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::Send(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption)\",\"\",[1],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::Send(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpMessageInvoker::Send(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpMessageInvoker::SendAsync(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage)", -"[AspectClass(\"System.Net.Requests,System,netstandard\",[None],Sink,[Ssrf])] Datadog.Trace.Iast.Aspects.System.Net.WebRequestAspect", -" [AspectMethodInsertBefore(\"System.Net.WebRequest::Create(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebRequest::CreateHttp(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebRequest::Create(System.Uri)\",\"\",[0],[False],[None],Default,[])] Review(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebRequest::CreateDefault(System.Uri)\",\"\",[0],[False],[None],Default,[])] Review(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebRequest::CreateHttp(System.Uri)\",\"\",[0],[False],[None],Default,[])] Review(System.Uri)", -"[AspectClass(\"System.Net.WebClient,System\",[None],Sink,[Ssrf])] Datadog.Trace.Iast.Aspects.System.Net.WebClientAspect", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadData(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadDataTaskAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFile(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFileTaskAsync(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadString(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadStringTaskAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenRead(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenReadTaskAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWrite(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWrite(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteTaskAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteTaskAsync(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadData(System.String,System.Byte[])\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadData(System.String,System.String,System.Byte[])\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataTaskAsync(System.String,System.Byte[])\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataTaskAsync(System.String,System.String,System.Byte[])\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFile(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFile(System.String,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileTaskAsync(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileTaskAsync(System.String,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadString(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadString(System.String,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringTaskAsync(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringTaskAsync(System.String,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValues(System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValues(System.String,System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesTaskAsync(System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesTaskAsync(System.String,System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::set_BaseAddress(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadData(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadDataAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadDataAsync(System.Uri,System.Object)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadDataTaskAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFile(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFileAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFileAsync(System.Uri,System.String,System.Object)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFileTaskAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadString(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadStringAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadStringAsync(System.Uri,System.Object)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadStringTaskAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenRead(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenReadAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenReadAsync(System.Uri,System.Object)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenReadTaskAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWrite(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWrite(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteAsync(System.Uri,System.String,System.Object)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteTaskAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteTaskAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadData(System.Uri,System.Byte[])\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadData(System.Uri,System.String,System.Byte[])\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataAsync(System.Uri,System.Byte[])\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataAsync(System.Uri,System.String,System.Byte[])\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataAsync(System.Uri,System.String,System.Byte[],System.Object)\",\"\",[3],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataTaskAsync(System.Uri,System.Byte[])\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataTaskAsync(System.Uri,System.String,System.Byte[])\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFile(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFile(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileAsync(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileAsync(System.Uri,System.String,System.String,System.Object)\",\"\",[3],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileTaskAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileTaskAsync(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadString(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadString(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringAsync(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringAsync(System.Uri,System.String,System.String,System.Object)\",\"\",[3],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringTaskAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringTaskAsync(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValues(System.Uri,System.Collections.Specialized.NameValueCollection)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValues(System.Uri,System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesAsync(System.Uri,System.Collections.Specialized.NameValueCollection)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesAsync(System.Uri,System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesAsync(System.Uri,System.String,System.Collections.Specialized.NameValueCollection,System.Object)\",\"\",[3],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesTaskAsync(System.Uri,System.Collections.Specialized.NameValueCollection)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesTaskAsync(System.Uri,System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -"[AspectClass(\"System.Private.Corelib;System.Runtime\",[None],Sink,[Ssrf])] Datadog.Trace.Iast.Aspects.System.Net.WebUtilityAspect", -" [AspectMethodReplace(\"System.Net.WebUtility::HtmlEncode(System.String)\",\"\",[0],[False],[None],Default,[])] XssEscape(System.String)", -" [AspectMethodReplace(\"System.Net.WebUtility::UrlEncode(System.String)\",\"\",[0],[False],[None],Default,[])] SsrfEscape(System.String)", -"[AspectClass(\"System.Text.Json\",[None],Source,[])] Datadog.Trace.Iast.Aspects.System.Text.Json.JsonDocumentAspects", -" [AspectMethodReplace(\"System.Text.Json.JsonDocument::Parse(System.String,System.Text.Json.JsonDocumentOptions)\",\"\",[0],[False],[None],Default,[]);V2.49.0] Parse(System.String,System.Text.Json.JsonDocumentOptions)", -" [AspectMethodReplace(\"System.Text.Json.JsonElement::GetString()\",\"\",[0],[True],[None],Default,[]);V2.49.0] GetString(System.Object)", -" [AspectMethodReplace(\"System.Text.Json.JsonElement::GetRawText()\",\"\",[0],[True],[None],Default,[]);V2.49.0] GetRawText(System.Object)", -"[AspectClass(\"System.Web\",[None],Sink,[UnvalidatedRedirect])] Datadog.Trace.Iast.Aspects.System.Web.HttpResponseAspect", -" [AspectMethodInsertBefore(\"System.Web.HttpResponse::Redirect(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String)", -" [AspectMethodInsertBefore(\"System.Web.HttpResponse::Redirect(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] Redirect(System.String)", -" [AspectMethodInsertBefore(\"System.Web.HttpResponse::RedirectPermanent(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String)", -" [AspectMethodInsertBefore(\"System.Web.HttpResponse::RedirectPermanent(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] Redirect(System.String)", -"[AspectClass(\"System.Web.Mvc\",[None],Sink,[UnvalidatedRedirect])] Datadog.Trace.Iast.Aspects.System.Web.HttpControllerAspect", -" [AspectMethodInsertBefore(\"System.Web.Mvc.Controller::Redirect(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String)", -" [AspectMethodInsertBefore(\"System.Web.Mvc.Controller::RedirectPermanent(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String)", -"[AspectClass(\"System.Web;System.Runtime.Extensions;System.Web.HttpUtility\",[None],Sink,[Ssrf])] Datadog.Trace.Iast.Aspects.System.Net.HttpUtilityAspect", -" [AspectMethodReplace(\"System.Web.HttpUtility::HtmlEncode(System.String)\",\"\",[0],[False],[None],Default,[])] XssEscape(System.String)", -" [AspectMethodReplace(\"System.Web.HttpUtility::UrlEncode(System.String)\",\"\",[0],[False],[None],Default,[])] SsrfEscape(System.String)", -" [AspectMethodReplace(\"System.Web.HttpUtility::UrlEncode(System.String,System.Text.Encoding)\",\"\",[0],[False],[None],Default,[])] SsrfEscape(System.String,System.Text.Encoding)", -"[AspectClass(\"System.Xml,System.Xml.ReaderWriter,System.Xml.XPath.XDocument\",[None],Sink,[XPathInjection])] Datadog.Trace.Iast.Aspects.SystemXmlAspect", -" [AspectMethodInsertBefore(\"System.Xml.XmlNode::SelectNodes(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XmlNode::SelectNodes(System.String,System.Xml.XmlNamespaceManager)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XmlNode::SelectSingleNode(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XmlNode::SelectSingleNode(System.String,System.Xml.XmlNamespaceManager)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XPath.XPathExpression::Compile(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XPath.XPathExpression::Compile(System.String,System.Xml.IXmlNamespaceResolver)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XPath.XPathNavigator::Evaluate(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XPath.XPathNavigator::Evaluate(System.String,System.Xml.IXmlNamespaceResolver)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XPath.XPathNavigator::SelectSingleNode(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XPath.XPathNavigator::SelectSingleNode(System.String,System.Xml.IXmlNamespaceResolver)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XPath.XPathNavigator::Select(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XPath.XPathNavigator::Select(System.String,System.Xml.IXmlNamespaceResolver)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -"[AspectClass(\"System.Xml.XPath.XDocument,System.Xml.Linq\",[None],Sink,[XPathInjection])] Datadog.Trace.Iast.Aspects.XPathExtensionAspect", -" [AspectMethodInsertBefore(\"System.Xml.XPath.Extensions::XPathEvaluate(System.Xml.Linq.XNode,System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XPath.Extensions::XPathEvaluate(System.Xml.Linq.XNode,System.String,System.Xml.IXmlNamespaceResolver)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XPath.Extensions::XPathSelectElement(System.Xml.Linq.XNode,System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XPath.Extensions::XPathSelectElement(System.Xml.Linq.XNode,System.String,System.Xml.IXmlNamespaceResolver)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XPath.Extensions::XPathSelectElements(System.Xml.Linq.XNode,System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XPath.Extensions::XPathSelectElements(System.Xml.Linq.XNode,System.String,System.Xml.IXmlNamespaceResolver)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.DirectoryAspect", -" [AspectMethodInsertBefore(\"System.IO.Directory::CreateDirectory(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::Delete(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::Delete(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetDirectories(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetDirectories(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetDirectories(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetDirectories(System.String,System.String,System.IO.EnumerationOptions)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetDirectoryRoot(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFiles(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFiles(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFiles(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFiles(System.String,System.String,System.IO.EnumerationOptions)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFileSystemEntries(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFileSystemEntries(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFileSystemEntries(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFileSystemEntries(System.String,System.String,System.IO.EnumerationOptions)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::Move(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::SetAccessControl(System.String,System.Security.AccessControl.DirectorySecurity)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateDirectories(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateDirectories(System.String,System.String,System.IO.EnumerationOptions)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateDirectories(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateDirectories(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFiles(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFiles(System.String,System.String,System.IO.EnumerationOptions)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFiles(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFiles(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFileSystemEntries(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFileSystemEntries(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFileSystemEntries(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFileSystemEntries(System.String,System.String,System.IO.EnumerationOptions)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::SetCurrentDirectory(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.DirectoryInfoAspect", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::CreateSubdirectory(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::MoveTo(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetFileSystemInfos(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetFileSystemInfos(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetFileSystemInfos(System.String,System.IO.EnumerationOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetFiles(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetFiles(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetFiles(System.String,System.IO.EnumerationOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetDirectories(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetDirectories(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetDirectories(System.String,System.IO.EnumerationOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateFileSystemInfos(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateFileSystemInfos(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateFileSystemInfos(System.String,System.IO.EnumerationOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateFiles(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateFiles(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateFiles(System.String,System.IO.EnumerationOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateDirectories(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateDirectories(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateDirectories(System.String,System.IO.EnumerationOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.FileAspect", -" [AspectMethodInsertBefore(\"System.IO.File::Create(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::CreateText(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Delete(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::OpenWrite(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllLines(System.String,System.Collections.Generic.IEnumerable`1)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllLines(System.String,System.Collections.Generic.IEnumerable`1,System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllText(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllText(System.String,System.String,System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllTextAsync(System.String,System.String,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllTextAsync(System.String,System.String,System.Text.Encoding,System.Threading.CancellationToken)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllLinesAsync(System.String,System.Collections.Generic.IEnumerable`1,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllLinesAsync(System.String,System.Collections.Generic.IEnumerable`1,System.Text.Encoding,System.Threading.CancellationToken)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendText(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Create(System.String,System.Int32)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Create(System.String,System.Int32,System.IO.FileOptions)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::SetAttributes(System.String,System.IO.FileAttributes)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllBytes(System.String,System.Byte[])\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllBytesAsync(System.String,System.Byte[],System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllLines(System.String,System.String[])\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllLines(System.String,System.String[],System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllLines(System.String,System.Collections.Generic.IEnumerable`1)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllLines(System.String,System.Collections.Generic.IEnumerable`1,System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllLinesAsync(System.String,System.Collections.Generic.IEnumerable`1,System.Text.Encoding,System.Threading.CancellationToken)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllLinesAsync(System.String,System.Collections.Generic.IEnumerable`1,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllText(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllText(System.String,System.String,System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllTextAsync(System.String,System.String,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllTextAsync(System.String,System.String,System.Text.Encoding,System.Threading.CancellationToken)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Copy(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Copy(System.String,System.String,System.Boolean)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Move(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Move(System.String,System.String,System.Boolean)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Replace(System.String,System.String,System.String)\",\"\",[0,1,2],[False,False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Replace(System.String,System.String,System.String,System.Boolean)\",\"\",[1,2,3],[False,False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadLines(System.String,System.Text.Encoding)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllText(System.String,System.Text.Encoding)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadLines(System.String,System.Text.Encoding)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Open(System.String,System.IO.FileMode)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Open(System.String,System.IO.FileMode,System.IO.FileAccess)\",\"\",[2],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Open(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)\",\"\",[3],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::OpenText(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllBytes(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllBytesAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllLines(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllLines(System.String,System.Text.Encoding)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllLinesAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllLinesAsync(System.String,System.Text.Encoding,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllText(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllTextAsync(System.String,System.Text.Encoding,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllTextAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadLines(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::OpenRead(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.FileInfoAspect", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::CopyTo(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::CopyTo(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::MoveTo(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::MoveTo(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::Replace(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::Replace(System.String,System.String,System.Boolean)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.FileStreamAspect", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode,System.IO.FileAccess)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.Int32)\",\"\",[4],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.Int32,System.Boolean)\",\"\",[5],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.Int32,System.IO.FileOptions)\",\"\",[5],[False],[None],Default,[])] ReviewPath(System.String)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.StreamReaderAspect", -" [AspectMethodInsertBefore(\"System.IO.StreamReader::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamReader::.ctor(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamReader::.ctor(System.String,System.Text.Encoding)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamReader::.ctor(System.String,System.Text.Encoding,System.Boolean)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamReader::.ctor(System.String,System.Text.Encoding,System.Boolean,System.Int32)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.StreamWriterAspect", -" [AspectMethodInsertBefore(\"System.IO.StreamWriter::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamWriter::.ctor(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamWriter::.ctor(System.String,System.Boolean,System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamWriter::.ctor(System.String,System.Boolean,System.Text.Encoding,System.Int32)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", -"[AspectClass(\"mscorlib,System.Runtime.Extensions,System.Runtime\",[None],Sink,[WeakRandomness])] Datadog.Trace.Iast.Aspects.RandomAspect", -" [AspectMethodInsertAfter(\"System.Random::.ctor()\",\"\",[0],[False],[None],Default,[])] Init()", -" [AspectMethodInsertAfter(\"System.Random::.ctor(System.Int32)\",\"\",[0],[False],[None],Default,[])] Init()", -"[AspectClass(\"mscorlib,netstandard,System.Private.CoreLib,System.Runtime\",[StringOptimization],Propagation,[])] Datadog.Trace.Iast.Aspects.System.StringAspects", -" [AspectMethodReplace(\"System.String::Trim()\",\"\",[0],[False],[StringLiteral_0],Default,[])] Trim(System.String)", -" [AspectMethodReplace(\"System.String::Trim(System.Char[])\",\"\",[0],[False],[StringLiteral_0],Default,[])] Trim(System.String,System.Char[])", -" [AspectMethodReplace(\"System.String::Trim(System.Char)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Trim(System.String,System.Char)", -" [AspectMethodReplace(\"System.String::TrimStart(System.Char[])\",\"\",[0],[False],[StringLiteral_0],Default,[])] TrimStart(System.String,System.Char[])", -" [AspectMethodReplace(\"System.String::TrimStart(System.Char)\",\"\",[0],[False],[StringLiteral_0],Default,[])] TrimStart(System.String,System.Char)", -" [AspectMethodReplace(\"System.String::TrimStart()\",\"\",[0],[False],[StringLiteral_0],Default,[])] TrimStart(System.String)", -" [AspectMethodReplace(\"System.String::TrimEnd(System.Char[])\",\"\",[0],[False],[StringLiteral_0],Default,[])] TrimEnd(System.String,System.Char[])", -" [AspectMethodReplace(\"System.String::TrimEnd(System.Char)\",\"\",[0],[False],[StringLiteral_0],Default,[])] TrimEnd(System.String,System.Char)", -" [AspectMethodReplace(\"System.String::TrimEnd()\",\"\",[0],[False],[StringLiteral_0],Default,[])] TrimEnd(System.String)", -" [AspectMethodReplace(\"System.String::Concat(System.String,System.String)\",\"\",[0],[False],[StringLiterals_Any],Default,[])] Concat(System.String,System.String)", -" [AspectMethodReplace(\"System.String::Concat(System.String,System.String)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Concat_0(System.String,System.String)", -" [AspectMethodReplace(\"System.String::Concat(System.String,System.String)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Concat_1(System.String,System.String)", -" [AspectMethodReplace(\"System.String::Concat(System.Object,System.Object)\",\"\",[0],[False],[None],Default,[])] Concat(System.Object,System.Object)", -" [AspectMethodReplace(\"System.String::Concat(System.String,System.String,System.String)\",\"\",[0],[False],[StringLiterals],Default,[])] Concat(System.String,System.String,System.String)", -" [AspectMethodReplace(\"System.String::Concat(System.Object,System.Object,System.Object)\",\"\",[0],[False],[None],Default,[])] Concat(System.Object,System.Object,System.Object)", -" [AspectMethodReplace(\"System.String::Concat(System.String,System.String,System.String,System.String)\",\"\",[0],[False],[StringLiterals],Default,[])] Concat(System.String,System.String,System.String,System.String)", -" [AspectMethodReplace(\"System.String::Concat(System.String[])\",\"\",[0],[False],[None],Default,[])] Concat(System.String[])", -" [AspectMethodReplace(\"System.String::Concat(System.Object[])\",\"\",[0],[False],[None],Default,[])] Concat(System.Object[])", -" [AspectMethodReplace(\"System.String::Concat(System.Collections.Generic.IEnumerable`1)\",\"\",[0],[False],[None],Default,[])] Concat(System.Collections.Generic.IEnumerable`1)", -" [AspectMethodReplace(\"System.String::Concat(System.Collections.Generic.IEnumerable`1)\",\"\",[0],[False],[None],Default,[]);V3.2.0] Concat(System.Collections.Generic.IEnumerable`1)", -" [AspectMethodReplace(\"System.String::Substring(System.Int32)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Substring(System.String,System.Int32)", -" [AspectMethodReplace(\"System.String::Substring(System.Int32,System.Int32)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Substring(System.String,System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.String::ToCharArray()\",\"\",[0],[False],[StringLiteral_0],Default,[])] ToCharArray(System.String)", -" [AspectMethodReplace(\"System.String::ToCharArray(System.Int32,System.Int32)\",\"\",[0],[False],[StringLiteral_0],Default,[])] ToCharArray(System.String,System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.String::Join(System.String,System.String[],System.Int32,System.Int32)\",\"\",[0],[False],[None],Default,[])] Join(System.String,System.String[],System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.String::Join(System.Char,System.String[])\",\"\",[0],[False],[None],Default,[])] Join(System.Char,System.String[])", -" [AspectMethodReplace(\"System.String::Join(System.Char,System.Object[])\",\"\",[0],[False],[None],Default,[])] Join(System.Char,System.Object[])", -" [AspectMethodReplace(\"System.String::Join(System.Char,System.String[],System.Int32,System.Int32)\",\"\",[0],[False],[None],Default,[])] Join(System.Char,System.String[],System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.String::Join(System.Char,System.Collections.Generic.IEnumerable`1)\",\"\",[0],[False],[None],Default,[]);V3.2.0] Join(System.Char,System.Collections.Generic.IEnumerable`1)", -" [AspectMethodReplace(\"System.String::Join(System.String,System.Collections.Generic.IEnumerable`1)\",\"\",[0],[False],[None],Default,[]);V3.2.0] Join(System.String,System.Collections.Generic.IEnumerable`1)", -" [AspectMethodReplace(\"System.String::Join(System.String,System.Object[])\",\"\",[0],[False],[None],Default,[])] Join(System.String,System.Object[])", -" [AspectMethodReplace(\"System.String::Join(System.String,System.String[])\",\"\",[0],[False],[None],Default,[])] Join(System.String,System.String[])", -" [AspectMethodReplace(\"System.String::Join(System.String,System.Collections.Generic.IEnumerable`1)\",\"\",[0],[False],[None],Default,[])] JoinString(System.String,System.Collections.Generic.IEnumerable`1)", -" [AspectMethodReplace(\"System.String::ToUpper()\",\"\",[0],[False],[StringLiteral_0],Default,[])] ToUpper(System.String)", -" [AspectMethodReplace(\"System.String::ToUpper(System.Globalization.CultureInfo)\",\"\",[0],[False],[StringLiteral_0],Default,[])] ToUpper(System.String,System.Globalization.CultureInfo)", -" [AspectMethodReplace(\"System.String::ToUpperInvariant()\",\"\",[0],[False],[StringLiteral_0],Default,[])] ToUpperInvariant(System.String)", -" [AspectMethodReplace(\"System.String::ToLower()\",\"\",[0],[False],[StringLiteral_0],Default,[])] ToLower(System.String)", -" [AspectMethodReplace(\"System.String::ToLower(System.Globalization.CultureInfo)\",\"\",[0],[False],[StringLiteral_0],Default,[])] ToLower(System.String,System.Globalization.CultureInfo)", -" [AspectMethodReplace(\"System.String::ToLowerInvariant()\",\"\",[0],[False],[StringLiteral_0],Default,[])] ToLowerInvariant(System.String)", -" [AspectMethodReplace(\"System.String::Remove(System.Int32)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Remove(System.String,System.Int32)", -" [AspectMethodReplace(\"System.String::Remove(System.Int32,System.Int32)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Remove(System.String,System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.String::Insert(System.Int32,System.String)\",\"\",[0],[False],[StringOptimization],Default,[])] Insert(System.String,System.Int32,System.String)", -" [AspectMethodReplace(\"System.String::PadLeft(System.Int32)\",\"\",[0],[False],[StringLiteral_0],Default,[])] PadLeft(System.String,System.Int32)", -" [AspectMethodReplace(\"System.String::PadLeft(System.Int32,System.Char)\",\"\",[0],[False],[StringLiteral_0],Default,[])] PadLeft(System.String,System.Int32,System.Char)", -" [AspectMethodReplace(\"System.String::PadRight(System.Int32)\",\"\",[0],[False],[StringLiteral_0],Default,[])] PadRight(System.String,System.Int32)", -" [AspectMethodReplace(\"System.String::PadRight(System.Int32,System.Char)\",\"\",[0],[False],[StringLiteral_0],Default,[])] PadRight(System.String,System.Int32,System.Char)", -" [AspectMethodReplace(\"System.String::Format(System.String,System.Object)\",\"\",[0],[False],[StringLiterals],Default,[])] Format(System.String,System.Object)", -" [AspectMethodReplace(\"System.String::Format(System.String,System.Object,System.Object)\",\"\",[0],[False],[StringLiterals],Default,[])] Format(System.String,System.Object,System.Object)", -" [AspectMethodReplace(\"System.String::Format(System.String,System.Object,System.Object,System.Object)\",\"\",[0],[False],[StringLiterals],Default,[])] Format(System.String,System.Object,System.Object,System.Object)", -" [AspectMethodReplace(\"System.String::Format(System.String,System.Object[])\",\"\",[0],[False],[None],Default,[])] Format(System.String,System.Object[])", -" [AspectMethodReplace(\"System.String::Format(System.IFormatProvider,System.String,System.Object)\",\"\",[0],[False],[None],Default,[])] Format(System.IFormatProvider,System.String,System.Object)", -" [AspectMethodReplace(\"System.String::Format(System.IFormatProvider,System.String,System.Object,System.Object)\",\"\",[0],[False],[None],Default,[])] Format(System.IFormatProvider,System.String,System.Object,System.Object)", -" [AspectMethodReplace(\"System.String::Format(System.IFormatProvider,System.String,System.Object,System.Object,System.Object)\",\"\",[0],[False],[None],Default,[])] Format(System.IFormatProvider,System.String,System.Object,System.Object,System.Object)", -" [AspectMethodReplace(\"System.String::Format(System.IFormatProvider,System.String,System.Object[])\",\"\",[0],[False],[None],Default,[])] Format(System.IFormatProvider,System.String,System.Object[])", -" [AspectMethodReplace(\"System.String::Replace(System.String,System.String,System.Boolean,System.Globalization.CultureInfo)\",\"\",[0],[False],[None],Default,[])] Replace(System.String,System.String,System.String,System.Boolean,System.Globalization.CultureInfo)", -" [AspectMethodReplace(\"System.String::Replace(System.String,System.String,System.StringComparison)\",\"\",[0],[False],[None],Default,[])] Replace(System.String,System.String,System.String,System.StringComparison)", -" [AspectMethodReplace(\"System.String::Replace(System.Char,System.Char)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Replace(System.String,System.Char,System.Char)", -" [AspectMethodReplace(\"System.String::Replace(System.String,System.String)\",\"\",[0],[False],[StringLiterals],Default,[])] Replace(System.String,System.String,System.String)", -" [AspectMethodReplace(\"System.String::Split(System.Char[])\",\"\",[0],[False],[StringLiteral_0],Default,[])] Split(System.String,System.Char[])", -" [AspectMethodReplace(\"System.String::Split(System.Char[],System.Int32)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Split(System.String,System.Char[],System.Int32)", -" [AspectMethodReplace(\"System.String::Split(System.Char[],System.StringSplitOptions)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Split(System.String,System.Char[],System.StringSplitOptions)", -" [AspectMethodReplace(\"System.String::Split(System.Char[],System.Int32,System.StringSplitOptions)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Split(System.String,System.Char[],System.Int32,System.StringSplitOptions)", -" [AspectMethodReplace(\"System.String::Split(System.String[],System.StringSplitOptions)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Split(System.String,System.String[],System.StringSplitOptions)", -" [AspectMethodReplace(\"System.String::Split(System.String[],System.Int32,System.StringSplitOptions)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Split(System.String,System.String[],System.Int32,System.StringSplitOptions)", -" [AspectMethodReplace(\"System.String::Split(System.String,System.Int32,System.StringSplitOptions)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Split(System.String,System.String,System.Int32,System.StringSplitOptions)", -" [AspectMethodReplace(\"System.String::Split(System.String,System.StringSplitOptions)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Split(System.String,System.String,System.StringSplitOptions)", -" [AspectMethodReplace(\"System.String::Split(System.Char,System.StringSplitOptions)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Split(System.String,System.Char,System.StringSplitOptions)", -" [AspectMethodReplace(\"System.String::Split(System.Char,System.Int32,System.StringSplitOptions)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Split(System.String,System.Char,System.Int32,System.StringSplitOptions)", -" [AspectMethodReplace(\"System.String::Copy(System.String)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Copy(System.String)", -"[AspectClass(\"mscorlib,netstandard,System.Runtime\",[None],Propagation,[])] Datadog.Trace.Iast.Aspects.System.Text.StringBuilderAspects", -" [AspectCtorReplace(\"System.Text.StringBuilder::.ctor(System.String)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Init(System.String)", -" [AspectCtorReplace(\"System.Text.StringBuilder::.ctor(System.String,System.Int32)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Init(System.String,System.Int32)", -" [AspectCtorReplace(\"System.Text.StringBuilder::.ctor(System.String,System.Int32,System.Int32,System.Int32)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Init(System.String,System.Int32,System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.Object::ToString()\",\"System.Text.StringBuilder\",[0],[False],[None],Default,[])] ToString(System.Object)", -" [AspectMethodReplace(\"System.Text.StringBuilder::ToString(System.Int32,System.Int32)\",\"\",[0],[False],[None],Default,[])] ToString(System.Text.StringBuilder,System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Append(System.String)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Append(System.Text.StringBuilder,System.String)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Append(System.Text.StringBuilder)\",\"\",[0],[False],[None],Default,[])] Append(System.Text.StringBuilder,System.Text.StringBuilder)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Append(System.String,System.Int32,System.Int32)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Append(System.Text.StringBuilder,System.String,System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Append(System.Text.StringBuilder,System.Int32,System.Int32)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Append(System.Text.StringBuilder,System.Text.StringBuilder,System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Append(System.Char[],System.Int32,System.Int32)\",\"\",[0],[False],[None],Default,[])] Append(System.Text.StringBuilder,System.Char[],System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Append(System.Object)\",\"\",[0],[False],[None],Default,[])] Append(System.Text.StringBuilder,System.Object)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Append(System.Char[])\",\"\",[0],[False],[None],Default,[])] Append(System.Text.StringBuilder,System.Char[])", -" [AspectMethodReplace(\"System.Text.StringBuilder::AppendLine(System.String)\",\"\",[0],[False],[StringLiteral_1],Default,[])] AppendLine(System.Text.StringBuilder,System.String)", -" [AspectMethodReplace(\"System.Text.StringBuilder::AppendFormat(System.String,System.Object)\",\"\",[0],[False],[None],Default,[])] AppendFormat(System.Text.StringBuilder,System.String,System.Object)", -" [AspectMethodReplace(\"System.Text.StringBuilder::AppendFormat(System.String,System.Object,System.Object)\",\"\",[0],[False],[None],Default,[])] AppendFormat(System.Text.StringBuilder,System.String,System.Object,System.Object)", -" [AspectMethodReplace(\"System.Text.StringBuilder::AppendFormat(System.String,System.Object,System.Object,System.Object)\",\"\",[0],[False],[None],Default,[])] AppendFormat(System.Text.StringBuilder,System.String,System.Object,System.Object,System.Object)", -" [AspectMethodReplace(\"System.Text.StringBuilder::AppendFormat(System.String,System.Object[])\",\"\",[0],[False],[None],Default,[])] AppendFormat(System.Text.StringBuilder,System.String,System.Object[])", -" [AspectMethodReplace(\"System.Text.StringBuilder::AppendFormat(System.IFormatProvider,System.String,System.Object)\",\"\",[0],[False],[None],Default,[])] AppendFormat(System.Text.StringBuilder,System.IFormatProvider,System.String,System.Object)", -" [AspectMethodReplace(\"System.Text.StringBuilder::AppendFormat(System.IFormatProvider,System.String,System.Object,System.Object)\",\"\",[0],[False],[None],Default,[])] AppendFormat(System.Text.StringBuilder,System.IFormatProvider,System.String,System.Object,System.Object)", -" [AspectMethodReplace(\"System.Text.StringBuilder::AppendFormat(System.IFormatProvider,System.String,System.Object,System.Object,System.Object)\",\"\",[0],[False],[None],Default,[])] AppendFormat(System.Text.StringBuilder,System.IFormatProvider,System.String,System.Object,System.Object,System.Object)", -" [AspectMethodReplace(\"System.Text.StringBuilder::AppendFormat(System.IFormatProvider,System.String,System.Object[])\",\"\",[0],[False],[None],Default,[])] AppendFormat(System.Text.StringBuilder,System.IFormatProvider,System.String,System.Object[])", -" [AspectMethodReplace(\"System.Text.StringBuilder::CopyTo(System.Int32,System.Char[],System.Int32,System.Int32)\",\"\",[0],[False],[None],Default,[])] CopyTo(System.Text.StringBuilder,System.Int32,System.Char[],System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.String)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.String)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.String,System.Int32)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.String,System.Int32)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Char)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Char)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Char[])\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Char[])", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Char[],System.Int32,System.Int32)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Char[],System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Int32)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Int64)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Int64)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Single)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Single)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Double)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Double)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Decimal)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Decimal)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.UInt16)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.UInt16)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.UInt32)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.UInt32)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.UInt64)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.UInt64)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Boolean)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Boolean)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.SByte)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.SByte)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Byte)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Byte)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Int16)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Int16)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Object)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Object)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Remove(System.Int32,System.Int32)\",\"\",[0],[False],[None],Default,[])] Remove(System.Text.StringBuilder,System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Replace(System.String,System.String)\",\"\",[0],[False],[None],Default,[])] Replace(System.Text.StringBuilder,System.String,System.String)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Replace(System.String,System.String,System.Int32,System.Int32)\",\"\",[0],[False],[None],Default,[])] Replace(System.Text.StringBuilder,System.String,System.String,System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Replace(System.Char,System.Char)\",\"\",[0],[False],[None],Default,[])] Replace(System.Text.StringBuilder,System.Char,System.Char)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Replace(System.Char,System.Char,System.Int32,System.Int32)\",\"\",[0],[False],[None],Default,[])] Replace(System.Text.StringBuilder,System.Char,System.Char,System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.Text.StringBuilder::set_Length(System.Int32)\",\"\",[0],[False],[None],Default,[])] SetLength(System.Text.StringBuilder,System.Int32)", -" [AspectMethodReplace(\"System.Text.StringBuilder::AppendJoin(System.String,System.String[])\",\"\",[0],[False],[None],Default,[])] AppendJoin(System.Text.StringBuilder,System.String,System.String[])", -" [AspectMethodReplace(\"System.Text.StringBuilder::AppendJoin(System.String,System.Object[])\",\"\",[0],[False],[None],Default,[])] AppendJoin(System.Text.StringBuilder,System.String,System.Object[])", -" [AspectMethodReplace(\"System.Text.StringBuilder::AppendJoin(System.Char,System.String[])\",\"\",[0],[False],[None],Default,[])] AppendJoin(System.Text.StringBuilder,System.Char,System.String[])", -" [AspectMethodReplace(\"System.Text.StringBuilder::AppendJoin(System.Char,System.Object[])\",\"\",[0],[False],[None],Default,[])] AppendJoin(System.Text.StringBuilder,System.Char,System.Object[])", -" [AspectMethodReplace(\"System.Text.StringBuilder::AppendJoin(System.Char,System.Collections.Generic.IEnumerable`1)\",\"\",[0],[False],[None],Default,[]);V3.2.0] AppendJoin(System.Text.StringBuilder,System.Char,System.Collections.Generic.IEnumerable`1)", -" [AspectMethodReplace(\"System.Text.StringBuilder::AppendJoin(System.String,System.Collections.Generic.IEnumerable`1)\",\"\",[0],[False],[None],Default,[]);V3.2.0] AppendJoin(System.Text.StringBuilder,System.String,System.Collections.Generic.IEnumerable`1)", -"[AspectClass(\"mscorlib,netstandard,System.Runtime\",[None],Sink,[ReflectionInjection])] Datadog.Trace.Iast.Aspects.ActivatorAspect", -" [AspectMethodInsertBefore(\"System.Activator::CreateInstance(System.String,System.String)\",\"\",[1,0],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateInstance(System.String,System.String,System.Object[])\",\"\",[2,1],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateInstance(System.AppDomain,System.String,System.String)\",\"\",[1,0],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateInstance(System.AppDomain,System.String,System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[])\",\"\",[7,6],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateInstance(System.String,System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[])\",\"\",[7,6],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateInstance(System.String,System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[],System.Security.Policy.Evidence)\",\"\",[8,7],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateInstance(System.AppDomain,System.String,System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[],System.Security.Policy.Evidence)\",\"\",[7,6],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateInstanceFrom(System.String,System.String,System.Object[])\",\"\",[2,1],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateInstanceFrom(System.String,System.String)\",\"\",[1,0],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateInstanceFrom(System.AppDomain,System.String,System.String)\",\"\",[1,0],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateInstanceFrom(System.AppDomain,System.String,System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[])\",\"\",[7,6],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateInstanceFrom(System.String,System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[])\",\"\",[7,6],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateInstanceFrom(System.String,System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[],System.Security.Policy.Evidence)\",\"\",[8,7],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateComInstanceFrom(System.String,System.String)\",\"\",[1,0],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateComInstanceFrom(System.String,System.String,System.Byte[],System.Configuration.Assemblies.AssemblyHashAlgorithm)\",\"\",[3,2],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -"[AspectClass(\"mscorlib,netstandard,System.Runtime\",[None],Sink,[ReflectionInjection])] Datadog.Trace.Iast.Aspects.System.Reflection.AssemblyAspect", -" [AspectMethodInsertBefore(\"System.Reflection.Assembly::Load(System.String)\",\"\",[0],[False],[None],Default,[])] ReflectionAssemblyInjection(System.String)", -" [AspectMethodInsertBefore(\"System.Reflection.Assembly::Load(System.String,System.Security.Policy.Evidence)\",\"\",[1],[False],[None],Default,[])] ReflectionAssemblyInjection(System.String)", -" [AspectMethodInsertBefore(\"System.Reflection.Assembly::LoadFrom(System.String)\",\"\",[0],[False],[None],Default,[])] ReflectionAssemblyInjection(System.String)", -" [AspectMethodInsertBefore(\"System.Reflection.Assembly::LoadFrom(System.String,System.Byte[],System.Configuration.Assemblies.AssemblyHashAlgorithm)\",\"\",[2],[False],[None],Default,[])] ReflectionAssemblyInjection(System.String)", -" [AspectMethodInsertBefore(\"System.Reflection.Assembly::LoadFrom(System.String,System.Security.Policy.Evidence,System.Byte[],System.Configuration.Assemblies.AssemblyHashAlgorithm)\",\"\",[3],[False],[None],Default,[])] ReflectionAssemblyInjection(System.String)", -" [AspectMethodInsertBefore(\"System.Reflection.Assembly::LoadFrom(System.String,System.Security.Policy.Evidence)\",\"\",[1],[False],[None],Default,[])] ReflectionAssemblyInjection(System.String)", -" [AspectMethodInsertBefore(\"System.Reflection.AssemblyName::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] ReflectionAssemblyInjection(System.String)", -"[AspectClass(\"mscorlib,netstandard,System.Runtime\",[None],Sink,[ReflectionInjection])] Datadog.Trace.Iast.Aspects.TypeAspect", -" [AspectMethodInsertBefore(\"System.Type::GetType(System.String)\",\"\",[0],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetType(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetType(System.String,System.Boolean,System.Boolean)\",\"\",[2],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetType(System.String,System.Func`2,System.Func`4)\",\"\",[2],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetType(System.String,System.Func`2,System.Func`4,System.Boolean)\",\"\",[3],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetType(System.String,System.Func`2,System.Func`4,System.Boolean,System.Boolean)\",\"\",[4],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Int32,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[])\",\"\",[6],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[])\",\"\",[5],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Int32,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type[],System.Reflection.ParameterModifier[])\",\"\",[5],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Int32,System.Reflection.BindingFlags,System.Type[])\",\"\",[3],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type[],System.Reflection.ParameterModifier[])\",\"\",[4],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Int32,System.Type[],System.Reflection.ParameterModifier[])\",\"\",[3],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String)\",\"\",[0],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Reflection.BindingFlags,System.Type[])\",\"\",[2],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Int32,System.Type[])\",\"\",[2],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Type[])\",\"\",[1],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Reflection.BindingFlags)\",\"\",[1],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Type[],System.Reflection.ParameterModifier[])\",\"\",[2],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[])\",\"\",[4],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Globalization.CultureInfo)\",\"\",[5],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[])\",\"\",[7],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", - }; - - public static string[] GetRaspAspects() => new string[] { -"[AspectClass(\"EntityFramework\",[None],Sink,[SqlInjection])] Datadog.Trace.Iast.Aspects.EntityCommandAspect", -" [AspectMethodInsertBefore(\"System.Data.Entity.Core.EntityClient.EntityCommand::ExecuteReader(System.Data.CommandBehavior)\",\"\",[1],[False],[None],Default,[])] ReviewSqlCommand(System.Object)", -" [AspectMethodInsertBefore(\"System.Data.Entity.Core.EntityClient.EntityCommand::ExecuteReaderAsync(System.Data.CommandBehavior,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewSqlCommand(System.Object)", -" [AspectMethodInsertBefore(\"System.Data.Entity.Core.EntityClient.EntityCommand::ExecuteReaderAsync(System.Data.CommandBehavior)\",\"\",[1],[False],[None],Default,[])] ReviewSqlCommand(System.Object)", -"[AspectClass(\"Microsoft.EntityFrameworkCore.Relational\",[None],Sink,[SqlInjection])] Datadog.Trace.Iast.Aspects.EntityFrameworkCoreAspect", -" [AspectMethodInsertBefore(\"Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions::ExecuteSqlRaw(Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade,System.String,System.Object[])\",\"\",[1],[False],[None],Default,[])] ReviewSqlString(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions::ExecuteSqlRaw(Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade,System.String,System.Collections.Generic.IEnumerable`1)\",\"\",[1],[False],[None],Default,[])] ReviewSqlString(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions::ExecuteSqlRawAsync(Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade,System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewSqlString(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions::ExecuteSqlRawAsync(Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade,System.String,System.Object[])\",\"\",[1],[False],[None],Default,[])] ReviewSqlString(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions::ExecuteSqlRawAsync(Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade,System.String,System.Collections.Generic.IEnumerable`1,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewSqlString(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.EntityFrameworkCore.RelationalQueryableExtensions::FromSqlRaw(Microsoft.EntityFrameworkCore.DbSet`1,System.String,System.Object[])\",\"\",[1],[False],[None],Default,[])] ReviewSqlString(System.String)", -"[AspectClass(\"NHibernate\",[None],Sink,[SqlInjection])] Datadog.Trace.Iast.Aspects.NHibernate.ISessionAspect", -" [AspectMethodInsertBefore(\"NHibernate.ISession::CreateQuery(System.String)\",\"\",[0],[False],[None],Default,[])] AnalyzeQuery(System.String)", -" [AspectMethodInsertBefore(\"NHibernate.ISession::CreateSQLQuery(System.String)\",\"\",[0],[False],[None],Default,[])] AnalyzeQuery(System.String)", -"[AspectClass(\"System.Data,System.Data.Common\",[None],Sink,[SqlInjection])] Datadog.Trace.Iast.Aspects.DbCommandAspect", -" [AspectMethodInsertBefore(\"System.Data.Common.DbCommand::ExecuteNonQueryAsync(System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewExecuteNonQuery(System.Object)", -" [AspectMethodInsertBefore(\"System.Data.Common.DbCommand::ExecuteNonQueryAsync()\",\"\",[0],[False],[None],Default,[])] ReviewExecuteNonQuery(System.Object)", -"[AspectClass(\"System.Net.Http\",[None],Sink,[Ssrf])] Datadog.Trace.Iast.Aspects.System.Net.HttpClientAspect", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStringAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetByteArrayAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStringAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetByteArrayAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStreamAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PatchAsync(System.String,System.Net.Http.HttpContent,System.Threading.CancellationToken) \",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PatchAsync(System.String,System.Net.Http.HttpContent) \",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStreamAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.String,System.Net.Http.HttpCompletionOption)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.String,System.Net.Http.HttpCompletionOption,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PostAsync(System.String,System.Net.Http.HttpContent)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PostAsync(System.String,System.Net.Http.HttpContent,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PutAsync(System.String,System.Net.Http.HttpContent)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PutAsync(System.String,System.Net.Http.HttpContent,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::DeleteAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::DeleteAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStringAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetByteArrayAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetByteArrayAsync(System.Uri,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStringAsync(System.Uri,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStreamAsync(System.Uri,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PatchAsync(System.Uri,System.Net.Http.HttpContent,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PatchAsync(System.Uri,System.Net.Http.HttpContent)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStreamAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.Uri,System.Net.Http.HttpCompletionOption)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.Uri,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.Uri,System.Net.Http.HttpCompletionOption,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PostAsync(System.Uri,System.Net.Http.HttpContent)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PostAsync(System.Uri,System.Net.Http.HttpContent,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PutAsync(System.Uri,System.Net.Http.HttpContent)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PutAsync(System.Uri,System.Net.Http.HttpContent,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::DeleteAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::DeleteAsync(System.Uri,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::set_BaseAddress(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::SendAsync(System.Net.Http.HttpRequestMessage)\",\"\",[0],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::SendAsync(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption)\",\"\",[1],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::SendAsync(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::SendAsync(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::Send(System.Net.Http.HttpRequestMessage)\",\"\",[0],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::Send(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption)\",\"\",[1],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::Send(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpMessageInvoker::Send(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpMessageInvoker::SendAsync(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage)", -"[AspectClass(\"System.Net.Requests,System,netstandard\",[None],Sink,[Ssrf])] Datadog.Trace.Iast.Aspects.System.Net.WebRequestAspect", -" [AspectMethodInsertBefore(\"System.Net.WebRequest::Create(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebRequest::CreateHttp(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebRequest::Create(System.Uri)\",\"\",[0],[False],[None],Default,[])] Review(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebRequest::CreateDefault(System.Uri)\",\"\",[0],[False],[None],Default,[])] Review(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebRequest::CreateHttp(System.Uri)\",\"\",[0],[False],[None],Default,[])] Review(System.Uri)", -"[AspectClass(\"System.Net.WebClient,System\",[None],Sink,[Ssrf])] Datadog.Trace.Iast.Aspects.System.Net.WebClientAspect", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadData(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadDataTaskAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFile(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFileTaskAsync(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadString(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadStringTaskAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenRead(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenReadTaskAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWrite(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWrite(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteTaskAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteTaskAsync(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadData(System.String,System.Byte[])\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadData(System.String,System.String,System.Byte[])\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataTaskAsync(System.String,System.Byte[])\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataTaskAsync(System.String,System.String,System.Byte[])\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFile(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFile(System.String,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileTaskAsync(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileTaskAsync(System.String,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadString(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadString(System.String,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringTaskAsync(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringTaskAsync(System.String,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValues(System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValues(System.String,System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesTaskAsync(System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesTaskAsync(System.String,System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::set_BaseAddress(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadData(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadDataAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadDataAsync(System.Uri,System.Object)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadDataTaskAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFile(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFileAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFileAsync(System.Uri,System.String,System.Object)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFileTaskAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadString(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadStringAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadStringAsync(System.Uri,System.Object)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadStringTaskAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenRead(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenReadAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenReadAsync(System.Uri,System.Object)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenReadTaskAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWrite(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWrite(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteAsync(System.Uri,System.String,System.Object)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteTaskAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteTaskAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadData(System.Uri,System.Byte[])\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadData(System.Uri,System.String,System.Byte[])\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataAsync(System.Uri,System.Byte[])\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataAsync(System.Uri,System.String,System.Byte[])\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataAsync(System.Uri,System.String,System.Byte[],System.Object)\",\"\",[3],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataTaskAsync(System.Uri,System.Byte[])\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataTaskAsync(System.Uri,System.String,System.Byte[])\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFile(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFile(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileAsync(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileAsync(System.Uri,System.String,System.String,System.Object)\",\"\",[3],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileTaskAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileTaskAsync(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadString(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadString(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringAsync(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringAsync(System.Uri,System.String,System.String,System.Object)\",\"\",[3],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringTaskAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringTaskAsync(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValues(System.Uri,System.Collections.Specialized.NameValueCollection)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValues(System.Uri,System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesAsync(System.Uri,System.Collections.Specialized.NameValueCollection)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesAsync(System.Uri,System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesAsync(System.Uri,System.String,System.Collections.Specialized.NameValueCollection,System.Object)\",\"\",[3],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesTaskAsync(System.Uri,System.Collections.Specialized.NameValueCollection)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesTaskAsync(System.Uri,System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.DirectoryAspect", -" [AspectMethodInsertBefore(\"System.IO.Directory::CreateDirectory(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::Delete(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::Delete(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetDirectories(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetDirectories(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetDirectories(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetDirectories(System.String,System.String,System.IO.EnumerationOptions)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetDirectoryRoot(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFiles(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFiles(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFiles(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFiles(System.String,System.String,System.IO.EnumerationOptions)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFileSystemEntries(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFileSystemEntries(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFileSystemEntries(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFileSystemEntries(System.String,System.String,System.IO.EnumerationOptions)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::Move(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::SetAccessControl(System.String,System.Security.AccessControl.DirectorySecurity)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateDirectories(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateDirectories(System.String,System.String,System.IO.EnumerationOptions)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateDirectories(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateDirectories(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFiles(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFiles(System.String,System.String,System.IO.EnumerationOptions)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFiles(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFiles(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFileSystemEntries(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFileSystemEntries(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFileSystemEntries(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFileSystemEntries(System.String,System.String,System.IO.EnumerationOptions)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::SetCurrentDirectory(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.DirectoryInfoAspect", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::CreateSubdirectory(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::MoveTo(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetFileSystemInfos(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetFileSystemInfos(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetFileSystemInfos(System.String,System.IO.EnumerationOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetFiles(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetFiles(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetFiles(System.String,System.IO.EnumerationOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetDirectories(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetDirectories(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetDirectories(System.String,System.IO.EnumerationOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateFileSystemInfos(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateFileSystemInfos(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateFileSystemInfos(System.String,System.IO.EnumerationOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateFiles(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateFiles(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateFiles(System.String,System.IO.EnumerationOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateDirectories(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateDirectories(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateDirectories(System.String,System.IO.EnumerationOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.FileAspect", -" [AspectMethodInsertBefore(\"System.IO.File::Create(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::CreateText(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Delete(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::OpenWrite(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllLines(System.String,System.Collections.Generic.IEnumerable`1)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllLines(System.String,System.Collections.Generic.IEnumerable`1,System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllText(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllText(System.String,System.String,System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllTextAsync(System.String,System.String,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllTextAsync(System.String,System.String,System.Text.Encoding,System.Threading.CancellationToken)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllLinesAsync(System.String,System.Collections.Generic.IEnumerable`1,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllLinesAsync(System.String,System.Collections.Generic.IEnumerable`1,System.Text.Encoding,System.Threading.CancellationToken)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendText(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Create(System.String,System.Int32)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Create(System.String,System.Int32,System.IO.FileOptions)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::SetAttributes(System.String,System.IO.FileAttributes)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllBytes(System.String,System.Byte[])\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllBytesAsync(System.String,System.Byte[],System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllLines(System.String,System.String[])\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllLines(System.String,System.String[],System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllLines(System.String,System.Collections.Generic.IEnumerable`1)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllLines(System.String,System.Collections.Generic.IEnumerable`1,System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllLinesAsync(System.String,System.Collections.Generic.IEnumerable`1,System.Text.Encoding,System.Threading.CancellationToken)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllLinesAsync(System.String,System.Collections.Generic.IEnumerable`1,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllText(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllText(System.String,System.String,System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllTextAsync(System.String,System.String,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllTextAsync(System.String,System.String,System.Text.Encoding,System.Threading.CancellationToken)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Copy(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Copy(System.String,System.String,System.Boolean)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Move(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Move(System.String,System.String,System.Boolean)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Replace(System.String,System.String,System.String)\",\"\",[0,1,2],[False,False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Replace(System.String,System.String,System.String,System.Boolean)\",\"\",[1,2,3],[False,False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadLines(System.String,System.Text.Encoding)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllText(System.String,System.Text.Encoding)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadLines(System.String,System.Text.Encoding)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Open(System.String,System.IO.FileMode)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Open(System.String,System.IO.FileMode,System.IO.FileAccess)\",\"\",[2],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Open(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)\",\"\",[3],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::OpenText(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllBytes(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllBytesAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllLines(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllLines(System.String,System.Text.Encoding)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllLinesAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllLinesAsync(System.String,System.Text.Encoding,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllText(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllTextAsync(System.String,System.Text.Encoding,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllTextAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadLines(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::OpenRead(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.FileInfoAspect", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::CopyTo(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::CopyTo(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::MoveTo(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::MoveTo(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::Replace(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::Replace(System.String,System.String,System.Boolean)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.FileStreamAspect", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode,System.IO.FileAccess)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.Int32)\",\"\",[4],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.Int32,System.Boolean)\",\"\",[5],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.Int32,System.IO.FileOptions)\",\"\",[5],[False],[None],Default,[])] ReviewPath(System.String)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.StreamReaderAspect", -" [AspectMethodInsertBefore(\"System.IO.StreamReader::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamReader::.ctor(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamReader::.ctor(System.String,System.Text.Encoding)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamReader::.ctor(System.String,System.Text.Encoding,System.Boolean)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamReader::.ctor(System.String,System.Text.Encoding,System.Boolean,System.Int32)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.StreamWriterAspect", -" [AspectMethodInsertBefore(\"System.IO.StreamWriter::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamWriter::.ctor(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamWriter::.ctor(System.String,System.Boolean,System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamWriter::.ctor(System.String,System.Boolean,System.Text.Encoding,System.Int32)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", - }; - } -} diff --git a/tracer/src/Datadog.Trace/Generated/netstandard2.0/Datadog.Trace.SourceGenerators/AspectsDefinitionsGenerator/AspectsDefinitions.g.cs b/tracer/src/Datadog.Trace/Generated/netstandard2.0/Datadog.Trace.SourceGenerators/AspectsDefinitionsGenerator/AspectsDefinitions.g.cs deleted file mode 100644 index 397fb6c584d3..000000000000 --- a/tracer/src/Datadog.Trace/Generated/netstandard2.0/Datadog.Trace.SourceGenerators/AspectsDefinitionsGenerator/AspectsDefinitions.g.cs +++ /dev/null @@ -1,856 +0,0 @@ -// -// Unless explicitly stated otherwise all files in this repository are licensed under the Apache 2 License. -// This product includes software developed at Datadog (https://www.datadoghq.com/). Copyright 2017 Datadog, Inc. -// -// - -#nullable enable - -using System; -using System.Collections; -using System.Collections.Generic; -using System.Linq; - -namespace Datadog.Trace.ClrProfiler -{ - internal static partial class AspectDefinitions - { - public static string[] GetAspects() => new string[] { -"[AspectClass(\"EntityFramework\",[None],Sink,[SqlInjection])] Datadog.Trace.Iast.Aspects.EntityCommandAspect", -" [AspectMethodInsertBefore(\"System.Data.Entity.Core.EntityClient.EntityCommand::ExecuteReader(System.Data.CommandBehavior)\",\"\",[1],[False],[None],Default,[])] ReviewSqlCommand(System.Object)", -" [AspectMethodInsertBefore(\"System.Data.Entity.Core.EntityClient.EntityCommand::ExecuteReaderAsync(System.Data.CommandBehavior,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewSqlCommand(System.Object)", -" [AspectMethodInsertBefore(\"System.Data.Entity.Core.EntityClient.EntityCommand::ExecuteReaderAsync(System.Data.CommandBehavior)\",\"\",[1],[False],[None],Default,[])] ReviewSqlCommand(System.Object)", -"[AspectClass(\"Microsoft.AspNetCore.Http\",[None],Sink,[UnvalidatedRedirect])] Datadog.Trace.Iast.Aspects.AspNetCore.Http.HttpResponseAspect", -" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Http.HttpResponse::Redirect(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Http.HttpResponse::Redirect(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] Redirect(System.String)", -"[AspectClass(\"Microsoft.AspNetCore.Http.Extensions\",[None],Sink,[TrustBoundaryViolation])] Datadog.Trace.Iast.Aspects.System.Web.SessionState.SessionExtensionsAspect", -" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Http.SessionExtensions::SetString(Microsoft.AspNetCore.Http.ISession,System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewTbv(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Http.SessionExtensions::SetInt32(Microsoft.AspNetCore.Http.ISession,System.String,System.Int32)\",\"\",[1],[False],[None],Default,[])] ReviewTbv(System.String)", -"[AspectClass(\"Microsoft.AspNetCore.Mvc\",[None],Sink,[UnvalidatedRedirect])] Datadog.Trace.Iast.Aspects.AspNetCore.Mvc.ControllerBaseAspect", -" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Mvc.ControllerBase::Redirect(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Mvc.ControllerBase::RedirectPermanent(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Mvc.ControllerBase::RedirectPreserveMethod(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Mvc.ControllerBase::RedirectPermanentPreserveMethod(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Mvc.ControllerBase::LocalRedirect(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Mvc.ControllerBase::LocalRedirectPermanent(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Mvc.ControllerBase::LocalRedirectPreserveMethod(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Mvc.ControllerBase::LocalRedirectPermanentPreserveMethod(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String)", -"[AspectClass(\"Microsoft.EntityFrameworkCore.Relational\",[None],Sink,[SqlInjection])] Datadog.Trace.Iast.Aspects.EntityFrameworkCoreAspect", -" [AspectMethodInsertBefore(\"Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions::ExecuteSqlRaw(Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade,System.String,System.Object[])\",\"\",[1],[False],[None],Default,[])] ReviewSqlString(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions::ExecuteSqlRaw(Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade,System.String,System.Collections.Generic.IEnumerable`1)\",\"\",[1],[False],[None],Default,[])] ReviewSqlString(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions::ExecuteSqlRawAsync(Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade,System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewSqlString(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions::ExecuteSqlRawAsync(Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade,System.String,System.Object[])\",\"\",[1],[False],[None],Default,[])] ReviewSqlString(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions::ExecuteSqlRawAsync(Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade,System.String,System.Collections.Generic.IEnumerable`1,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewSqlString(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.EntityFrameworkCore.RelationalQueryableExtensions::FromSqlRaw(Microsoft.EntityFrameworkCore.DbSet`1,System.String,System.Object[])\",\"\",[1],[False],[None],Default,[])] ReviewSqlString(System.String)", -"[AspectClass(\"MongoDB.Bson\",[None],Sink,[NoSqlMongoDbInjection])] Datadog.Trace.Iast.Aspects.MongoDB.BsonAspect", -" [AspectMethodInsertBefore(\"MongoDB.Bson.Serialization.BsonSerializer::Deserialize(System.String,System.Action`1)\",\"\",[1],[False],[None],Default,[])] AnalyzeJsonString(System.String)", -" [AspectMethodInsertBefore(\"MongoDB.Bson.Serialization.BsonSerializer::Deserialize(System.String,System.Type,System.Action`1)\",\"\",[2],[False],[None],Default,[])] AnalyzeJsonString(System.String)", -" [AspectMethodInsertBefore(\"MongoDB.Bson.BsonDocument::Parse(System.String)\",\"\",[0],[False],[None],Default,[])] AnalyzeJsonString(System.String)", -" [AspectMethodInsertBefore(\"MongoDB.Bson.IO.JsonReader::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] AnalyzeJsonString(System.String)", -"[AspectClass(\"MongoDB.Driver\",[None],Sink,[NoSqlMongoDbInjection])] Datadog.Trace.Iast.Aspects.MongoDB.MongoDatabaseAspect", -" [AspectMethodInsertBefore(\"MongoDB.Driver.IMongoDatabase::RunCommand(MongoDB.Driver.Command`1,MongoDB.Driver.ReadPreference,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] AnalyzeCommand(System.Object)", -" [AspectMethodInsertBefore(\"MongoDB.Driver.IMongoDatabase::RunCommandAsync(MongoDB.Driver.Command`1,MongoDB.Driver.ReadPreference,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] AnalyzeCommand(System.Object)", -" [AspectMethodInsertBefore(\"MongoDB.Driver.IMongoCollectionExtensions::Find(MongoDB.Driver.IMongoCollection`1,MongoDB.Driver.FilterDefinition`1,MongoDB.Driver.FindOptions)\",\"\",[1],[False],[None],Default,[])] AnalyzeCommand(System.Object)", -" [AspectMethodInsertBefore(\"MongoDB.Driver.IMongoCollectionExtensions::FindAsync(MongoDB.Driver.IMongoCollection`1,MongoDB.Driver.FilterDefinition`1,MongoDB.Driver.FindOptions`2,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] AnalyzeCommand(System.Object)", -"[AspectClass(\"NHibernate\",[None],Sink,[SqlInjection])] Datadog.Trace.Iast.Aspects.NHibernate.ISessionAspect", -" [AspectMethodInsertBefore(\"NHibernate.ISession::CreateQuery(System.String)\",\"\",[0],[False],[None],Default,[])] AnalyzeQuery(System.String)", -" [AspectMethodInsertBefore(\"NHibernate.ISession::CreateSQLQuery(System.String)\",\"\",[0],[False],[None],Default,[])] AnalyzeQuery(System.String)", -"[AspectClass(\"Newtonsoft.Json\",[None],Propagation,[])] Datadog.Trace.Iast.Aspects.Newtonsoft.Json.NewtonsoftJsonAspects", -" [AspectMethodReplace(\"Newtonsoft.Json.Linq.JObject::Parse(System.String)\",\"\",[0],[False],[None],Default,[])] ParseObject(System.String)", -" [AspectMethodReplace(\"Newtonsoft.Json.Linq.JArray::Parse(System.String)\",\"\",[0],[False],[None],Default,[])] ParseArray(System.String)", -" [AspectMethodReplace(\"Newtonsoft.Json.Linq.JToken::Parse(System.String)\",\"\",[0],[False],[None],Default,[])] ParseToken(System.String)", -"[AspectClass(\"System,System.Net.Mail\",[None],Sink,[EmailHtmlInjection])] Datadog.Trace.Iast.Aspects.SmtpClientAspect", -" [AspectMethodInsertBefore(\"System.Net.Mail.SmtpClient::Send(System.Net.Mail.MailMessage)\",\"\",[0],[False],[None],Default,[])] Send(System.Object)", -" [AspectMethodInsertBefore(\"System.Net.Mail.SmtpClient::SendAsync(System.Net.Mail.MailMessage,System.Object)\",\"\",[1],[False],[None],Default,[])] Send(System.Object)", -" [AspectMethodInsertBefore(\"System.Net.Mail.SmtpClient::SendMailAsync(System.Net.Mail.MailMessage)\",\"\",[0],[False],[None],Default,[])] Send(System.Object)", -"[AspectClass(\"System,System.Runtime\",[StringOptimization],Propagation,[])] Datadog.Trace.Iast.Aspects.System.UriAspect", -" [AspectCtorReplace(\"System.Uri::.ctor(System.String)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Init(System.String)", -" [AspectCtorReplace(\"System.Uri::.ctor(System.Uri,System.String,System.Boolean)\",\"\",[0],[False],[None],Default,[])] Init(System.Uri,System.String,System.Boolean)", -" [AspectCtorReplace(\"System.Uri::.ctor(System.Uri,System.String)\",\"\",[0],[False],[None],Default,[])] Init(System.Uri,System.String)", -" [AspectCtorReplace(\"System.Uri::.ctor(System.Uri,System.Uri)\",\"\",[0],[False],[None],Default,[])] Init(System.Uri,System.Uri)", -" [AspectCtorReplace(\"System.Uri::.ctor(System.String,System.Boolean)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Init(System.String,System.Boolean)", -" [AspectCtorReplace(\"System.Uri::.ctor(System.String,System.UriKind)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Init(System.String,System.UriKind)", -" [AspectMethodReplace(\"System.Uri::TryCreate(System.String,System.UriKind,System.Uri)\",\"\",[0],[False],[StringLiteral_0],Default,[])] TryCreate(System.String,System.UriKind,System.Uri)", -" [AspectMethodReplace(\"System.Uri::TryCreate(System.Uri,System.String,System.Uri)\",\"\",[0],[False],[None],Default,[])] TryCreate(System.Uri,System.String,System.Uri)", -" [AspectMethodReplace(\"System.Uri::TryCreate(System.Uri,System.Uri,System.Uri)\",\"\",[0],[False],[None],Default,[])] TryCreate(System.Uri,System.Uri,System.Uri)", -" [AspectMethodReplace(\"System.Uri::UnescapeDataString(System.String)\",\"\",[0],[False],[StringLiteral_0],Default,[])] UnescapeDataString(System.String)", -" [AspectMethodReplace(\"System.Uri::EscapeUriString(System.String)\",\"\",[0],[False],[StringLiteral_0],Default,[])] EscapeUriString(System.String)", -" [AspectMethodReplace(\"System.Uri::EscapeDataString(System.String)\",\"\",[0],[False],[StringLiteral_0],Default,[])] EscapeDataString(System.String)", -" [AspectMethodReplace(\"System.Uri::get_AbsoluteUri()\",\"\",[0],[False],[None],Default,[])] GetAbsoluteUri(System.Uri)", -" [AspectMethodReplace(\"System.Uri::get_AbsolutePath()\",\"\",[0],[False],[None],Default,[])] GetAbsolutePath(System.Uri)", -" [AspectMethodReplace(\"System.Uri::get_LocalPath()\",\"\",[0],[False],[None],Default,[])] GetLocalPath(System.Uri)", -" [AspectMethodReplace(\"System.Uri::MakeRelative(System.Uri)\",\"\",[0],[False],[None],Default,[])] MakeRelative(System.Uri,System.Uri)", -" [AspectMethodReplace(\"System.Uri::MakeRelativeUri(System.Uri)\",\"\",[0],[False],[None],Default,[])] MakeRelativeUri(System.Uri,System.Uri)", -" [AspectMethodReplace(\"System.Uri::get_Host()\",\"\",[0],[False],[None],Default,[])] GetHost(System.Uri)", -" [AspectMethodReplace(\"System.Uri::get_PathAndQuery()\",\"\",[0],[False],[None],Default,[])] GetPathAndQuery(System.Uri)", -" [AspectMethodReplace(\"System.Uri::get_Authority()\",\"\",[0],[False],[None],Default,[])] GetAuthority(System.Uri)", -" [AspectMethodReplace(\"System.Uri::get_Query()\",\"\",[0],[False],[None],Default,[])] GetQuery(System.Uri)", -" [AspectMethodReplace(\"System.Object::ToString()\",\"System.Uri\",[0],[False],[None],Default,[])] ToString(System.Object)", -"[AspectClass(\"System,netstandard,System.Runtime.Extensions,System.Runtime\",[None],Propagation,[])] Datadog.Trace.Iast.Aspects.System.UriBuilderAspect", -" [AspectCtorReplace(\"System.UriBuilder::.ctor(System.String)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Init(System.String)", -" [AspectCtorReplace(\"System.UriBuilder::.ctor(System.Uri)\",\"\",[0],[False],[None],Default,[])] Init(System.Uri)", -" [AspectCtorReplace(\"System.UriBuilder::.ctor(System.String,System.String)\",\"\",[0],[False],[None],Default,[])] Init(System.String,System.String)", -" [AspectCtorReplace(\"System.UriBuilder::.ctor(System.String,System.String,System.Int32)\",\"\",[0],[False],[None],Default,[])] Init(System.String,System.String,System.Int32)", -" [AspectCtorReplace(\"System.UriBuilder::.ctor(System.String,System.String,System.Int32,System.String)\",\"\",[0],[False],[None],Default,[])] Init(System.String,System.String,System.Int32,System.String)", -" [AspectCtorReplace(\"System.UriBuilder::.ctor(System.String,System.String,System.Int32,System.String,System.String)\",\"\",[0],[False],[None],Default,[])] Init(System.String,System.String,System.Int32,System.String,System.String)", -" [AspectMethodReplace(\"System.UriBuilder::set_Host(System.String)\",\"\",[0],[False],[StringLiteral_1],Default,[])] SetHost(System.UriBuilder,System.String)", -" [AspectMethodReplace(\"System.UriBuilder::set_Query(System.String)\",\"\",[0],[False],[StringLiteral_1],Default,[])] SetQuery(System.UriBuilder,System.String)", -" [AspectMethodReplace(\"System.UriBuilder::set_Path(System.String)\",\"\",[0],[False],[StringLiteral_1],Default,[])] SetPath(System.UriBuilder,System.String)", -" [AspectMethodReplace(\"System.UriBuilder::get_Host()\",\"\",[0],[False],[None],Default,[])] GetHost(System.UriBuilder)", -" [AspectMethodReplace(\"System.UriBuilder::get_Query()\",\"\",[0],[False],[None],Default,[])] GetQuery(System.UriBuilder)", -" [AspectMethodReplace(\"System.UriBuilder::get_Path()\",\"\",[0],[False],[None],Default,[])] GetPath(System.UriBuilder)", -" [AspectMethodReplace(\"System.Object::ToString()\",\"System.UriBuilder\",[0],[False],[None],Default,[])] ToString(System.Object)", -"[AspectClass(\"System.Data,System.Data.Common\",[None],Sink,[SqlInjection])] Datadog.Trace.Iast.Aspects.DbCommandAspect", -" [AspectMethodInsertBefore(\"System.Data.Common.DbCommand::ExecuteNonQueryAsync(System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewExecuteNonQuery(System.Object)", -" [AspectMethodInsertBefore(\"System.Data.Common.DbCommand::ExecuteNonQueryAsync()\",\"\",[0],[False],[None],Default,[])] ReviewExecuteNonQuery(System.Object)", -"[AspectClass(\"System.DirectoryServices\",[StringOptimization],Propagation,[])] Datadog.Trace.Iast.Aspects.System.DirectoryServices.DirectoryEntryAspect", -" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectoryEntry::set_Path(System.String)\",\"\",[0],[False],[None],Default,[])] Init(System.String)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectoryEntry::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] Init(System.String)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectoryEntry::.ctor(System.String,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] Init(System.String)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectoryEntry::.ctor(System.String,System.String,System.String,System.DirectoryServices.AuthenticationTypes)\",\"\",[3],[False],[None],Default,[])] Init(System.String)", -"[AspectClass(\"System.DirectoryServices\",[StringOptimization],Propagation,[])] Datadog.Trace.Iast.Aspects.System.DirectoryServices.DirectorySearcherAspect", -" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectorySearcher::set_Filter(System.String)\",\"\",[0],[False],[None],Default,[])] Init(System.String)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectorySearcher::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] Init(System.String)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectorySearcher::.ctor(System.String,System.String[])\",\"\",[1],[False],[None],Default,[])] Init(System.String)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectorySearcher::.ctor(System.String,System.String[],System.DirectoryServices.SearchScope)\",\"\",[2],[False],[None],Default,[])] Init(System.String)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectorySearcher::.ctor(System.DirectoryServices.DirectoryEntry,System.String)\",\"\",[0],[False],[None],Default,[])] Init(System.String)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectorySearcher::.ctor(System.DirectoryServices.DirectoryEntry,System.String,System.String[])\",\"\",[1],[False],[None],Default,[])] Init(System.String)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectorySearcher::.ctor(System.DirectoryServices.DirectoryEntry,System.String,System.String[],System.DirectoryServices.SearchScope)\",\"\",[2],[False],[None],Default,[])] Init(System.String)", -"[AspectClass(\"System.DirectoryServices.AccountManagement\",[StringOptimization],Propagation,[])] Datadog.Trace.Iast.Aspects.System.DirectoryServices.PrincipalContextAspect", -" [AspectMethodInsertBefore(\"System.DirectoryServices.AccountManagement.PrincipalContext::.ctor(System.DirectoryServices.AccountManagement.ContextType,System.String,System.String)\",\"\",[0],[False],[None],Default,[])] Init(System.String)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.AccountManagement.PrincipalContext::.ctor(System.DirectoryServices.AccountManagement.ContextType,System.String,System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Init(System.String)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.AccountManagement.PrincipalContext::.ctor(System.DirectoryServices.AccountManagement.ContextType,System.String,System.String,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] Init(System.String)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.AccountManagement.PrincipalContext::.ctor(System.DirectoryServices.AccountManagement.ContextType,System.String,System.String,System.DirectoryServices.AccountManagement.ContextOptions)\",\"\",[1],[False],[None],Default,[])] Init(System.String)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.AccountManagement.PrincipalContext::.ctor(System.DirectoryServices.AccountManagement.ContextType,System.String,System.String,System.DirectoryServices.AccountManagement.ContextOptions,System.String,System.String)\",\"\",[3],[False],[None],Default,[])] Init(System.String)", -"[AspectClass(\"System.DirectoryServices.Protocols\",[StringOptimization],Propagation,[])] Datadog.Trace.Iast.Aspects.System.DirectoryServices.SearchRequestAspect", -" [AspectMethodInsertBefore(\"System.DirectoryServices.Protocols.SearchRequest::.ctor(System.String,System.String,System.DirectoryServices.Protocols.SearchScope,System.String[])\",\"\",[2],[False],[None],Default,[])] Init(System.Object)", -" [AspectMethodInsertBefore(\"System.DirectoryServices.Protocols.SearchRequest::set_Filter(System.Object)\",\"\",[0],[False],[None],Default,[])] Init(System.Object)", -"[AspectClass(\"System.Net.Http\",[None],Sink,[Ssrf])] Datadog.Trace.Iast.Aspects.System.Net.HttpClientAspect", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStringAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetByteArrayAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PatchAsync(System.String,System.Net.Http.HttpContent,System.Threading.CancellationToken) \",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PatchAsync(System.String,System.Net.Http.HttpContent) \",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStreamAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.String,System.Net.Http.HttpCompletionOption)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.String,System.Net.Http.HttpCompletionOption,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PostAsync(System.String,System.Net.Http.HttpContent)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PostAsync(System.String,System.Net.Http.HttpContent,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PutAsync(System.String,System.Net.Http.HttpContent)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PutAsync(System.String,System.Net.Http.HttpContent,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::DeleteAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::DeleteAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStringAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetByteArrayAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PatchAsync(System.Uri,System.Net.Http.HttpContent,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PatchAsync(System.Uri,System.Net.Http.HttpContent)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStreamAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.Uri,System.Net.Http.HttpCompletionOption)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.Uri,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.Uri,System.Net.Http.HttpCompletionOption,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PostAsync(System.Uri,System.Net.Http.HttpContent)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PostAsync(System.Uri,System.Net.Http.HttpContent,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PutAsync(System.Uri,System.Net.Http.HttpContent)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PutAsync(System.Uri,System.Net.Http.HttpContent,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::DeleteAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::DeleteAsync(System.Uri,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::set_BaseAddress(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::SendAsync(System.Net.Http.HttpRequestMessage)\",\"\",[0],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::SendAsync(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption)\",\"\",[1],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::SendAsync(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::SendAsync(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpMessageInvoker::SendAsync(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage)", -"[AspectClass(\"System.Net.Requests,System,netstandard\",[None],Sink,[Ssrf])] Datadog.Trace.Iast.Aspects.System.Net.WebRequestAspect", -" [AspectMethodInsertBefore(\"System.Net.WebRequest::Create(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebRequest::CreateHttp(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebRequest::Create(System.Uri)\",\"\",[0],[False],[None],Default,[])] Review(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebRequest::CreateDefault(System.Uri)\",\"\",[0],[False],[None],Default,[])] Review(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebRequest::CreateHttp(System.Uri)\",\"\",[0],[False],[None],Default,[])] Review(System.Uri)", -"[AspectClass(\"System.Net.WebClient,System\",[None],Sink,[Ssrf])] Datadog.Trace.Iast.Aspects.System.Net.WebClientAspect", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadData(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadDataTaskAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFile(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFileTaskAsync(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadString(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadStringTaskAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenRead(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenReadTaskAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWrite(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWrite(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteTaskAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteTaskAsync(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadData(System.String,System.Byte[])\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadData(System.String,System.String,System.Byte[])\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataTaskAsync(System.String,System.Byte[])\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataTaskAsync(System.String,System.String,System.Byte[])\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFile(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFile(System.String,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileTaskAsync(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileTaskAsync(System.String,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadString(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadString(System.String,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringTaskAsync(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringTaskAsync(System.String,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValues(System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValues(System.String,System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesTaskAsync(System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesTaskAsync(System.String,System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::set_BaseAddress(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadData(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadDataAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadDataAsync(System.Uri,System.Object)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadDataTaskAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFile(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFileAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFileAsync(System.Uri,System.String,System.Object)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFileTaskAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadString(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadStringAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadStringAsync(System.Uri,System.Object)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadStringTaskAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenRead(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenReadAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenReadAsync(System.Uri,System.Object)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenReadTaskAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWrite(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWrite(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteAsync(System.Uri,System.String,System.Object)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteTaskAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteTaskAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadData(System.Uri,System.Byte[])\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadData(System.Uri,System.String,System.Byte[])\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataAsync(System.Uri,System.Byte[])\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataAsync(System.Uri,System.String,System.Byte[])\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataAsync(System.Uri,System.String,System.Byte[],System.Object)\",\"\",[3],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataTaskAsync(System.Uri,System.Byte[])\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataTaskAsync(System.Uri,System.String,System.Byte[])\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFile(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFile(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileAsync(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileAsync(System.Uri,System.String,System.String,System.Object)\",\"\",[3],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileTaskAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileTaskAsync(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadString(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadString(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringAsync(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringAsync(System.Uri,System.String,System.String,System.Object)\",\"\",[3],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringTaskAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringTaskAsync(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValues(System.Uri,System.Collections.Specialized.NameValueCollection)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValues(System.Uri,System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesAsync(System.Uri,System.Collections.Specialized.NameValueCollection)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesAsync(System.Uri,System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesAsync(System.Uri,System.String,System.Collections.Specialized.NameValueCollection,System.Object)\",\"\",[3],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesTaskAsync(System.Uri,System.Collections.Specialized.NameValueCollection)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesTaskAsync(System.Uri,System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -"[AspectClass(\"System.Private.Corelib;System.Runtime\",[None],Sink,[Ssrf])] Datadog.Trace.Iast.Aspects.System.Net.WebUtilityAspect", -" [AspectMethodReplace(\"System.Net.WebUtility::HtmlEncode(System.String)\",\"\",[0],[False],[None],Default,[])] XssEscape(System.String)", -" [AspectMethodReplace(\"System.Net.WebUtility::UrlEncode(System.String)\",\"\",[0],[False],[None],Default,[])] SsrfEscape(System.String)", -"[AspectClass(\"System.Web\",[None],Sink,[UnvalidatedRedirect])] Datadog.Trace.Iast.Aspects.System.Web.HttpResponseAspect", -" [AspectMethodInsertBefore(\"System.Web.HttpResponse::Redirect(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String)", -" [AspectMethodInsertBefore(\"System.Web.HttpResponse::Redirect(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] Redirect(System.String)", -" [AspectMethodInsertBefore(\"System.Web.HttpResponse::RedirectPermanent(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String)", -" [AspectMethodInsertBefore(\"System.Web.HttpResponse::RedirectPermanent(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] Redirect(System.String)", -"[AspectClass(\"System.Web.Mvc\",[None],Sink,[UnvalidatedRedirect])] Datadog.Trace.Iast.Aspects.System.Web.HttpControllerAspect", -" [AspectMethodInsertBefore(\"System.Web.Mvc.Controller::Redirect(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String)", -" [AspectMethodInsertBefore(\"System.Web.Mvc.Controller::RedirectPermanent(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String)", -"[AspectClass(\"System.Web;System.Runtime.Extensions;System.Web.HttpUtility\",[None],Sink,[Ssrf])] Datadog.Trace.Iast.Aspects.System.Net.HttpUtilityAspect", -" [AspectMethodReplace(\"System.Web.HttpUtility::HtmlEncode(System.String)\",\"\",[0],[False],[None],Default,[])] XssEscape(System.String)", -" [AspectMethodReplace(\"System.Web.HttpUtility::UrlEncode(System.String)\",\"\",[0],[False],[None],Default,[])] SsrfEscape(System.String)", -" [AspectMethodReplace(\"System.Web.HttpUtility::UrlEncode(System.String,System.Text.Encoding)\",\"\",[0],[False],[None],Default,[])] SsrfEscape(System.String,System.Text.Encoding)", -"[AspectClass(\"System.Xml,System.Xml.ReaderWriter,System.Xml.XPath.XDocument\",[None],Sink,[XPathInjection])] Datadog.Trace.Iast.Aspects.SystemXmlAspect", -" [AspectMethodInsertBefore(\"System.Xml.XmlNode::SelectNodes(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XmlNode::SelectNodes(System.String,System.Xml.XmlNamespaceManager)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XmlNode::SelectSingleNode(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XmlNode::SelectSingleNode(System.String,System.Xml.XmlNamespaceManager)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XPath.XPathExpression::Compile(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XPath.XPathExpression::Compile(System.String,System.Xml.IXmlNamespaceResolver)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XPath.XPathNavigator::Evaluate(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XPath.XPathNavigator::Evaluate(System.String,System.Xml.IXmlNamespaceResolver)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XPath.XPathNavigator::SelectSingleNode(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XPath.XPathNavigator::SelectSingleNode(System.String,System.Xml.IXmlNamespaceResolver)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XPath.XPathNavigator::Select(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XPath.XPathNavigator::Select(System.String,System.Xml.IXmlNamespaceResolver)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -"[AspectClass(\"System.Xml.XPath.XDocument,System.Xml.Linq\",[None],Sink,[XPathInjection])] Datadog.Trace.Iast.Aspects.XPathExtensionAspect", -" [AspectMethodInsertBefore(\"System.Xml.XPath.Extensions::XPathEvaluate(System.Xml.Linq.XNode,System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XPath.Extensions::XPathEvaluate(System.Xml.Linq.XNode,System.String,System.Xml.IXmlNamespaceResolver)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XPath.Extensions::XPathSelectElement(System.Xml.Linq.XNode,System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XPath.Extensions::XPathSelectElement(System.Xml.Linq.XNode,System.String,System.Xml.IXmlNamespaceResolver)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XPath.Extensions::XPathSelectElements(System.Xml.Linq.XNode,System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.Xml.XPath.Extensions::XPathSelectElements(System.Xml.Linq.XNode,System.String,System.Xml.IXmlNamespaceResolver)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.DirectoryAspect", -" [AspectMethodInsertBefore(\"System.IO.Directory::CreateDirectory(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::Delete(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::Delete(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetDirectories(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetDirectories(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetDirectories(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetDirectories(System.String,System.String,System.IO.EnumerationOptions)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetDirectoryRoot(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFiles(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFiles(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFiles(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFiles(System.String,System.String,System.IO.EnumerationOptions)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFileSystemEntries(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFileSystemEntries(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFileSystemEntries(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFileSystemEntries(System.String,System.String,System.IO.EnumerationOptions)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::Move(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::SetAccessControl(System.String,System.Security.AccessControl.DirectorySecurity)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateDirectories(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateDirectories(System.String,System.String,System.IO.EnumerationOptions)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateDirectories(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateDirectories(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFiles(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFiles(System.String,System.String,System.IO.EnumerationOptions)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFiles(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFiles(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFileSystemEntries(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFileSystemEntries(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFileSystemEntries(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFileSystemEntries(System.String,System.String,System.IO.EnumerationOptions)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::SetCurrentDirectory(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.DirectoryInfoAspect", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::CreateSubdirectory(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::MoveTo(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetFileSystemInfos(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetFileSystemInfos(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetFileSystemInfos(System.String,System.IO.EnumerationOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetFiles(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetFiles(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetFiles(System.String,System.IO.EnumerationOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetDirectories(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetDirectories(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetDirectories(System.String,System.IO.EnumerationOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateFileSystemInfos(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateFileSystemInfos(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateFileSystemInfos(System.String,System.IO.EnumerationOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateFiles(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateFiles(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateFiles(System.String,System.IO.EnumerationOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateDirectories(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateDirectories(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateDirectories(System.String,System.IO.EnumerationOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.FileAspect", -" [AspectMethodInsertBefore(\"System.IO.File::Create(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::CreateText(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Delete(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::OpenWrite(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllLines(System.String,System.Collections.Generic.IEnumerable`1)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllLines(System.String,System.Collections.Generic.IEnumerable`1,System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllText(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllText(System.String,System.String,System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllTextAsync(System.String,System.String,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllTextAsync(System.String,System.String,System.Text.Encoding,System.Threading.CancellationToken)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllLinesAsync(System.String,System.Collections.Generic.IEnumerable`1,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllLinesAsync(System.String,System.Collections.Generic.IEnumerable`1,System.Text.Encoding,System.Threading.CancellationToken)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendText(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Create(System.String,System.Int32)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Create(System.String,System.Int32,System.IO.FileOptions)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::SetAttributes(System.String,System.IO.FileAttributes)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllBytes(System.String,System.Byte[])\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllBytesAsync(System.String,System.Byte[],System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllLines(System.String,System.String[])\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllLines(System.String,System.String[],System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllLines(System.String,System.Collections.Generic.IEnumerable`1)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllLines(System.String,System.Collections.Generic.IEnumerable`1,System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllLinesAsync(System.String,System.Collections.Generic.IEnumerable`1,System.Text.Encoding,System.Threading.CancellationToken)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllLinesAsync(System.String,System.Collections.Generic.IEnumerable`1,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllText(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllText(System.String,System.String,System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllTextAsync(System.String,System.String,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllTextAsync(System.String,System.String,System.Text.Encoding,System.Threading.CancellationToken)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Copy(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Copy(System.String,System.String,System.Boolean)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Move(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Move(System.String,System.String,System.Boolean)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Replace(System.String,System.String,System.String)\",\"\",[0,1,2],[False,False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Replace(System.String,System.String,System.String,System.Boolean)\",\"\",[1,2,3],[False,False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadLines(System.String,System.Text.Encoding)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllText(System.String,System.Text.Encoding)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadLines(System.String,System.Text.Encoding)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Open(System.String,System.IO.FileMode)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Open(System.String,System.IO.FileMode,System.IO.FileAccess)\",\"\",[2],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Open(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)\",\"\",[3],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::OpenText(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllBytes(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllBytesAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllLines(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllLines(System.String,System.Text.Encoding)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllLinesAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllLinesAsync(System.String,System.Text.Encoding,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllText(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllTextAsync(System.String,System.Text.Encoding,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllTextAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadLines(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::OpenRead(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.FileInfoAspect", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::CopyTo(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::CopyTo(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::MoveTo(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::MoveTo(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::Replace(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::Replace(System.String,System.String,System.Boolean)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.FileStreamAspect", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode,System.IO.FileAccess)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.Int32)\",\"\",[4],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.Int32,System.Boolean)\",\"\",[5],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.Int32,System.IO.FileOptions)\",\"\",[5],[False],[None],Default,[])] ReviewPath(System.String)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.StreamReaderAspect", -" [AspectMethodInsertBefore(\"System.IO.StreamReader::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamReader::.ctor(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamReader::.ctor(System.String,System.Text.Encoding)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamReader::.ctor(System.String,System.Text.Encoding,System.Boolean)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamReader::.ctor(System.String,System.Text.Encoding,System.Boolean,System.Int32)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.StreamWriterAspect", -" [AspectMethodInsertBefore(\"System.IO.StreamWriter::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamWriter::.ctor(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamWriter::.ctor(System.String,System.Boolean,System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamWriter::.ctor(System.String,System.Boolean,System.Text.Encoding,System.Int32)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", -"[AspectClass(\"mscorlib,System.Runtime.Extensions,System.Runtime\",[None],Sink,[WeakRandomness])] Datadog.Trace.Iast.Aspects.RandomAspect", -" [AspectMethodInsertAfter(\"System.Random::.ctor()\",\"\",[0],[False],[None],Default,[])] Init()", -" [AspectMethodInsertAfter(\"System.Random::.ctor(System.Int32)\",\"\",[0],[False],[None],Default,[])] Init()", -"[AspectClass(\"mscorlib,netstandard,System.Private.CoreLib,System.Runtime\",[StringOptimization],Propagation,[])] Datadog.Trace.Iast.Aspects.System.StringAspects", -" [AspectMethodReplace(\"System.String::Trim()\",\"\",[0],[False],[StringLiteral_0],Default,[])] Trim(System.String)", -" [AspectMethodReplace(\"System.String::Trim(System.Char[])\",\"\",[0],[False],[StringLiteral_0],Default,[])] Trim(System.String,System.Char[])", -" [AspectMethodReplace(\"System.String::Trim(System.Char)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Trim(System.String,System.Char)", -" [AspectMethodReplace(\"System.String::TrimStart(System.Char[])\",\"\",[0],[False],[StringLiteral_0],Default,[])] TrimStart(System.String,System.Char[])", -" [AspectMethodReplace(\"System.String::TrimStart(System.Char)\",\"\",[0],[False],[StringLiteral_0],Default,[])] TrimStart(System.String,System.Char)", -" [AspectMethodReplace(\"System.String::TrimStart()\",\"\",[0],[False],[StringLiteral_0],Default,[])] TrimStart(System.String)", -" [AspectMethodReplace(\"System.String::TrimEnd(System.Char[])\",\"\",[0],[False],[StringLiteral_0],Default,[])] TrimEnd(System.String,System.Char[])", -" [AspectMethodReplace(\"System.String::TrimEnd(System.Char)\",\"\",[0],[False],[StringLiteral_0],Default,[])] TrimEnd(System.String,System.Char)", -" [AspectMethodReplace(\"System.String::TrimEnd()\",\"\",[0],[False],[StringLiteral_0],Default,[])] TrimEnd(System.String)", -" [AspectMethodReplace(\"System.String::Concat(System.String,System.String)\",\"\",[0],[False],[StringLiterals_Any],Default,[])] Concat(System.String,System.String)", -" [AspectMethodReplace(\"System.String::Concat(System.String,System.String)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Concat_0(System.String,System.String)", -" [AspectMethodReplace(\"System.String::Concat(System.String,System.String)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Concat_1(System.String,System.String)", -" [AspectMethodReplace(\"System.String::Concat(System.Object,System.Object)\",\"\",[0],[False],[None],Default,[])] Concat(System.Object,System.Object)", -" [AspectMethodReplace(\"System.String::Concat(System.String,System.String,System.String)\",\"\",[0],[False],[StringLiterals],Default,[])] Concat(System.String,System.String,System.String)", -" [AspectMethodReplace(\"System.String::Concat(System.Object,System.Object,System.Object)\",\"\",[0],[False],[None],Default,[])] Concat(System.Object,System.Object,System.Object)", -" [AspectMethodReplace(\"System.String::Concat(System.String,System.String,System.String,System.String)\",\"\",[0],[False],[StringLiterals],Default,[])] Concat(System.String,System.String,System.String,System.String)", -" [AspectMethodReplace(\"System.String::Concat(System.String[])\",\"\",[0],[False],[None],Default,[])] Concat(System.String[])", -" [AspectMethodReplace(\"System.String::Concat(System.Object[])\",\"\",[0],[False],[None],Default,[])] Concat(System.Object[])", -" [AspectMethodReplace(\"System.String::Concat(System.Collections.Generic.IEnumerable`1)\",\"\",[0],[False],[None],Default,[])] Concat(System.Collections.Generic.IEnumerable`1)", -" [AspectMethodReplace(\"System.String::Concat(System.Collections.Generic.IEnumerable`1)\",\"\",[0],[False],[None],Default,[]);V3.2.0] Concat(System.Collections.Generic.IEnumerable`1)", -" [AspectMethodReplace(\"System.String::Substring(System.Int32)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Substring(System.String,System.Int32)", -" [AspectMethodReplace(\"System.String::Substring(System.Int32,System.Int32)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Substring(System.String,System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.String::ToCharArray()\",\"\",[0],[False],[StringLiteral_0],Default,[])] ToCharArray(System.String)", -" [AspectMethodReplace(\"System.String::ToCharArray(System.Int32,System.Int32)\",\"\",[0],[False],[StringLiteral_0],Default,[])] ToCharArray(System.String,System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.String::Join(System.String,System.String[],System.Int32,System.Int32)\",\"\",[0],[False],[None],Default,[])] Join(System.String,System.String[],System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.String::Join(System.String,System.Collections.Generic.IEnumerable`1)\",\"\",[0],[False],[None],Default,[]);V3.2.0] Join(System.String,System.Collections.Generic.IEnumerable`1)", -" [AspectMethodReplace(\"System.String::Join(System.String,System.Object[])\",\"\",[0],[False],[None],Default,[])] Join(System.String,System.Object[])", -" [AspectMethodReplace(\"System.String::Join(System.String,System.String[])\",\"\",[0],[False],[None],Default,[])] Join(System.String,System.String[])", -" [AspectMethodReplace(\"System.String::Join(System.String,System.Collections.Generic.IEnumerable`1)\",\"\",[0],[False],[None],Default,[])] JoinString(System.String,System.Collections.Generic.IEnumerable`1)", -" [AspectMethodReplace(\"System.String::ToUpper()\",\"\",[0],[False],[StringLiteral_0],Default,[])] ToUpper(System.String)", -" [AspectMethodReplace(\"System.String::ToUpper(System.Globalization.CultureInfo)\",\"\",[0],[False],[StringLiteral_0],Default,[])] ToUpper(System.String,System.Globalization.CultureInfo)", -" [AspectMethodReplace(\"System.String::ToUpperInvariant()\",\"\",[0],[False],[StringLiteral_0],Default,[])] ToUpperInvariant(System.String)", -" [AspectMethodReplace(\"System.String::ToLower()\",\"\",[0],[False],[StringLiteral_0],Default,[])] ToLower(System.String)", -" [AspectMethodReplace(\"System.String::ToLower(System.Globalization.CultureInfo)\",\"\",[0],[False],[StringLiteral_0],Default,[])] ToLower(System.String,System.Globalization.CultureInfo)", -" [AspectMethodReplace(\"System.String::ToLowerInvariant()\",\"\",[0],[False],[StringLiteral_0],Default,[])] ToLowerInvariant(System.String)", -" [AspectMethodReplace(\"System.String::Remove(System.Int32)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Remove(System.String,System.Int32)", -" [AspectMethodReplace(\"System.String::Remove(System.Int32,System.Int32)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Remove(System.String,System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.String::Insert(System.Int32,System.String)\",\"\",[0],[False],[StringOptimization],Default,[])] Insert(System.String,System.Int32,System.String)", -" [AspectMethodReplace(\"System.String::PadLeft(System.Int32)\",\"\",[0],[False],[StringLiteral_0],Default,[])] PadLeft(System.String,System.Int32)", -" [AspectMethodReplace(\"System.String::PadLeft(System.Int32,System.Char)\",\"\",[0],[False],[StringLiteral_0],Default,[])] PadLeft(System.String,System.Int32,System.Char)", -" [AspectMethodReplace(\"System.String::PadRight(System.Int32)\",\"\",[0],[False],[StringLiteral_0],Default,[])] PadRight(System.String,System.Int32)", -" [AspectMethodReplace(\"System.String::PadRight(System.Int32,System.Char)\",\"\",[0],[False],[StringLiteral_0],Default,[])] PadRight(System.String,System.Int32,System.Char)", -" [AspectMethodReplace(\"System.String::Format(System.String,System.Object)\",\"\",[0],[False],[StringLiterals],Default,[])] Format(System.String,System.Object)", -" [AspectMethodReplace(\"System.String::Format(System.String,System.Object,System.Object)\",\"\",[0],[False],[StringLiterals],Default,[])] Format(System.String,System.Object,System.Object)", -" [AspectMethodReplace(\"System.String::Format(System.String,System.Object,System.Object,System.Object)\",\"\",[0],[False],[StringLiterals],Default,[])] Format(System.String,System.Object,System.Object,System.Object)", -" [AspectMethodReplace(\"System.String::Format(System.String,System.Object[])\",\"\",[0],[False],[None],Default,[])] Format(System.String,System.Object[])", -" [AspectMethodReplace(\"System.String::Format(System.IFormatProvider,System.String,System.Object)\",\"\",[0],[False],[None],Default,[])] Format(System.IFormatProvider,System.String,System.Object)", -" [AspectMethodReplace(\"System.String::Format(System.IFormatProvider,System.String,System.Object,System.Object)\",\"\",[0],[False],[None],Default,[])] Format(System.IFormatProvider,System.String,System.Object,System.Object)", -" [AspectMethodReplace(\"System.String::Format(System.IFormatProvider,System.String,System.Object,System.Object,System.Object)\",\"\",[0],[False],[None],Default,[])] Format(System.IFormatProvider,System.String,System.Object,System.Object,System.Object)", -" [AspectMethodReplace(\"System.String::Format(System.IFormatProvider,System.String,System.Object[])\",\"\",[0],[False],[None],Default,[])] Format(System.IFormatProvider,System.String,System.Object[])", -" [AspectMethodReplace(\"System.String::Replace(System.Char,System.Char)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Replace(System.String,System.Char,System.Char)", -" [AspectMethodReplace(\"System.String::Replace(System.String,System.String)\",\"\",[0],[False],[StringLiterals],Default,[])] Replace(System.String,System.String,System.String)", -" [AspectMethodReplace(\"System.String::Split(System.Char[])\",\"\",[0],[False],[StringLiteral_0],Default,[])] Split(System.String,System.Char[])", -" [AspectMethodReplace(\"System.String::Split(System.Char[],System.Int32)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Split(System.String,System.Char[],System.Int32)", -" [AspectMethodReplace(\"System.String::Split(System.Char[],System.StringSplitOptions)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Split(System.String,System.Char[],System.StringSplitOptions)", -" [AspectMethodReplace(\"System.String::Split(System.Char[],System.Int32,System.StringSplitOptions)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Split(System.String,System.Char[],System.Int32,System.StringSplitOptions)", -" [AspectMethodReplace(\"System.String::Split(System.String[],System.StringSplitOptions)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Split(System.String,System.String[],System.StringSplitOptions)", -" [AspectMethodReplace(\"System.String::Split(System.String[],System.Int32,System.StringSplitOptions)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Split(System.String,System.String[],System.Int32,System.StringSplitOptions)", -" [AspectMethodReplace(\"System.String::Copy(System.String)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Copy(System.String)", -"[AspectClass(\"mscorlib,netstandard,System.Runtime\",[None],Propagation,[])] Datadog.Trace.Iast.Aspects.System.Text.StringBuilderAspects", -" [AspectCtorReplace(\"System.Text.StringBuilder::.ctor(System.String)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Init(System.String)", -" [AspectCtorReplace(\"System.Text.StringBuilder::.ctor(System.String,System.Int32)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Init(System.String,System.Int32)", -" [AspectCtorReplace(\"System.Text.StringBuilder::.ctor(System.String,System.Int32,System.Int32,System.Int32)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Init(System.String,System.Int32,System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.Object::ToString()\",\"System.Text.StringBuilder\",[0],[False],[None],Default,[])] ToString(System.Object)", -" [AspectMethodReplace(\"System.Text.StringBuilder::ToString(System.Int32,System.Int32)\",\"\",[0],[False],[None],Default,[])] ToString(System.Text.StringBuilder,System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Append(System.String)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Append(System.Text.StringBuilder,System.String)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Append(System.Text.StringBuilder)\",\"\",[0],[False],[None],Default,[])] Append(System.Text.StringBuilder,System.Text.StringBuilder)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Append(System.String,System.Int32,System.Int32)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Append(System.Text.StringBuilder,System.String,System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Append(System.Char[],System.Int32,System.Int32)\",\"\",[0],[False],[None],Default,[])] Append(System.Text.StringBuilder,System.Char[],System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Append(System.Object)\",\"\",[0],[False],[None],Default,[])] Append(System.Text.StringBuilder,System.Object)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Append(System.Char[])\",\"\",[0],[False],[None],Default,[])] Append(System.Text.StringBuilder,System.Char[])", -" [AspectMethodReplace(\"System.Text.StringBuilder::AppendLine(System.String)\",\"\",[0],[False],[StringLiteral_1],Default,[])] AppendLine(System.Text.StringBuilder,System.String)", -" [AspectMethodReplace(\"System.Text.StringBuilder::AppendFormat(System.String,System.Object)\",\"\",[0],[False],[None],Default,[])] AppendFormat(System.Text.StringBuilder,System.String,System.Object)", -" [AspectMethodReplace(\"System.Text.StringBuilder::AppendFormat(System.String,System.Object,System.Object)\",\"\",[0],[False],[None],Default,[])] AppendFormat(System.Text.StringBuilder,System.String,System.Object,System.Object)", -" [AspectMethodReplace(\"System.Text.StringBuilder::AppendFormat(System.String,System.Object,System.Object,System.Object)\",\"\",[0],[False],[None],Default,[])] AppendFormat(System.Text.StringBuilder,System.String,System.Object,System.Object,System.Object)", -" [AspectMethodReplace(\"System.Text.StringBuilder::AppendFormat(System.String,System.Object[])\",\"\",[0],[False],[None],Default,[])] AppendFormat(System.Text.StringBuilder,System.String,System.Object[])", -" [AspectMethodReplace(\"System.Text.StringBuilder::AppendFormat(System.IFormatProvider,System.String,System.Object)\",\"\",[0],[False],[None],Default,[])] AppendFormat(System.Text.StringBuilder,System.IFormatProvider,System.String,System.Object)", -" [AspectMethodReplace(\"System.Text.StringBuilder::AppendFormat(System.IFormatProvider,System.String,System.Object,System.Object)\",\"\",[0],[False],[None],Default,[])] AppendFormat(System.Text.StringBuilder,System.IFormatProvider,System.String,System.Object,System.Object)", -" [AspectMethodReplace(\"System.Text.StringBuilder::AppendFormat(System.IFormatProvider,System.String,System.Object,System.Object,System.Object)\",\"\",[0],[False],[None],Default,[])] AppendFormat(System.Text.StringBuilder,System.IFormatProvider,System.String,System.Object,System.Object,System.Object)", -" [AspectMethodReplace(\"System.Text.StringBuilder::AppendFormat(System.IFormatProvider,System.String,System.Object[])\",\"\",[0],[False],[None],Default,[])] AppendFormat(System.Text.StringBuilder,System.IFormatProvider,System.String,System.Object[])", -" [AspectMethodReplace(\"System.Text.StringBuilder::CopyTo(System.Int32,System.Char[],System.Int32,System.Int32)\",\"\",[0],[False],[None],Default,[])] CopyTo(System.Text.StringBuilder,System.Int32,System.Char[],System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.String)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.String)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.String,System.Int32)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.String,System.Int32)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Char)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Char)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Char[])\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Char[])", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Char[],System.Int32,System.Int32)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Char[],System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Int32)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Int64)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Int64)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Single)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Single)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Double)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Double)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Decimal)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Decimal)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.UInt16)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.UInt16)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.UInt32)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.UInt32)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.UInt64)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.UInt64)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Boolean)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Boolean)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.SByte)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.SByte)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Byte)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Byte)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Int16)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Int16)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Object)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Object)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Remove(System.Int32,System.Int32)\",\"\",[0],[False],[None],Default,[])] Remove(System.Text.StringBuilder,System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Replace(System.String,System.String)\",\"\",[0],[False],[None],Default,[])] Replace(System.Text.StringBuilder,System.String,System.String)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Replace(System.String,System.String,System.Int32,System.Int32)\",\"\",[0],[False],[None],Default,[])] Replace(System.Text.StringBuilder,System.String,System.String,System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Replace(System.Char,System.Char)\",\"\",[0],[False],[None],Default,[])] Replace(System.Text.StringBuilder,System.Char,System.Char)", -" [AspectMethodReplace(\"System.Text.StringBuilder::Replace(System.Char,System.Char,System.Int32,System.Int32)\",\"\",[0],[False],[None],Default,[])] Replace(System.Text.StringBuilder,System.Char,System.Char,System.Int32,System.Int32)", -" [AspectMethodReplace(\"System.Text.StringBuilder::set_Length(System.Int32)\",\"\",[0],[False],[None],Default,[])] SetLength(System.Text.StringBuilder,System.Int32)", -"[AspectClass(\"mscorlib,netstandard,System.Runtime\",[None],Sink,[ReflectionInjection])] Datadog.Trace.Iast.Aspects.ActivatorAspect", -" [AspectMethodInsertBefore(\"System.Activator::CreateInstance(System.String,System.String)\",\"\",[1,0],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateInstance(System.String,System.String,System.Object[])\",\"\",[2,1],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateInstance(System.AppDomain,System.String,System.String)\",\"\",[1,0],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateInstance(System.AppDomain,System.String,System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[])\",\"\",[7,6],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateInstance(System.String,System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[])\",\"\",[7,6],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateInstance(System.String,System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[],System.Security.Policy.Evidence)\",\"\",[8,7],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateInstance(System.AppDomain,System.String,System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[],System.Security.Policy.Evidence)\",\"\",[7,6],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateInstanceFrom(System.String,System.String,System.Object[])\",\"\",[2,1],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateInstanceFrom(System.String,System.String)\",\"\",[1,0],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateInstanceFrom(System.AppDomain,System.String,System.String)\",\"\",[1,0],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateInstanceFrom(System.AppDomain,System.String,System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[])\",\"\",[7,6],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateInstanceFrom(System.String,System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[])\",\"\",[7,6],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateInstanceFrom(System.String,System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[],System.Security.Policy.Evidence)\",\"\",[8,7],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateComInstanceFrom(System.String,System.String)\",\"\",[1,0],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Activator::CreateComInstanceFrom(System.String,System.String,System.Byte[],System.Configuration.Assemblies.AssemblyHashAlgorithm)\",\"\",[3,2],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String)", -"[AspectClass(\"mscorlib,netstandard,System.Runtime\",[None],Sink,[ReflectionInjection])] Datadog.Trace.Iast.Aspects.System.Reflection.AssemblyAspect", -" [AspectMethodInsertBefore(\"System.Reflection.Assembly::Load(System.String)\",\"\",[0],[False],[None],Default,[])] ReflectionAssemblyInjection(System.String)", -" [AspectMethodInsertBefore(\"System.Reflection.Assembly::Load(System.String,System.Security.Policy.Evidence)\",\"\",[1],[False],[None],Default,[])] ReflectionAssemblyInjection(System.String)", -" [AspectMethodInsertBefore(\"System.Reflection.Assembly::LoadFrom(System.String)\",\"\",[0],[False],[None],Default,[])] ReflectionAssemblyInjection(System.String)", -" [AspectMethodInsertBefore(\"System.Reflection.Assembly::LoadFrom(System.String,System.Byte[],System.Configuration.Assemblies.AssemblyHashAlgorithm)\",\"\",[2],[False],[None],Default,[])] ReflectionAssemblyInjection(System.String)", -" [AspectMethodInsertBefore(\"System.Reflection.Assembly::LoadFrom(System.String,System.Security.Policy.Evidence,System.Byte[],System.Configuration.Assemblies.AssemblyHashAlgorithm)\",\"\",[3],[False],[None],Default,[])] ReflectionAssemblyInjection(System.String)", -" [AspectMethodInsertBefore(\"System.Reflection.Assembly::LoadFrom(System.String,System.Security.Policy.Evidence)\",\"\",[1],[False],[None],Default,[])] ReflectionAssemblyInjection(System.String)", -" [AspectMethodInsertBefore(\"System.Reflection.AssemblyName::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] ReflectionAssemblyInjection(System.String)", -"[AspectClass(\"mscorlib,netstandard,System.Runtime\",[None],Sink,[ReflectionInjection])] Datadog.Trace.Iast.Aspects.TypeAspect", -" [AspectMethodInsertBefore(\"System.Type::GetType(System.String)\",\"\",[0],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetType(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetType(System.String,System.Boolean,System.Boolean)\",\"\",[2],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetType(System.String,System.Func`2,System.Func`4)\",\"\",[2],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetType(System.String,System.Func`2,System.Func`4,System.Boolean)\",\"\",[3],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetType(System.String,System.Func`2,System.Func`4,System.Boolean,System.Boolean)\",\"\",[4],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Int32,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[])\",\"\",[6],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[])\",\"\",[5],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Int32,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type[],System.Reflection.ParameterModifier[])\",\"\",[5],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Int32,System.Reflection.BindingFlags,System.Type[])\",\"\",[3],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type[],System.Reflection.ParameterModifier[])\",\"\",[4],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Int32,System.Type[],System.Reflection.ParameterModifier[])\",\"\",[3],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String)\",\"\",[0],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Reflection.BindingFlags,System.Type[])\",\"\",[2],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Int32,System.Type[])\",\"\",[2],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Type[])\",\"\",[1],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Reflection.BindingFlags)\",\"\",[1],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Type[],System.Reflection.ParameterModifier[])\",\"\",[2],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[])\",\"\",[4],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Globalization.CultureInfo)\",\"\",[5],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", -" [AspectMethodInsertBefore(\"System.Type::InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[])\",\"\",[7],[False],[None],Default,[])] ReflectionInjectionParam(System.String)", - }; - - public static string[] GetRaspAspects() => new string[] { -"[AspectClass(\"EntityFramework\",[None],Sink,[SqlInjection])] Datadog.Trace.Iast.Aspects.EntityCommandAspect", -" [AspectMethodInsertBefore(\"System.Data.Entity.Core.EntityClient.EntityCommand::ExecuteReader(System.Data.CommandBehavior)\",\"\",[1],[False],[None],Default,[])] ReviewSqlCommand(System.Object)", -" [AspectMethodInsertBefore(\"System.Data.Entity.Core.EntityClient.EntityCommand::ExecuteReaderAsync(System.Data.CommandBehavior,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewSqlCommand(System.Object)", -" [AspectMethodInsertBefore(\"System.Data.Entity.Core.EntityClient.EntityCommand::ExecuteReaderAsync(System.Data.CommandBehavior)\",\"\",[1],[False],[None],Default,[])] ReviewSqlCommand(System.Object)", -"[AspectClass(\"Microsoft.EntityFrameworkCore.Relational\",[None],Sink,[SqlInjection])] Datadog.Trace.Iast.Aspects.EntityFrameworkCoreAspect", -" [AspectMethodInsertBefore(\"Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions::ExecuteSqlRaw(Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade,System.String,System.Object[])\",\"\",[1],[False],[None],Default,[])] ReviewSqlString(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions::ExecuteSqlRaw(Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade,System.String,System.Collections.Generic.IEnumerable`1)\",\"\",[1],[False],[None],Default,[])] ReviewSqlString(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions::ExecuteSqlRawAsync(Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade,System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewSqlString(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions::ExecuteSqlRawAsync(Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade,System.String,System.Object[])\",\"\",[1],[False],[None],Default,[])] ReviewSqlString(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions::ExecuteSqlRawAsync(Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade,System.String,System.Collections.Generic.IEnumerable`1,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewSqlString(System.String)", -" [AspectMethodInsertBefore(\"Microsoft.EntityFrameworkCore.RelationalQueryableExtensions::FromSqlRaw(Microsoft.EntityFrameworkCore.DbSet`1,System.String,System.Object[])\",\"\",[1],[False],[None],Default,[])] ReviewSqlString(System.String)", -"[AspectClass(\"NHibernate\",[None],Sink,[SqlInjection])] Datadog.Trace.Iast.Aspects.NHibernate.ISessionAspect", -" [AspectMethodInsertBefore(\"NHibernate.ISession::CreateQuery(System.String)\",\"\",[0],[False],[None],Default,[])] AnalyzeQuery(System.String)", -" [AspectMethodInsertBefore(\"NHibernate.ISession::CreateSQLQuery(System.String)\",\"\",[0],[False],[None],Default,[])] AnalyzeQuery(System.String)", -"[AspectClass(\"System.Data,System.Data.Common\",[None],Sink,[SqlInjection])] Datadog.Trace.Iast.Aspects.DbCommandAspect", -" [AspectMethodInsertBefore(\"System.Data.Common.DbCommand::ExecuteNonQueryAsync(System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewExecuteNonQuery(System.Object)", -" [AspectMethodInsertBefore(\"System.Data.Common.DbCommand::ExecuteNonQueryAsync()\",\"\",[0],[False],[None],Default,[])] ReviewExecuteNonQuery(System.Object)", -"[AspectClass(\"System.Net.Http\",[None],Sink,[Ssrf])] Datadog.Trace.Iast.Aspects.System.Net.HttpClientAspect", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStringAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetByteArrayAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PatchAsync(System.String,System.Net.Http.HttpContent,System.Threading.CancellationToken) \",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PatchAsync(System.String,System.Net.Http.HttpContent) \",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStreamAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.String,System.Net.Http.HttpCompletionOption)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.String,System.Net.Http.HttpCompletionOption,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PostAsync(System.String,System.Net.Http.HttpContent)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PostAsync(System.String,System.Net.Http.HttpContent,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PutAsync(System.String,System.Net.Http.HttpContent)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PutAsync(System.String,System.Net.Http.HttpContent,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::DeleteAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::DeleteAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStringAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetByteArrayAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PatchAsync(System.Uri,System.Net.Http.HttpContent,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PatchAsync(System.Uri,System.Net.Http.HttpContent)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStreamAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.Uri,System.Net.Http.HttpCompletionOption)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.Uri,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.Uri,System.Net.Http.HttpCompletionOption,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PostAsync(System.Uri,System.Net.Http.HttpContent)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PostAsync(System.Uri,System.Net.Http.HttpContent,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PutAsync(System.Uri,System.Net.Http.HttpContent)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PutAsync(System.Uri,System.Net.Http.HttpContent,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::DeleteAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::DeleteAsync(System.Uri,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::set_BaseAddress(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::SendAsync(System.Net.Http.HttpRequestMessage)\",\"\",[0],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::SendAsync(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption)\",\"\",[1],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::SendAsync(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::SendAsync(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage)", -" [AspectMethodInsertBefore(\"System.Net.Http.HttpMessageInvoker::SendAsync(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage)", -"[AspectClass(\"System.Net.Requests,System,netstandard\",[None],Sink,[Ssrf])] Datadog.Trace.Iast.Aspects.System.Net.WebRequestAspect", -" [AspectMethodInsertBefore(\"System.Net.WebRequest::Create(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebRequest::CreateHttp(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebRequest::Create(System.Uri)\",\"\",[0],[False],[None],Default,[])] Review(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebRequest::CreateDefault(System.Uri)\",\"\",[0],[False],[None],Default,[])] Review(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebRequest::CreateHttp(System.Uri)\",\"\",[0],[False],[None],Default,[])] Review(System.Uri)", -"[AspectClass(\"System.Net.WebClient,System\",[None],Sink,[Ssrf])] Datadog.Trace.Iast.Aspects.System.Net.WebClientAspect", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadData(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadDataTaskAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFile(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFileTaskAsync(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadString(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadStringTaskAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenRead(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenReadTaskAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWrite(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWrite(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteTaskAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteTaskAsync(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadData(System.String,System.Byte[])\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadData(System.String,System.String,System.Byte[])\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataTaskAsync(System.String,System.Byte[])\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataTaskAsync(System.String,System.String,System.Byte[])\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFile(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFile(System.String,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileTaskAsync(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileTaskAsync(System.String,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadString(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadString(System.String,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringTaskAsync(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringTaskAsync(System.String,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValues(System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValues(System.String,System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesTaskAsync(System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[1],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesTaskAsync(System.String,System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[2],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::set_BaseAddress(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadData(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadDataAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadDataAsync(System.Uri,System.Object)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadDataTaskAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFile(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFileAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFileAsync(System.Uri,System.String,System.Object)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFileTaskAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadString(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadStringAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadStringAsync(System.Uri,System.Object)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadStringTaskAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenRead(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenReadAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenReadAsync(System.Uri,System.Object)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenReadTaskAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWrite(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWrite(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteAsync(System.Uri,System.String,System.Object)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteTaskAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteTaskAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadData(System.Uri,System.Byte[])\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadData(System.Uri,System.String,System.Byte[])\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataAsync(System.Uri,System.Byte[])\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataAsync(System.Uri,System.String,System.Byte[])\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataAsync(System.Uri,System.String,System.Byte[],System.Object)\",\"\",[3],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataTaskAsync(System.Uri,System.Byte[])\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataTaskAsync(System.Uri,System.String,System.Byte[])\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFile(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFile(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileAsync(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileAsync(System.Uri,System.String,System.String,System.Object)\",\"\",[3],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileTaskAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileTaskAsync(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadString(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadString(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringAsync(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringAsync(System.Uri,System.String,System.String,System.Object)\",\"\",[3],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringTaskAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringTaskAsync(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValues(System.Uri,System.Collections.Specialized.NameValueCollection)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValues(System.Uri,System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesAsync(System.Uri,System.Collections.Specialized.NameValueCollection)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesAsync(System.Uri,System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesAsync(System.Uri,System.String,System.Collections.Specialized.NameValueCollection,System.Object)\",\"\",[3],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesTaskAsync(System.Uri,System.Collections.Specialized.NameValueCollection)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri)", -" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesTaskAsync(System.Uri,System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.DirectoryAspect", -" [AspectMethodInsertBefore(\"System.IO.Directory::CreateDirectory(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::Delete(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::Delete(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetDirectories(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetDirectories(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetDirectories(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetDirectories(System.String,System.String,System.IO.EnumerationOptions)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetDirectoryRoot(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFiles(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFiles(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFiles(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFiles(System.String,System.String,System.IO.EnumerationOptions)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFileSystemEntries(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFileSystemEntries(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFileSystemEntries(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::GetFileSystemEntries(System.String,System.String,System.IO.EnumerationOptions)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::Move(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::SetAccessControl(System.String,System.Security.AccessControl.DirectorySecurity)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateDirectories(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateDirectories(System.String,System.String,System.IO.EnumerationOptions)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateDirectories(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateDirectories(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFiles(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFiles(System.String,System.String,System.IO.EnumerationOptions)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFiles(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFiles(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFileSystemEntries(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFileSystemEntries(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFileSystemEntries(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFileSystemEntries(System.String,System.String,System.IO.EnumerationOptions)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.Directory::SetCurrentDirectory(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.DirectoryInfoAspect", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::CreateSubdirectory(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::MoveTo(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetFileSystemInfos(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetFileSystemInfos(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetFileSystemInfos(System.String,System.IO.EnumerationOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetFiles(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetFiles(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetFiles(System.String,System.IO.EnumerationOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetDirectories(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetDirectories(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetDirectories(System.String,System.IO.EnumerationOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateFileSystemInfos(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateFileSystemInfos(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateFileSystemInfos(System.String,System.IO.EnumerationOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateFiles(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateFiles(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateFiles(System.String,System.IO.EnumerationOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateDirectories(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateDirectories(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateDirectories(System.String,System.IO.EnumerationOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.FileAspect", -" [AspectMethodInsertBefore(\"System.IO.File::Create(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::CreateText(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Delete(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::OpenWrite(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllLines(System.String,System.Collections.Generic.IEnumerable`1)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllLines(System.String,System.Collections.Generic.IEnumerable`1,System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllText(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllText(System.String,System.String,System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllTextAsync(System.String,System.String,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllTextAsync(System.String,System.String,System.Text.Encoding,System.Threading.CancellationToken)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllLinesAsync(System.String,System.Collections.Generic.IEnumerable`1,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendAllLinesAsync(System.String,System.Collections.Generic.IEnumerable`1,System.Text.Encoding,System.Threading.CancellationToken)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::AppendText(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Create(System.String,System.Int32)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Create(System.String,System.Int32,System.IO.FileOptions)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::SetAttributes(System.String,System.IO.FileAttributes)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllBytes(System.String,System.Byte[])\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllBytesAsync(System.String,System.Byte[],System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllLines(System.String,System.String[])\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllLines(System.String,System.String[],System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllLines(System.String,System.Collections.Generic.IEnumerable`1)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllLines(System.String,System.Collections.Generic.IEnumerable`1,System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllLinesAsync(System.String,System.Collections.Generic.IEnumerable`1,System.Text.Encoding,System.Threading.CancellationToken)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllLinesAsync(System.String,System.Collections.Generic.IEnumerable`1,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllText(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllText(System.String,System.String,System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllTextAsync(System.String,System.String,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::WriteAllTextAsync(System.String,System.String,System.Text.Encoding,System.Threading.CancellationToken)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Copy(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Copy(System.String,System.String,System.Boolean)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Move(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Move(System.String,System.String,System.Boolean)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Replace(System.String,System.String,System.String)\",\"\",[0,1,2],[False,False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Replace(System.String,System.String,System.String,System.Boolean)\",\"\",[1,2,3],[False,False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadLines(System.String,System.Text.Encoding)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllText(System.String,System.Text.Encoding)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadLines(System.String,System.Text.Encoding)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Open(System.String,System.IO.FileMode)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Open(System.String,System.IO.FileMode,System.IO.FileAccess)\",\"\",[2],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::Open(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)\",\"\",[3],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::OpenText(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllBytes(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllBytesAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllLines(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllLines(System.String,System.Text.Encoding)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllLinesAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllLinesAsync(System.String,System.Text.Encoding,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllText(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllTextAsync(System.String,System.Text.Encoding,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadAllTextAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::ReadLines(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String)", -" [AspectMethodInsertBefore(\"System.IO.File::OpenRead(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.FileInfoAspect", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::CopyTo(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::CopyTo(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::MoveTo(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::MoveTo(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::Replace(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileInfo::Replace(System.String,System.String,System.Boolean)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.FileStreamAspect", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode,System.IO.FileAccess)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.Int32)\",\"\",[4],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.Int32,System.Boolean)\",\"\",[5],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.Int32,System.IO.FileOptions)\",\"\",[5],[False],[None],Default,[])] ReviewPath(System.String)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.StreamReaderAspect", -" [AspectMethodInsertBefore(\"System.IO.StreamReader::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamReader::.ctor(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamReader::.ctor(System.String,System.Text.Encoding)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamReader::.ctor(System.String,System.Text.Encoding,System.Boolean)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamReader::.ctor(System.String,System.Text.Encoding,System.Boolean,System.Int32)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", -"[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.StreamWriterAspect", -" [AspectMethodInsertBefore(\"System.IO.StreamWriter::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamWriter::.ctor(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamWriter::.ctor(System.String,System.Boolean,System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String)", -" [AspectMethodInsertBefore(\"System.IO.StreamWriter::.ctor(System.String,System.Boolean,System.Text.Encoding,System.Int32)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String)", - }; - } -} diff --git a/tracer/src/Datadog.Trace/Iast/Aspects/AspNetCore.Mvc/ControllerBaseAspect.cs b/tracer/src/Datadog.Trace/Iast/Aspects/AspNetCore.Mvc/ControllerBaseAspect.cs index 9022fb965e51..7bde8a0e9394 100644 --- a/tracer/src/Datadog.Trace/Iast/Aspects/AspNetCore.Mvc/ControllerBaseAspect.cs +++ b/tracer/src/Datadog.Trace/Iast/Aspects/AspNetCore.Mvc/ControllerBaseAspect.cs @@ -3,7 +3,7 @@ // This product includes software developed at Datadog (https://www.datadoghq.com/). Copyright 2017 Datadog, Inc. // -using Datadog.Trace.Configuration; +using Datadog.Trace.ClrProfiler; using Datadog.Trace.Iast.Dataflow; #nullable enable @@ -11,7 +11,7 @@ namespace Datadog.Trace.Iast.Aspects.AspNetCore.Mvc; /// ControllerBaseAspect class aspect -[AspectClass("Microsoft.AspNetCore.Mvc", AspectType.Sink, VulnerabilityType.UnvalidatedRedirect)] +[AspectClass("Microsoft.AspNetCore.Mvc", InstrumentationCategory.Iast, AspectType.Sink, VulnerabilityType.UnvalidatedRedirect)] [global::System.ComponentModel.Browsable(false)] [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public class ControllerBaseAspect diff --git a/tracer/src/Datadog.Trace/Iast/Aspects/EntityFramework/EntityCommandAspect.cs b/tracer/src/Datadog.Trace/Iast/Aspects/EntityFramework/EntityCommandAspect.cs index 25f9f41d7fdf..90f839601b7b 100644 --- a/tracer/src/Datadog.Trace/Iast/Aspects/EntityFramework/EntityCommandAspect.cs +++ b/tracer/src/Datadog.Trace/Iast/Aspects/EntityFramework/EntityCommandAspect.cs @@ -6,6 +6,7 @@ using System; using System.Data.Common; using Datadog.Trace.AppSec; +using Datadog.Trace.ClrProfiler; using Datadog.Trace.Configuration; using Datadog.Trace.Iast.Dataflow; @@ -14,7 +15,7 @@ namespace Datadog.Trace.Iast.Aspects; #nullable enable /// EntityCommandAspect class aspect -[AspectClass("EntityFramework", AspectType.RaspIastSink, VulnerabilityType.SqlInjection)] +[AspectClass("EntityFramework", InstrumentationCategory.IastRasp, AspectType.Sink, VulnerabilityType.SqlInjection)] [global::System.ComponentModel.Browsable(false)] [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public class EntityCommandAspect diff --git a/tracer/src/Datadog.Trace/Iast/Aspects/EntityFrameworkCore/EntityFrameworkCoreAspect.cs b/tracer/src/Datadog.Trace/Iast/Aspects/EntityFrameworkCore/EntityFrameworkCoreAspect.cs index 689c6846846c..a29b9564d291 100644 --- a/tracer/src/Datadog.Trace/Iast/Aspects/EntityFrameworkCore/EntityFrameworkCoreAspect.cs +++ b/tracer/src/Datadog.Trace/Iast/Aspects/EntityFrameworkCore/EntityFrameworkCoreAspect.cs @@ -5,6 +5,7 @@ using System; using Datadog.Trace.AppSec; +using Datadog.Trace.ClrProfiler; using Datadog.Trace.Configuration; using Datadog.Trace.Iast.Dataflow; @@ -14,7 +15,7 @@ namespace Datadog.Trace.Iast.Aspects; #if !NETFRAMEWORK /// EntityFrameworkCoreAspect class aspect -[AspectClass("Microsoft.EntityFrameworkCore.Relational", AspectType.RaspIastSink, VulnerabilityType.SqlInjection)] +[AspectClass("Microsoft.EntityFrameworkCore.Relational", InstrumentationCategory.IastRasp, AspectType.Sink, VulnerabilityType.SqlInjection)] [global::System.ComponentModel.Browsable(false)] [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public class EntityFrameworkCoreAspect diff --git a/tracer/src/Datadog.Trace/Iast/Aspects/NHibernate/ISessionAspect.cs b/tracer/src/Datadog.Trace/Iast/Aspects/NHibernate/ISessionAspect.cs index 1d7ee2c51d36..3bd0f1ca5867 100644 --- a/tracer/src/Datadog.Trace/Iast/Aspects/NHibernate/ISessionAspect.cs +++ b/tracer/src/Datadog.Trace/Iast/Aspects/NHibernate/ISessionAspect.cs @@ -7,13 +7,14 @@ using System; using Datadog.Trace.AppSec; +using Datadog.Trace.ClrProfiler; using Datadog.Trace.Configuration; using Datadog.Trace.Iast.Dataflow; namespace Datadog.Trace.Iast.Aspects.NHibernate; /// NHibernate class aspect -[AspectClass("NHibernate", AspectType.RaspIastSink, VulnerabilityType.SqlInjection)] +[AspectClass("NHibernate", InstrumentationCategory.IastRasp, AspectType.Sink, VulnerabilityType.SqlInjection)] [global::System.ComponentModel.Browsable(false)] [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public class ISessionAspect diff --git a/tracer/src/Datadog.Trace/Iast/Aspects/System.Data.Common/DbCommandAspect.cs b/tracer/src/Datadog.Trace/Iast/Aspects/System.Data.Common/DbCommandAspect.cs index bb5a173c62bb..8ec4ab537350 100644 --- a/tracer/src/Datadog.Trace/Iast/Aspects/System.Data.Common/DbCommandAspect.cs +++ b/tracer/src/Datadog.Trace/Iast/Aspects/System.Data.Common/DbCommandAspect.cs @@ -6,6 +6,7 @@ using System; using System.Data.Common; using Datadog.Trace.AppSec; +using Datadog.Trace.ClrProfiler; using Datadog.Trace.Configuration; using Datadog.Trace.Iast.Dataflow; @@ -14,7 +15,7 @@ namespace Datadog.Trace.Iast.Aspects; #nullable enable /// DbCommandAspect class aspect -[AspectClass("System.Data,System.Data.Common", AspectType.RaspIastSink, VulnerabilityType.SqlInjection)] +[AspectClass("System.Data,System.Data.Common", InstrumentationCategory.IastRasp, AspectType.Sink, VulnerabilityType.SqlInjection)] [global::System.ComponentModel.Browsable(false)] [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public class DbCommandAspect diff --git a/tracer/src/Datadog.Trace/Iast/Aspects/System.IO/DirectoryAspect.cs b/tracer/src/Datadog.Trace/Iast/Aspects/System.IO/DirectoryAspect.cs index d045032674cf..3d2d6dd31d01 100644 --- a/tracer/src/Datadog.Trace/Iast/Aspects/System.IO/DirectoryAspect.cs +++ b/tracer/src/Datadog.Trace/Iast/Aspects/System.IO/DirectoryAspect.cs @@ -7,12 +7,13 @@ using System; using Datadog.Trace.AppSec; +using Datadog.Trace.ClrProfiler; using Datadog.Trace.Iast.Dataflow; namespace Datadog.Trace.Iast.Aspects; /// DirectoryAspect class aspects -[AspectClass("mscorlib,System.IO.FileSystem,System.Runtime", AspectType.RaspIastSink, VulnerabilityType.PathTraversal)] +[AspectClass("mscorlib,System.IO.FileSystem,System.Runtime", InstrumentationCategory.IastRasp, AspectType.Sink, VulnerabilityType.PathTraversal)] [global::System.ComponentModel.Browsable(false)] [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public class DirectoryAspect diff --git a/tracer/src/Datadog.Trace/Iast/Aspects/System.IO/DirectoryInfoAspect.cs b/tracer/src/Datadog.Trace/Iast/Aspects/System.IO/DirectoryInfoAspect.cs index c3b45f07e755..0235035587f6 100644 --- a/tracer/src/Datadog.Trace/Iast/Aspects/System.IO/DirectoryInfoAspect.cs +++ b/tracer/src/Datadog.Trace/Iast/Aspects/System.IO/DirectoryInfoAspect.cs @@ -7,12 +7,13 @@ using System; using Datadog.Trace.AppSec; +using Datadog.Trace.ClrProfiler; using Datadog.Trace.Iast.Dataflow; namespace Datadog.Trace.Iast.Aspects; /// DirectoryInfoAspect class aspects -[AspectClass("mscorlib,System.IO.FileSystem,System.Runtime", AspectType.RaspIastSink, VulnerabilityType.PathTraversal)] +[AspectClass("mscorlib,System.IO.FileSystem,System.Runtime", InstrumentationCategory.IastRasp, AspectType.Sink, VulnerabilityType.PathTraversal)] [global::System.ComponentModel.Browsable(false)] [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public class DirectoryInfoAspect diff --git a/tracer/src/Datadog.Trace/Iast/Aspects/System.IO/FileAspect.cs b/tracer/src/Datadog.Trace/Iast/Aspects/System.IO/FileAspect.cs index 0d862893c8ca..dfb390532bb5 100644 --- a/tracer/src/Datadog.Trace/Iast/Aspects/System.IO/FileAspect.cs +++ b/tracer/src/Datadog.Trace/Iast/Aspects/System.IO/FileAspect.cs @@ -7,12 +7,13 @@ using System; using Datadog.Trace.AppSec; +using Datadog.Trace.ClrProfiler; using Datadog.Trace.Iast.Dataflow; namespace Datadog.Trace.Iast.Aspects; /// File class aspects -[AspectClass("mscorlib,System.IO.FileSystem,System.Runtime", AspectType.RaspIastSink, VulnerabilityType.PathTraversal)] +[AspectClass("mscorlib,System.IO.FileSystem,System.Runtime", InstrumentationCategory.IastRasp, AspectType.Sink, VulnerabilityType.PathTraversal)] [global::System.ComponentModel.Browsable(false)] [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public class FileAspect diff --git a/tracer/src/Datadog.Trace/Iast/Aspects/System.IO/FileInfoAspect.cs b/tracer/src/Datadog.Trace/Iast/Aspects/System.IO/FileInfoAspect.cs index cac9fd79a8db..65e4dff1b885 100644 --- a/tracer/src/Datadog.Trace/Iast/Aspects/System.IO/FileInfoAspect.cs +++ b/tracer/src/Datadog.Trace/Iast/Aspects/System.IO/FileInfoAspect.cs @@ -7,12 +7,13 @@ using System; using Datadog.Trace.AppSec; +using Datadog.Trace.ClrProfiler; using Datadog.Trace.Iast.Dataflow; namespace Datadog.Trace.Iast.Aspects; /// FileInfoAspect class aspects -[AspectClass("mscorlib,System.IO.FileSystem,System.Runtime", AspectType.RaspIastSink, VulnerabilityType.PathTraversal)] +[AspectClass("mscorlib,System.IO.FileSystem,System.Runtime", InstrumentationCategory.IastRasp, AspectType.Sink, VulnerabilityType.PathTraversal)] [global::System.ComponentModel.Browsable(false)] [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public class FileInfoAspect diff --git a/tracer/src/Datadog.Trace/Iast/Aspects/System.IO/FileStreamAspect.cs b/tracer/src/Datadog.Trace/Iast/Aspects/System.IO/FileStreamAspect.cs index 1b65e90da725..cc8a67d8dd6b 100644 --- a/tracer/src/Datadog.Trace/Iast/Aspects/System.IO/FileStreamAspect.cs +++ b/tracer/src/Datadog.Trace/Iast/Aspects/System.IO/FileStreamAspect.cs @@ -7,12 +7,13 @@ using System; using Datadog.Trace.AppSec; +using Datadog.Trace.ClrProfiler; using Datadog.Trace.Iast.Dataflow; namespace Datadog.Trace.Iast.Aspects; /// StreamWriterAspect class aspects -[AspectClass("mscorlib,System.IO.FileSystem,System.Runtime", AspectType.RaspIastSink, VulnerabilityType.PathTraversal)] +[AspectClass("mscorlib,System.IO.FileSystem,System.Runtime", InstrumentationCategory.IastRasp, AspectType.Sink, VulnerabilityType.PathTraversal)] [global::System.ComponentModel.Browsable(false)] [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public class FileStreamAspect diff --git a/tracer/src/Datadog.Trace/Iast/Aspects/System.IO/StreamReaderAspect.cs b/tracer/src/Datadog.Trace/Iast/Aspects/System.IO/StreamReaderAspect.cs index dcfed231b323..7a2a175deb0f 100644 --- a/tracer/src/Datadog.Trace/Iast/Aspects/System.IO/StreamReaderAspect.cs +++ b/tracer/src/Datadog.Trace/Iast/Aspects/System.IO/StreamReaderAspect.cs @@ -7,12 +7,13 @@ using System; using Datadog.Trace.AppSec; +using Datadog.Trace.ClrProfiler; using Datadog.Trace.Iast.Dataflow; namespace Datadog.Trace.Iast.Aspects; /// StreamReaderAspect class aspects -[AspectClass("mscorlib,System.IO.FileSystem,System.Runtime", AspectType.RaspIastSink, VulnerabilityType.PathTraversal)] +[AspectClass("mscorlib,System.IO.FileSystem,System.Runtime", InstrumentationCategory.IastRasp, AspectType.Sink, VulnerabilityType.PathTraversal)] [global::System.ComponentModel.Browsable(false)] [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public class StreamReaderAspect diff --git a/tracer/src/Datadog.Trace/Iast/Aspects/System.IO/StreamWriterAspect.cs b/tracer/src/Datadog.Trace/Iast/Aspects/System.IO/StreamWriterAspect.cs index fb2e20461cfb..b9ffc399df2c 100644 --- a/tracer/src/Datadog.Trace/Iast/Aspects/System.IO/StreamWriterAspect.cs +++ b/tracer/src/Datadog.Trace/Iast/Aspects/System.IO/StreamWriterAspect.cs @@ -7,12 +7,13 @@ using Datadog.Trace.AppSec; using Datadog.Trace.AppSec.Rasp; +using Datadog.Trace.ClrProfiler; using Datadog.Trace.Iast.Dataflow; namespace Datadog.Trace.Iast.Aspects; /// StreamWriterAspect class aspects -[AspectClass("mscorlib,System.IO.FileSystem,System.Runtime", AspectType.RaspIastSink, VulnerabilityType.PathTraversal)] +[AspectClass("mscorlib,System.IO.FileSystem,System.Runtime", InstrumentationCategory.IastRasp, AspectType.Sink, VulnerabilityType.PathTraversal)] [global::System.ComponentModel.Browsable(false)] [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public class StreamWriterAspect diff --git a/tracer/src/Datadog.Trace/Iast/Aspects/System.Net/HttpClientAspect.cs b/tracer/src/Datadog.Trace/Iast/Aspects/System.Net/HttpClientAspect.cs index aeaae8c14573..cf5d89f73590 100644 --- a/tracer/src/Datadog.Trace/Iast/Aspects/System.Net/HttpClientAspect.cs +++ b/tracer/src/Datadog.Trace/Iast/Aspects/System.Net/HttpClientAspect.cs @@ -8,6 +8,7 @@ #endif using System; using Datadog.Trace.AppSec; +using Datadog.Trace.ClrProfiler; #if NETFRAMEWORK using Datadog.Trace.DuckTyping; @@ -19,7 +20,7 @@ namespace Datadog.Trace.Iast.Aspects.System.Net; /// HttpClient class aspects -[AspectClass("System.Net.Http", AspectType.RaspIastSink, VulnerabilityType.Ssrf)] +[AspectClass("System.Net.Http", InstrumentationCategory.IastRasp, AspectType.Sink, VulnerabilityType.Ssrf)] [global::System.ComponentModel.Browsable(false)] [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public class HttpClientAspect diff --git a/tracer/src/Datadog.Trace/Iast/Aspects/System.Net/WebClientAspect.cs b/tracer/src/Datadog.Trace/Iast/Aspects/System.Net/WebClientAspect.cs index 1d64943bca5d..61cf81869da5 100644 --- a/tracer/src/Datadog.Trace/Iast/Aspects/System.Net/WebClientAspect.cs +++ b/tracer/src/Datadog.Trace/Iast/Aspects/System.Net/WebClientAspect.cs @@ -5,6 +5,7 @@ using System; using Datadog.Trace.AppSec; +using Datadog.Trace.ClrProfiler; using Datadog.Trace.Iast.Dataflow; #nullable enable @@ -12,7 +13,7 @@ namespace Datadog.Trace.Iast.Aspects.System.Net; /// WebClient class aspects -[AspectClass("System.Net.WebClient,System", AspectType.RaspIastSink, VulnerabilityType.Ssrf)] +[AspectClass("System.Net.WebClient,System", InstrumentationCategory.IastRasp, AspectType.Sink, VulnerabilityType.Ssrf)] [global::System.ComponentModel.Browsable(false)] [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public class WebClientAspect diff --git a/tracer/src/Datadog.Trace/Iast/Aspects/System.Net/WebRequestAspect.cs b/tracer/src/Datadog.Trace/Iast/Aspects/System.Net/WebRequestAspect.cs index 731f55d61632..bae99b46457e 100644 --- a/tracer/src/Datadog.Trace/Iast/Aspects/System.Net/WebRequestAspect.cs +++ b/tracer/src/Datadog.Trace/Iast/Aspects/System.Net/WebRequestAspect.cs @@ -5,6 +5,7 @@ using System; using Datadog.Trace.AppSec; +using Datadog.Trace.ClrProfiler; using Datadog.Trace.Iast.Dataflow; #nullable enable @@ -12,7 +13,7 @@ namespace Datadog.Trace.Iast.Aspects.System.Net; /// HttpWebRequest class aspects -[AspectClass("System.Net.Requests,System,netstandard", AspectType.RaspIastSink, VulnerabilityType.Ssrf)] +[AspectClass("System.Net.Requests,System,netstandard", InstrumentationCategory.IastRasp, AspectType.Sink, VulnerabilityType.Ssrf)] [global::System.ComponentModel.Browsable(false)] [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] public class WebRequestAspect diff --git a/tracer/src/Datadog.Trace/Iast/Dataflow/AspectClassAttribute.cs b/tracer/src/Datadog.Trace/Iast/Dataflow/AspectClassAttribute.cs index 6653b89eae72..c1b573aae79f 100644 --- a/tracer/src/Datadog.Trace/Iast/Dataflow/AspectClassAttribute.cs +++ b/tracer/src/Datadog.Trace/Iast/Dataflow/AspectClassAttribute.cs @@ -7,6 +7,7 @@ using System; using System.Collections.Generic; using System.Linq; +using Datadog.Trace.ClrProfiler; using Datadog.Trace.Iast.Helpers; namespace Datadog.Trace.Iast.Dataflow; @@ -21,17 +22,22 @@ public AspectClassAttribute() { } - public AspectClassAttribute(string defaultAssembly) - : this(defaultAssembly, new AspectFilter[0], AspectType.Propagation) + public AspectClassAttribute(string defaultAssembly, InstrumentationCategory category = InstrumentationCategory.Iast) + : this(defaultAssembly, new AspectFilter[0], category, AspectType.Propagation) { } public AspectClassAttribute(string defaultAssembly, AspectType defaultAspectType, params VulnerabilityType[] defaultVulnerabilityTypes) - : this(defaultAssembly, new AspectFilter[0], defaultAspectType, defaultVulnerabilityTypes) + : this(defaultAssembly, new AspectFilter[0], InstrumentationCategory.Iast, defaultAspectType, defaultVulnerabilityTypes) { } - public AspectClassAttribute(string defaultAssembly, AspectFilter[] filters, AspectType defaultAspectType = AspectType.Propagation, params VulnerabilityType[] defaultVulnerabilityTypes) + public AspectClassAttribute(string defaultAssembly, InstrumentationCategory category, AspectType defaultAspectType, params VulnerabilityType[] defaultVulnerabilityTypes) + : this(defaultAssembly, new AspectFilter[0], category, defaultAspectType, defaultVulnerabilityTypes) + { + } + + public AspectClassAttribute(string defaultAssembly, AspectFilter[] filters, InstrumentationCategory category = InstrumentationCategory.Iast, AspectType defaultAspectType = AspectType.Propagation, params VulnerabilityType[] defaultVulnerabilityTypes) { if (filters.Length == 0) { filters = new AspectFilter[] { AspectFilter.None }; } diff --git a/tracer/src/Datadog.Trace/Iast/Dataflow/AspectClassFromVersionAttribute.cs b/tracer/src/Datadog.Trace/Iast/Dataflow/AspectClassFromVersionAttribute.cs index f015033e7e1f..c7d42eeebf67 100644 --- a/tracer/src/Datadog.Trace/Iast/Dataflow/AspectClassFromVersionAttribute.cs +++ b/tracer/src/Datadog.Trace/Iast/Dataflow/AspectClassFromVersionAttribute.cs @@ -6,6 +6,7 @@ #nullable enable using System; using System.Collections.Generic; +using Datadog.Trace.ClrProfiler; namespace Datadog.Trace.Iast.Dataflow; @@ -19,18 +20,18 @@ public AspectClassFromVersionAttribute(string version) { } - public AspectClassFromVersionAttribute(string version, string defaultAssembly) - : base(defaultAssembly) + public AspectClassFromVersionAttribute(string version, string defaultAssembly, InstrumentationCategory category = InstrumentationCategory.Iast) + : base(defaultAssembly, category) { } - public AspectClassFromVersionAttribute(string version, string defaultAssembly, AspectType defaultAspectType, params VulnerabilityType[] defaultVulnerabilityTypes) - : base(defaultAssembly, defaultAspectType, defaultVulnerabilityTypes) + public AspectClassFromVersionAttribute(string version, string defaultAssembly, InstrumentationCategory category, AspectType defaultAspectType, params VulnerabilityType[] defaultVulnerabilityTypes) + : base(defaultAssembly, category, defaultAspectType, defaultVulnerabilityTypes) { } - public AspectClassFromVersionAttribute(string version, string defaultAssembly, AspectFilter[] filters, AspectType defaultAspectType = AspectType.Propagation, params VulnerabilityType[] defaultVulnerabilityTypes) - : base(defaultAssembly, filters, defaultAspectType, defaultVulnerabilityTypes) + public AspectClassFromVersionAttribute(string version, string defaultAssembly, AspectFilter[] filters, InstrumentationCategory category, AspectType defaultAspectType = AspectType.Propagation, params VulnerabilityType[] defaultVulnerabilityTypes) + : base(defaultAssembly, filters, category, defaultAspectType, defaultVulnerabilityTypes) { } } diff --git a/tracer/src/Datadog.Trace/Iast/Dataflow/AspectType.cs b/tracer/src/Datadog.Trace/Iast/Dataflow/AspectType.cs index a30ac9f87b20..3a7df100870a 100644 --- a/tracer/src/Datadog.Trace/Iast/Dataflow/AspectType.cs +++ b/tracer/src/Datadog.Trace/Iast/Dataflow/AspectType.cs @@ -21,7 +21,4 @@ internal enum AspectType /// Source aspect Source, - - /// Rasp and Iast Sink aspect - RaspIastSink, } diff --git a/tracer/src/Datadog.Trace/Telemetry/DTOs/ConfigTelemetryData.cs b/tracer/src/Datadog.Trace/Telemetry/DTOs/ConfigTelemetryData.cs index b83ce8c20ee6..cca02a163c45 100644 --- a/tracer/src/Datadog.Trace/Telemetry/DTOs/ConfigTelemetryData.cs +++ b/tracer/src/Datadog.Trace/Telemetry/DTOs/ConfigTelemetryData.cs @@ -5,6 +5,8 @@ #nullable enable +using Datadog.Trace.ClrProfiler; + namespace Datadog.Trace.Telemetry { internal static class ConfigTelemetryData @@ -27,12 +29,16 @@ internal static class ConfigTelemetryData // We intentionally are using specific values here, not OR_GREATER_THAN #if NET6_0 public const string ManagedTracerTfmValue = "net6.0"; + public const TargetFrameworks TargetFramework = TargetFrameworks.NET6_0; #elif NETCOREAPP3_1 public const string ManagedTracerTfmValue = "netcoreapp3.1"; + public const TargetFrameworks TargetFramework = TargetFrameworks.NETCOREAPP3_1; #elif NETSTANDARD2_0 public const string ManagedTracerTfmValue = "netstandard2.0"; + public const TargetFrameworks TargetFramework = TargetFrameworks.NETSTANDARD2_0; #elif NETFRAMEWORK public const string ManagedTracerTfmValue = "net461"; + public const TargetFrameworks TargetFramework = TargetFrameworks.NET461; #else #error Unexpected TFM #endif diff --git a/tracer/src/Datadog.Tracer.Native/CMakeLists.txt b/tracer/src/Datadog.Tracer.Native/CMakeLists.txt index f2bdafca6bcf..e690e88b40b4 100644 --- a/tracer/src/Datadog.Tracer.Native/CMakeLists.txt +++ b/tracer/src/Datadog.Tracer.Native/CMakeLists.txt @@ -207,6 +207,7 @@ add_library("Datadog.Tracer.Native.static" STATIC tracer_integration_definition.cpp tracer_method_rewriter.cpp tracer_rejit_preprocessor.cpp + Generated/generated_definitions.cpp ) set_target_properties("Datadog.Tracer.Native.static" PROPERTIES PREFIX "") diff --git a/tracer/src/Datadog.Tracer.Native/Datadog.Tracer.Native.def b/tracer/src/Datadog.Tracer.Native/Datadog.Tracer.Native.def index 83b7a297aee9..6b579a232b56 100644 --- a/tracer/src/Datadog.Tracer.Native/Datadog.Tracer.Native.def +++ b/tracer/src/Datadog.Tracer.Native/Datadog.Tracer.Native.def @@ -24,3 +24,4 @@ EXPORTS ShouldHeal ReportSuccessfulInstrumentation GetUserStrings + InitEmbeddedCallSiteDefinitions diff --git a/tracer/src/Datadog.Tracer.Native/Datadog.Tracer.Native.vcxproj b/tracer/src/Datadog.Tracer.Native/Datadog.Tracer.Native.vcxproj index 705fc429d3da..fb96746a42d3 100644 --- a/tracer/src/Datadog.Tracer.Native/Datadog.Tracer.Native.vcxproj +++ b/tracer/src/Datadog.Tracer.Native/Datadog.Tracer.Native.vcxproj @@ -283,6 +283,8 @@ + + @@ -365,6 +367,7 @@ + diff --git a/tracer/src/Datadog.Tracer.Native/Datadog.Tracer.Native.vcxproj.filters b/tracer/src/Datadog.Tracer.Native/Datadog.Tracer.Native.vcxproj.filters index e28ec225a4ea..93a77c61c4db 100644 --- a/tracer/src/Datadog.Tracer.Native/Datadog.Tracer.Native.vcxproj.filters +++ b/tracer/src/Datadog.Tracer.Native/Datadog.Tracer.Native.vcxproj.filters @@ -116,6 +116,7 @@ Iast + @@ -134,7 +135,6 @@ - Debugger @@ -266,6 +266,9 @@ Iast + + + diff --git a/tracer/src/Datadog.Tracer.Native/Generated/generated_callsites.g.h b/tracer/src/Datadog.Tracer.Native/Generated/generated_callsites.g.h new file mode 100644 index 000000000000..cade04aec78d --- /dev/null +++ b/tracer/src/Datadog.Tracer.Native/Generated/generated_callsites.g.h @@ -0,0 +1,670 @@ +// +// Unless explicitly stated otherwise all files in this repository are licensed under the Apache 2 License. +// This product includes software developed at Datadog (https://www.datadoghq.com/). Copyright 2017 Datadog, Inc. +// +// +#pragma once +#include "generated_definitions.h" + +namespace trace +{ + +std::vector g_callSites= +{ +(WCHAR*)WStr("[AspectClass(\"EntityFramework\",[None],Sink,[SqlInjection])] Datadog.Trace.Iast.Aspects.EntityCommandAspect 12"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Data.Entity.Core.EntityClient.EntityCommand::ExecuteReader(System.Data.CommandBehavior)\",\"\",[1],[False],[None],Default,[])] ReviewSqlCommand(System.Object) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Data.Entity.Core.EntityClient.EntityCommand::ExecuteReaderAsync(System.Data.CommandBehavior)\",\"\",[1],[False],[None],Default,[])] ReviewSqlCommand(System.Object) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Data.Entity.Core.EntityClient.EntityCommand::ExecuteReaderAsync(System.Data.CommandBehavior,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewSqlCommand(System.Object) 165"), +(WCHAR*)WStr("[AspectClass(\"Microsoft.AspNetCore.Http\",[None],Sink,[UnvalidatedRedirect])] Datadog.Trace.Iast.Aspects.AspNetCore.Http.HttpResponseAspect 4"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Http.HttpResponse::Redirect(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Http.HttpResponse::Redirect(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] Redirect(System.String) 165"), +(WCHAR*)WStr("[AspectClass(\"Microsoft.AspNetCore.Http.Extensions\",[None],Sink,[TrustBoundaryViolation])] Datadog.Trace.Iast.Aspects.System.Web.SessionState.SessionExtensionsAspect 4"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Http.SessionExtensions::SetInt32(Microsoft.AspNetCore.Http.ISession,System.String,System.Int32)\",\"\",[1],[False],[None],Default,[])] ReviewTbv(System.String) 164"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Http.SessionExtensions::SetString(Microsoft.AspNetCore.Http.ISession,System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewTbv(System.String) 164"), +(WCHAR*)WStr("[AspectClass(\"Microsoft.AspNetCore.Mvc\",[None],Sink,[UnvalidatedRedirect])] Datadog.Trace.Iast.Aspects.AspNetCore.Mvc.ControllerBaseAspect 4"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Mvc.ControllerBase::LocalRedirect(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Mvc.ControllerBase::LocalRedirectPermanent(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Mvc.ControllerBase::LocalRedirectPermanentPreserveMethod(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Mvc.ControllerBase::LocalRedirectPreserveMethod(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Mvc.ControllerBase::Redirect(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Mvc.ControllerBase::RedirectPermanent(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Mvc.ControllerBase::RedirectPermanentPreserveMethod(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"Microsoft.AspNetCore.Mvc.ControllerBase::RedirectPreserveMethod(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String) 165"), +(WCHAR*)WStr("[AspectClass(\"Microsoft.EntityFrameworkCore.Relational\",[None],Sink,[SqlInjection])] Datadog.Trace.Iast.Aspects.EntityFrameworkCoreAspect 12"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions::ExecuteSqlRaw(Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade,System.String,System.Collections.Generic.IEnumerable`1)\",\"\",[1],[False],[None],Default,[])] ReviewSqlString(System.String) 164"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions::ExecuteSqlRaw(Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade,System.String,System.Object[])\",\"\",[1],[False],[None],Default,[])] ReviewSqlString(System.String) 164"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions::ExecuteSqlRawAsync(Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade,System.String,System.Collections.Generic.IEnumerable`1,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewSqlString(System.String) 164"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions::ExecuteSqlRawAsync(Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade,System.String,System.Object[])\",\"\",[1],[False],[None],Default,[])] ReviewSqlString(System.String) 164"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions::ExecuteSqlRawAsync(Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade,System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewSqlString(System.String) 164"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"Microsoft.EntityFrameworkCore.RelationalQueryableExtensions::FromSqlRaw(Microsoft.EntityFrameworkCore.DbSet`1,System.String,System.Object[])\",\"\",[1],[False],[None],Default,[])] ReviewSqlString(System.String) 164"), +(WCHAR*)WStr("[AspectClass(\"MongoDB.Bson\",[None],Sink,[NoSqlMongoDbInjection])] Datadog.Trace.Iast.Aspects.MongoDB.BsonAspect 4"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"MongoDB.Bson.BsonDocument::Parse(System.String)\",\"\",[0],[False],[None],Default,[])] AnalyzeJsonString(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"MongoDB.Bson.IO.JsonReader::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] AnalyzeJsonString(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"MongoDB.Bson.Serialization.BsonSerializer::Deserialize(System.String,System.Action`1)\",\"\",[1],[False],[None],Default,[])] AnalyzeJsonString(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"MongoDB.Bson.Serialization.BsonSerializer::Deserialize(System.String,System.Type,System.Action`1)\",\"\",[2],[False],[None],Default,[])] AnalyzeJsonString(System.String) 165"), +(WCHAR*)WStr("[AspectClass(\"MongoDB.Driver\",[None],Sink,[NoSqlMongoDbInjection])] Datadog.Trace.Iast.Aspects.MongoDB.MongoDatabaseAspect 4"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"MongoDB.Driver.IMongoCollectionExtensions::Find(MongoDB.Driver.IMongoCollection`1,MongoDB.Driver.FilterDefinition`1,MongoDB.Driver.FindOptions)\",\"\",[1],[False],[None],Default,[])] AnalyzeCommand(System.Object) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"MongoDB.Driver.IMongoCollectionExtensions::FindAsync(MongoDB.Driver.IMongoCollection`1,MongoDB.Driver.FilterDefinition`1,MongoDB.Driver.FindOptions`2,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] AnalyzeCommand(System.Object) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"MongoDB.Driver.IMongoDatabase::RunCommand(MongoDB.Driver.Command`1,MongoDB.Driver.ReadPreference,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] AnalyzeCommand(System.Object) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"MongoDB.Driver.IMongoDatabase::RunCommandAsync(MongoDB.Driver.Command`1,MongoDB.Driver.ReadPreference,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] AnalyzeCommand(System.Object) 165"), +(WCHAR*)WStr("[AspectClass(\"mscorlib\",[None],Propagation,[])] Datadog.Trace.Iast.Aspects.HashAlgorithmAspect 4"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Security.Cryptography.HashAlgorithm::ComputeHash(System.Byte[])\",\"\",[1],[False],[None],Default,[])] ComputeHash(System.Security.Cryptography.HashAlgorithm) 1"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Security.Cryptography.HashAlgorithm::ComputeHash(System.Byte[],System.Int32,System.Int32)\",\"\",[3],[False],[None],Default,[])] ComputeHash(System.Security.Cryptography.HashAlgorithm) 1"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Security.Cryptography.HashAlgorithm::ComputeHash(System.IO.Stream)\",\"\",[1],[False],[None],Default,[])] ComputeHash(System.Security.Cryptography.HashAlgorithm) 1"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Security.Cryptography.HashAlgorithm::ComputeHashAsync(System.IO.Stream,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ComputeHash(System.Security.Cryptography.HashAlgorithm) 1"), +(WCHAR*)WStr("[AspectClass(\"mscorlib\",[None],Propagation,[])] Datadog.Trace.Iast.Aspects.SymmetricAlgorithmAspect 4"), +(WCHAR*)WStr(" [AspectCtorReplace(\"System.Security.Cryptography.AesCryptoServiceProvider::.ctor()\",\"\",[0],[False],[None],Default,[])] InitAesCryptoServiceProvider() 1"), +(WCHAR*)WStr(" [AspectCtorReplace(\"System.Security.Cryptography.DESCryptoServiceProvider::.ctor()\",\"\",[0],[False],[None],Default,[])] InitDES() 1"), +(WCHAR*)WStr(" [AspectCtorReplace(\"System.Security.Cryptography.RC2CryptoServiceProvider::.ctor()\",\"\",[0],[False],[None],Default,[])] InitRC2() 1"), +(WCHAR*)WStr(" [AspectCtorReplace(\"System.Security.Cryptography.RijndaelManaged::.ctor()\",\"\",[0],[False],[None],Default,[])] InitRijndaelManaged() 1"), +(WCHAR*)WStr(" [AspectCtorReplace(\"System.Security.Cryptography.TripleDESCryptoServiceProvider::.ctor()\",\"\",[0],[False],[None],Default,[])] InitTripleDES() 1"), +(WCHAR*)WStr(" [AspectMethodInsertAfter(\"System.Security.Cryptography.Aes::Create()\",\"\",[0],[False],[None],Default,[])] Create(System.Security.Cryptography.SymmetricAlgorithm) 1"), +(WCHAR*)WStr(" [AspectMethodInsertAfter(\"System.Security.Cryptography.Aes::Create(System.String)\",\"\",[0],[False],[None],Default,[])] Create(System.Security.Cryptography.SymmetricAlgorithm) 1"), +(WCHAR*)WStr(" [AspectMethodInsertAfter(\"System.Security.Cryptography.DES::Create()\",\"\",[0],[False],[None],Default,[])] Create(System.Security.Cryptography.SymmetricAlgorithm) 1"), +(WCHAR*)WStr(" [AspectMethodInsertAfter(\"System.Security.Cryptography.DES::Create(System.String)\",\"\",[0],[False],[None],Default,[])] Create(System.Security.Cryptography.SymmetricAlgorithm) 1"), +(WCHAR*)WStr(" [AspectMethodInsertAfter(\"System.Security.Cryptography.RC2::Create()\",\"\",[0],[False],[None],Default,[])] Create(System.Security.Cryptography.SymmetricAlgorithm) 1"), +(WCHAR*)WStr(" [AspectMethodInsertAfter(\"System.Security.Cryptography.RC2::Create(System.String)\",\"\",[0],[False],[None],Default,[])] Create(System.Security.Cryptography.SymmetricAlgorithm) 1"), +(WCHAR*)WStr(" [AspectMethodInsertAfter(\"System.Security.Cryptography.Rijndael::Create()\",\"\",[0],[False],[None],Default,[])] Create(System.Security.Cryptography.SymmetricAlgorithm) 1"), +(WCHAR*)WStr(" [AspectMethodInsertAfter(\"System.Security.Cryptography.Rijndael::Create(System.String)\",\"\",[0],[False],[None],Default,[])] Create(System.Security.Cryptography.SymmetricAlgorithm) 1"), +(WCHAR*)WStr(" [AspectMethodInsertAfter(\"System.Security.Cryptography.TripleDES::Create()\",\"\",[0],[False],[None],Default,[])] Create(System.Security.Cryptography.SymmetricAlgorithm) 1"), +(WCHAR*)WStr(" [AspectMethodInsertAfter(\"System.Security.Cryptography.TripleDES::Create(System.String)\",\"\",[0],[False],[None],Default,[])] Create(System.Security.Cryptography.SymmetricAlgorithm) 1"), +(WCHAR*)WStr("[AspectClass(\"mscorlib,netstandard,System.Private.CoreLib,System.Runtime\",[StringOptimization],Propagation,[])] Datadog.Trace.Iast.Aspects.System.StringAspects 4"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::Concat(System.Collections.Generic.IEnumerable`1)\",\"\",[0],[False],[None],Default,[]);V3.2.0] Concat(System.Collections.Generic.IEnumerable`1) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::Concat(System.Collections.Generic.IEnumerable`1)\",\"\",[0],[False],[None],Default,[])] Concat(System.Collections.Generic.IEnumerable`1) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::Concat(System.Object,System.Object)\",\"\",[0],[False],[None],Default,[])] Concat(System.Object,System.Object) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::Concat(System.Object,System.Object,System.Object)\",\"\",[0],[False],[None],Default,[])] Concat(System.Object,System.Object,System.Object) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::Concat(System.Object,System.Object,System.Object,System.Object)\",\"\",[0],[False],[None],Default,[])] Concat(System.Object,System.Object,System.Object,System.Object) 1"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::Concat(System.Object[])\",\"\",[0],[False],[None],Default,[])] Concat(System.Object[]) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::Concat(System.String,System.String)\",\"\",[0],[False],[StringLiterals_Any],Default,[])] Concat(System.String,System.String) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::Concat(System.String,System.String)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Concat_0(System.String,System.String) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::Concat(System.String,System.String)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Concat_1(System.String,System.String) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::Concat(System.String,System.String,System.String)\",\"\",[0],[False],[StringLiterals],Default,[])] Concat(System.String,System.String,System.String) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::Concat(System.String,System.String,System.String,System.String)\",\"\",[0],[False],[StringLiterals],Default,[])] Concat(System.String,System.String,System.String,System.String) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::Concat(System.String[])\",\"\",[0],[False],[None],Default,[])] Concat(System.String[]) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::Copy(System.String)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Copy(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::Format(System.IFormatProvider,System.String,System.Object)\",\"\",[0],[False],[None],Default,[])] Format(System.IFormatProvider,System.String,System.Object) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::Format(System.IFormatProvider,System.String,System.Object,System.Object)\",\"\",[0],[False],[None],Default,[])] Format(System.IFormatProvider,System.String,System.Object,System.Object) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::Format(System.IFormatProvider,System.String,System.Object,System.Object,System.Object)\",\"\",[0],[False],[None],Default,[])] Format(System.IFormatProvider,System.String,System.Object,System.Object,System.Object) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::Format(System.IFormatProvider,System.String,System.Object[])\",\"\",[0],[False],[None],Default,[])] Format(System.IFormatProvider,System.String,System.Object[]) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::Format(System.String,System.Object)\",\"\",[0],[False],[StringLiterals],Default,[])] Format(System.String,System.Object) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::Format(System.String,System.Object,System.Object)\",\"\",[0],[False],[StringLiterals],Default,[])] Format(System.String,System.Object,System.Object) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::Format(System.String,System.Object,System.Object,System.Object)\",\"\",[0],[False],[StringLiterals],Default,[])] Format(System.String,System.Object,System.Object,System.Object) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::Format(System.String,System.Object[])\",\"\",[0],[False],[None],Default,[])] Format(System.String,System.Object[]) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::Insert(System.Int32,System.String)\",\"\",[0],[False],[StringOptimization],Default,[])] Insert(System.String,System.Int32,System.String) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::Join(System.Char,System.Collections.Generic.IEnumerable`1)\",\"\",[0],[False],[None],Default,[]);V3.2.0] Join(System.Char,System.Collections.Generic.IEnumerable`1) 160"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::Join(System.Char,System.Object[])\",\"\",[0],[False],[None],Default,[])] Join(System.Char,System.Object[]) 160"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::Join(System.Char,System.String[])\",\"\",[0],[False],[None],Default,[])] Join(System.Char,System.String[]) 160"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::Join(System.Char,System.String[],System.Int32,System.Int32)\",\"\",[0],[False],[None],Default,[])] Join(System.Char,System.String[],System.Int32,System.Int32) 160"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::Join(System.String,System.Collections.Generic.IEnumerable`1)\",\"\",[0],[False],[None],Default,[]);V3.2.0] Join(System.String,System.Collections.Generic.IEnumerable`1) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::Join(System.String,System.Collections.Generic.IEnumerable`1)\",\"\",[0],[False],[None],Default,[])] JoinString(System.String,System.Collections.Generic.IEnumerable`1) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::Join(System.String,System.Object[])\",\"\",[0],[False],[None],Default,[])] Join(System.String,System.Object[]) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::Join(System.String,System.String[])\",\"\",[0],[False],[None],Default,[])] Join(System.String,System.String[]) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::Join(System.String,System.String[],System.Int32,System.Int32)\",\"\",[0],[False],[None],Default,[])] Join(System.String,System.String[],System.Int32,System.Int32) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::PadLeft(System.Int32)\",\"\",[0],[False],[StringLiteral_0],Default,[])] PadLeft(System.String,System.Int32) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::PadLeft(System.Int32,System.Char)\",\"\",[0],[False],[StringLiteral_0],Default,[])] PadLeft(System.String,System.Int32,System.Char) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::PadRight(System.Int32)\",\"\",[0],[False],[StringLiteral_0],Default,[])] PadRight(System.String,System.Int32) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::PadRight(System.Int32,System.Char)\",\"\",[0],[False],[StringLiteral_0],Default,[])] PadRight(System.String,System.Int32,System.Char) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::Remove(System.Int32)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Remove(System.String,System.Int32) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::Remove(System.Int32,System.Int32)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Remove(System.String,System.Int32,System.Int32) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::Replace(System.Char,System.Char)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Replace(System.String,System.Char,System.Char) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::Replace(System.String,System.String)\",\"\",[0],[False],[StringLiterals],Default,[])] Replace(System.String,System.String,System.String) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::Replace(System.String,System.String,System.Boolean,System.Globalization.CultureInfo)\",\"\",[0],[False],[None],Default,[])] Replace(System.String,System.String,System.String,System.Boolean,System.Globalization.CultureInfo) 160"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::Replace(System.String,System.String,System.StringComparison)\",\"\",[0],[False],[None],Default,[])] Replace(System.String,System.String,System.String,System.StringComparison) 160"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::Split(System.Char,System.Int32,System.StringSplitOptions)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Split(System.String,System.Char,System.Int32,System.StringSplitOptions) 160"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::Split(System.Char,System.StringSplitOptions)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Split(System.String,System.Char,System.StringSplitOptions) 160"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::Split(System.Char[])\",\"\",[0],[False],[StringLiteral_0],Default,[])] Split(System.String,System.Char[]) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::Split(System.Char[],System.Int32)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Split(System.String,System.Char[],System.Int32) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::Split(System.Char[],System.Int32,System.StringSplitOptions)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Split(System.String,System.Char[],System.Int32,System.StringSplitOptions) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::Split(System.Char[],System.StringSplitOptions)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Split(System.String,System.Char[],System.StringSplitOptions) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::Split(System.String,System.Int32,System.StringSplitOptions)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Split(System.String,System.String,System.Int32,System.StringSplitOptions) 160"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::Split(System.String,System.StringSplitOptions)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Split(System.String,System.String,System.StringSplitOptions) 160"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::Split(System.String[],System.Int32,System.StringSplitOptions)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Split(System.String,System.String[],System.Int32,System.StringSplitOptions) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::Split(System.String[],System.StringSplitOptions)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Split(System.String,System.String[],System.StringSplitOptions) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::Substring(System.Int32)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Substring(System.String,System.Int32) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::Substring(System.Int32,System.Int32)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Substring(System.String,System.Int32,System.Int32) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::ToCharArray()\",\"\",[0],[False],[StringLiteral_0],Default,[])] ToCharArray(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::ToCharArray(System.Int32,System.Int32)\",\"\",[0],[False],[StringLiteral_0],Default,[])] ToCharArray(System.String,System.Int32,System.Int32) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::ToLower()\",\"\",[0],[False],[StringLiteral_0],Default,[])] ToLower(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::ToLower(System.Globalization.CultureInfo)\",\"\",[0],[False],[StringLiteral_0],Default,[])] ToLower(System.String,System.Globalization.CultureInfo) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::ToLowerInvariant()\",\"\",[0],[False],[StringLiteral_0],Default,[])] ToLowerInvariant(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::ToUpper()\",\"\",[0],[False],[StringLiteral_0],Default,[])] ToUpper(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::ToUpper(System.Globalization.CultureInfo)\",\"\",[0],[False],[StringLiteral_0],Default,[])] ToUpper(System.String,System.Globalization.CultureInfo) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::ToUpperInvariant()\",\"\",[0],[False],[StringLiteral_0],Default,[])] ToUpperInvariant(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::Trim()\",\"\",[0],[False],[StringLiteral_0],Default,[])] Trim(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::Trim(System.Char)\",\"\",[0],[False],[StringLiteral_0],Default,[])] Trim(System.String,System.Char) 164"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::Trim(System.Char[])\",\"\",[0],[False],[StringLiteral_0],Default,[])] Trim(System.String,System.Char[]) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::TrimEnd()\",\"\",[0],[False],[StringLiteral_0],Default,[])] TrimEnd(System.String) 164"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::TrimEnd(System.Char)\",\"\",[0],[False],[StringLiteral_0],Default,[])] TrimEnd(System.String,System.Char) 164"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::TrimEnd(System.Char[])\",\"\",[0],[False],[StringLiteral_0],Default,[])] TrimEnd(System.String,System.Char[]) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::TrimStart()\",\"\",[0],[False],[StringLiteral_0],Default,[])] TrimStart(System.String) 164"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::TrimStart(System.Char)\",\"\",[0],[False],[StringLiteral_0],Default,[])] TrimStart(System.String,System.Char) 164"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.String::TrimStart(System.Char[])\",\"\",[0],[False],[StringLiteral_0],Default,[])] TrimStart(System.String,System.Char[]) 165"), +(WCHAR*)WStr("[AspectClass(\"mscorlib,netstandard,System.Runtime\",[None],Propagation,[])] Datadog.Trace.Iast.Aspects.System.Text.StringBuilderAspects 4"), +(WCHAR*)WStr(" [AspectCtorReplace(\"System.Text.StringBuilder::.ctor(System.String)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Init(System.String) 165"), +(WCHAR*)WStr(" [AspectCtorReplace(\"System.Text.StringBuilder::.ctor(System.String,System.Int32)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Init(System.String,System.Int32) 165"), +(WCHAR*)WStr(" [AspectCtorReplace(\"System.Text.StringBuilder::.ctor(System.String,System.Int32,System.Int32,System.Int32)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Init(System.String,System.Int32,System.Int32,System.Int32) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Object::ToString()\",\"System.Text.StringBuilder\",[0],[False],[None],Default,[])] ToString(System.Object) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Text.StringBuilder::Append(System.Char[])\",\"\",[0],[False],[None],Default,[])] Append(System.Text.StringBuilder,System.Char[]) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Text.StringBuilder::Append(System.Char[],System.Int32,System.Int32)\",\"\",[0],[False],[None],Default,[])] Append(System.Text.StringBuilder,System.Char[],System.Int32,System.Int32) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Text.StringBuilder::Append(System.Object)\",\"\",[0],[False],[None],Default,[])] Append(System.Text.StringBuilder,System.Object) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Text.StringBuilder::Append(System.String)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Append(System.Text.StringBuilder,System.String) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Text.StringBuilder::Append(System.String,System.Int32,System.Int32)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Append(System.Text.StringBuilder,System.String,System.Int32,System.Int32) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Text.StringBuilder::Append(System.Text.StringBuilder)\",\"\",[0],[False],[None],Default,[])] Append(System.Text.StringBuilder,System.Text.StringBuilder) 164"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Text.StringBuilder::Append(System.Text.StringBuilder,System.Int32,System.Int32)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Append(System.Text.StringBuilder,System.Text.StringBuilder,System.Int32,System.Int32) 160"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Text.StringBuilder::AppendFormat(System.IFormatProvider,System.String,System.Object)\",\"\",[0],[False],[None],Default,[])] AppendFormat(System.Text.StringBuilder,System.IFormatProvider,System.String,System.Object) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Text.StringBuilder::AppendFormat(System.IFormatProvider,System.String,System.Object,System.Object)\",\"\",[0],[False],[None],Default,[])] AppendFormat(System.Text.StringBuilder,System.IFormatProvider,System.String,System.Object,System.Object) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Text.StringBuilder::AppendFormat(System.IFormatProvider,System.String,System.Object,System.Object,System.Object)\",\"\",[0],[False],[None],Default,[])] AppendFormat(System.Text.StringBuilder,System.IFormatProvider,System.String,System.Object,System.Object,System.Object) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Text.StringBuilder::AppendFormat(System.IFormatProvider,System.String,System.Object[])\",\"\",[0],[False],[None],Default,[])] AppendFormat(System.Text.StringBuilder,System.IFormatProvider,System.String,System.Object[]) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Text.StringBuilder::AppendFormat(System.String,System.Object)\",\"\",[0],[False],[None],Default,[])] AppendFormat(System.Text.StringBuilder,System.String,System.Object) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Text.StringBuilder::AppendFormat(System.String,System.Object,System.Object)\",\"\",[0],[False],[None],Default,[])] AppendFormat(System.Text.StringBuilder,System.String,System.Object,System.Object) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Text.StringBuilder::AppendFormat(System.String,System.Object,System.Object,System.Object)\",\"\",[0],[False],[None],Default,[])] AppendFormat(System.Text.StringBuilder,System.String,System.Object,System.Object,System.Object) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Text.StringBuilder::AppendFormat(System.String,System.Object[])\",\"\",[0],[False],[None],Default,[])] AppendFormat(System.Text.StringBuilder,System.String,System.Object[]) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Text.StringBuilder::AppendJoin(System.Char,System.Collections.Generic.IEnumerable`1)\",\"\",[0],[False],[None],Default,[]);V3.2.0] AppendJoin(System.Text.StringBuilder,System.Char,System.Collections.Generic.IEnumerable`1) 160"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Text.StringBuilder::AppendJoin(System.Char,System.Object[])\",\"\",[0],[False],[None],Default,[])] AppendJoin(System.Text.StringBuilder,System.Char,System.Object[]) 160"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Text.StringBuilder::AppendJoin(System.Char,System.String[])\",\"\",[0],[False],[None],Default,[])] AppendJoin(System.Text.StringBuilder,System.Char,System.String[]) 160"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Text.StringBuilder::AppendJoin(System.String,System.Collections.Generic.IEnumerable`1)\",\"\",[0],[False],[None],Default,[]);V3.2.0] AppendJoin(System.Text.StringBuilder,System.String,System.Collections.Generic.IEnumerable`1) 160"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Text.StringBuilder::AppendJoin(System.String,System.Object[])\",\"\",[0],[False],[None],Default,[])] AppendJoin(System.Text.StringBuilder,System.String,System.Object[]) 160"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Text.StringBuilder::AppendJoin(System.String,System.String[])\",\"\",[0],[False],[None],Default,[])] AppendJoin(System.Text.StringBuilder,System.String,System.String[]) 160"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Text.StringBuilder::AppendLine(System.String)\",\"\",[0],[False],[StringLiteral_1],Default,[])] AppendLine(System.Text.StringBuilder,System.String) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Text.StringBuilder::CopyTo(System.Int32,System.Char[],System.Int32,System.Int32)\",\"\",[0],[False],[None],Default,[])] CopyTo(System.Text.StringBuilder,System.Int32,System.Char[],System.Int32,System.Int32) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Boolean)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Boolean) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Byte)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Byte) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Char)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Char) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Char[])\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Char[]) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Char[],System.Int32,System.Int32)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Char[],System.Int32,System.Int32) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Decimal)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Decimal) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Double)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Double) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Int16)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Int16) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Int32)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Int32) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Int64)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Int64) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Object)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Object) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.SByte)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.SByte) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.Single)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.Single) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.String)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.String) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.String,System.Int32)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.String,System.Int32) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.UInt16)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.UInt16) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.UInt32)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.UInt32) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Text.StringBuilder::Insert(System.Int32,System.UInt64)\",\"\",[0],[False],[None],Default,[])] Insert(System.Text.StringBuilder,System.Int32,System.UInt64) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Text.StringBuilder::Remove(System.Int32,System.Int32)\",\"\",[0],[False],[None],Default,[])] Remove(System.Text.StringBuilder,System.Int32,System.Int32) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Text.StringBuilder::Replace(System.Char,System.Char)\",\"\",[0],[False],[None],Default,[])] Replace(System.Text.StringBuilder,System.Char,System.Char) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Text.StringBuilder::Replace(System.Char,System.Char,System.Int32,System.Int32)\",\"\",[0],[False],[None],Default,[])] Replace(System.Text.StringBuilder,System.Char,System.Char,System.Int32,System.Int32) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Text.StringBuilder::Replace(System.String,System.String)\",\"\",[0],[False],[None],Default,[])] Replace(System.Text.StringBuilder,System.String,System.String) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Text.StringBuilder::Replace(System.String,System.String,System.Int32,System.Int32)\",\"\",[0],[False],[None],Default,[])] Replace(System.Text.StringBuilder,System.String,System.String,System.Int32,System.Int32) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Text.StringBuilder::set_Length(System.Int32)\",\"\",[0],[False],[None],Default,[])] SetLength(System.Text.StringBuilder,System.Int32) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Text.StringBuilder::ToString(System.Int32,System.Int32)\",\"\",[0],[False],[None],Default,[])] ToString(System.Text.StringBuilder,System.Int32,System.Int32) 165"), +(WCHAR*)WStr("[AspectClass(\"mscorlib,netstandard,System.Runtime\",[None],Sink,[ReflectionInjection])] Datadog.Trace.Iast.Aspects.ActivatorAspect 4"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Activator::CreateComInstanceFrom(System.String,System.String)\",\"\",[1,0],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Activator::CreateComInstanceFrom(System.String,System.String,System.Byte[],System.Configuration.Assemblies.AssemblyHashAlgorithm)\",\"\",[3,2],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Activator::CreateInstance(System.AppDomain,System.String,System.String)\",\"\",[1,0],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Activator::CreateInstance(System.AppDomain,System.String,System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[])\",\"\",[7,6],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Activator::CreateInstance(System.AppDomain,System.String,System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[],System.Security.Policy.Evidence)\",\"\",[7,6],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Activator::CreateInstance(System.String,System.String)\",\"\",[1,0],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Activator::CreateInstance(System.String,System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[])\",\"\",[7,6],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Activator::CreateInstance(System.String,System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[],System.Security.Policy.Evidence)\",\"\",[8,7],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Activator::CreateInstance(System.String,System.String,System.Object[])\",\"\",[2,1],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Activator::CreateInstanceFrom(System.AppDomain,System.String,System.String)\",\"\",[1,0],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Activator::CreateInstanceFrom(System.AppDomain,System.String,System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[])\",\"\",[7,6],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Activator::CreateInstanceFrom(System.String,System.String)\",\"\",[1,0],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Activator::CreateInstanceFrom(System.String,System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[])\",\"\",[7,6],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Activator::CreateInstanceFrom(System.String,System.String,System.Boolean,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo,System.Object[],System.Security.Policy.Evidence)\",\"\",[8,7],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Activator::CreateInstanceFrom(System.String,System.String,System.Object[])\",\"\",[2,1],[False,False],[None],Default,[])] ReflectionInjectionParam(System.String) 165"), +(WCHAR*)WStr("[AspectClass(\"mscorlib,netstandard,System.Runtime\",[None],Sink,[ReflectionInjection])] Datadog.Trace.Iast.Aspects.System.Reflection.AssemblyAspect 4"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Reflection.Assembly::Load(System.String)\",\"\",[0],[False],[None],Default,[])] ReflectionAssemblyInjection(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Reflection.Assembly::Load(System.String,System.Security.Policy.Evidence)\",\"\",[1],[False],[None],Default,[])] ReflectionAssemblyInjection(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Reflection.Assembly::LoadFrom(System.String)\",\"\",[0],[False],[None],Default,[])] ReflectionAssemblyInjection(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Reflection.Assembly::LoadFrom(System.String,System.Byte[],System.Configuration.Assemblies.AssemblyHashAlgorithm)\",\"\",[2],[False],[None],Default,[])] ReflectionAssemblyInjection(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Reflection.Assembly::LoadFrom(System.String,System.Security.Policy.Evidence)\",\"\",[1],[False],[None],Default,[])] ReflectionAssemblyInjection(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Reflection.Assembly::LoadFrom(System.String,System.Security.Policy.Evidence,System.Byte[],System.Configuration.Assemblies.AssemblyHashAlgorithm)\",\"\",[3],[False],[None],Default,[])] ReflectionAssemblyInjection(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Reflection.AssemblyName::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] ReflectionAssemblyInjection(System.String) 165"), +(WCHAR*)WStr("[AspectClass(\"mscorlib,netstandard,System.Runtime\",[None],Sink,[ReflectionInjection])] Datadog.Trace.Iast.Aspects.TypeAspect 4"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String)\",\"\",[0],[False],[None],Default,[])] ReflectionInjectionParam(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Int32,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[])\",\"\",[6],[False],[None],Default,[])] ReflectionInjectionParam(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Int32,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type[],System.Reflection.ParameterModifier[])\",\"\",[5],[False],[None],Default,[])] ReflectionInjectionParam(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Int32,System.Reflection.BindingFlags,System.Type[])\",\"\",[3],[False],[None],Default,[])] ReflectionInjectionParam(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Int32,System.Type[])\",\"\",[2],[False],[None],Default,[])] ReflectionInjectionParam(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Int32,System.Type[],System.Reflection.ParameterModifier[])\",\"\",[3],[False],[None],Default,[])] ReflectionInjectionParam(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Reflection.BindingFlags)\",\"\",[1],[False],[None],Default,[])] ReflectionInjectionParam(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[])\",\"\",[5],[False],[None],Default,[])] ReflectionInjectionParam(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type[],System.Reflection.ParameterModifier[])\",\"\",[4],[False],[None],Default,[])] ReflectionInjectionParam(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Reflection.BindingFlags,System.Type[])\",\"\",[2],[False],[None],Default,[])] ReflectionInjectionParam(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Type[])\",\"\",[1],[False],[None],Default,[])] ReflectionInjectionParam(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Type::GetMethod(System.String,System.Type[],System.Reflection.ParameterModifier[])\",\"\",[2],[False],[None],Default,[])] ReflectionInjectionParam(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Type::GetType(System.String)\",\"\",[0],[False],[None],Default,[])] ReflectionInjectionParam(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Type::GetType(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] ReflectionInjectionParam(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Type::GetType(System.String,System.Boolean,System.Boolean)\",\"\",[2],[False],[None],Default,[])] ReflectionInjectionParam(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Type::GetType(System.String,System.Func`2,System.Func`4)\",\"\",[2],[False],[None],Default,[])] ReflectionInjectionParam(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Type::GetType(System.String,System.Func`2,System.Func`4,System.Boolean)\",\"\",[3],[False],[None],Default,[])] ReflectionInjectionParam(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Type::GetType(System.String,System.Func`2,System.Func`4,System.Boolean,System.Boolean)\",\"\",[4],[False],[None],Default,[])] ReflectionInjectionParam(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Type::InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[])\",\"\",[4],[False],[None],Default,[])] ReflectionInjectionParam(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Type::InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Globalization.CultureInfo)\",\"\",[5],[False],[None],Default,[])] ReflectionInjectionParam(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Type::InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[])\",\"\",[7],[False],[None],Default,[])] ReflectionInjectionParam(System.String) 165"), +(WCHAR*)WStr("[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.DirectoryAspect 12"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.Directory::CreateDirectory(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.Directory::CreateDirectory(System.String,System.IO.UnixFileMode)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String) 128"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.Directory::CreateDirectory(System.String,System.Security.AccessControl.DirectorySecurity)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String) 1"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.Directory::CreateTempSubdirectory(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String) 128"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.Directory::Delete(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.Directory::Delete(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateDirectories(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateDirectories(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateDirectories(System.String,System.String,System.IO.EnumerationOptions)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String) 164"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateDirectories(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFiles(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFiles(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFiles(System.String,System.String,System.IO.EnumerationOptions)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String) 164"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFiles(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFileSystemEntries(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFileSystemEntries(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFileSystemEntries(System.String,System.String,System.IO.EnumerationOptions)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String) 164"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.Directory::EnumerateFileSystemEntries(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.Directory::GetDirectories(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.Directory::GetDirectories(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.Directory::GetDirectories(System.String,System.String,System.IO.EnumerationOptions)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String) 164"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.Directory::GetDirectories(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.Directory::GetDirectoryRoot(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.Directory::GetFiles(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.Directory::GetFiles(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.Directory::GetFiles(System.String,System.String,System.IO.EnumerationOptions)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String) 164"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.Directory::GetFiles(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.Directory::GetFileSystemEntries(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.Directory::GetFileSystemEntries(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.Directory::GetFileSystemEntries(System.String,System.String,System.IO.EnumerationOptions)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String) 164"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.Directory::GetFileSystemEntries(System.String,System.String,System.IO.SearchOption)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.Directory::Move(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.Directory::SetAccessControl(System.String,System.Security.AccessControl.DirectorySecurity)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.Directory::SetCurrentDirectory(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr("[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.DirectoryInfoAspect 12"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::CreateSubdirectory(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::CreateSubdirectory(System.String,System.Security.AccessControl.DirectorySecurity)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String) 1"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateDirectories(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateDirectories(System.String,System.IO.EnumerationOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String) 164"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateDirectories(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateFiles(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateFiles(System.String,System.IO.EnumerationOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String) 164"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateFiles(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateFileSystemInfos(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateFileSystemInfos(System.String,System.IO.EnumerationOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String) 164"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::EnumerateFileSystemInfos(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetDirectories(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetDirectories(System.String,System.IO.EnumerationOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String) 164"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetDirectories(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetFiles(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetFiles(System.String,System.IO.EnumerationOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String) 164"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetFiles(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetFileSystemInfos(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetFileSystemInfos(System.String,System.IO.EnumerationOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String) 164"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::GetFileSystemInfos(System.String,System.IO.SearchOption)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.DirectoryInfo::MoveTo(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr("[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.FileAspect 12"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::AppendAllBytes(System.String,Byte[])\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String) 128"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::AppendAllBytes(System.String,System.ReadOnlySpan`1[System.Byte]))\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String) 128"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::AppendAllBytesAsync(System.String, Byte[],System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String) 128"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::AppendAllBytesAsync(System.String,System.ReadOnlyMemory`1[System.Byte],System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String) 128"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::AppendAllLines(System.String,System.Collections.Generic.IEnumerable`1)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::AppendAllLines(System.String,System.Collections.Generic.IEnumerable`1,System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::AppendAllLinesAsync(System.String,System.Collections.Generic.IEnumerable`1,System.Text.Encoding,System.Threading.CancellationToken)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String) 164"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::AppendAllLinesAsync(System.String,System.Collections.Generic.IEnumerable`1,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String) 164"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::AppendAllText(System.String,System.ReadOnlySpan`1[System.Char])\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String) 128"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::AppendAllText(System.String,System.ReadOnlySpan`1[System.Char],System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String) 128"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::AppendAllText(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::AppendAllText(System.String,System.String,System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::AppendAllTextAsync(System.String,System.ReadOnlyMemory`1[System.Char],System.Text.Encoding,System.Threading.CancellationToken)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String) 128"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::AppendAllTextAsync(System.String,System.ReadOnlyMemory`1[System.Char],System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String) 128"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::AppendAllTextAsync(System.String,System.String,System.Text.Encoding,System.Threading.CancellationToken)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String) 164"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::AppendAllTextAsync(System.String,System.String,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String) 164"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::AppendText(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::Copy(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::Copy(System.String,System.String,System.Boolean)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::Create(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::Create(System.String,System.Int32)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::Create(System.String,System.Int32,System.IO.FileOptions)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::Create(System.String,System.Int32,System.IO.FileOptions,System.Security.AccessControl.FileSecurity)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String) 1"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::CreateText(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::Delete(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::Move(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::Move(System.String,System.String,System.Boolean)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String) 164"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::Open(System.String,System.IO.FileMode)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::Open(System.String,System.IO.FileMode,System.IO.FileAccess)\",\"\",[2],[False],[None],Default,[])] ReviewPathRead(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::Open(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)\",\"\",[3],[False],[None],Default,[])] ReviewPathRead(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::Open(System.String,System.IO.FileStreamOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String) 128"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::OpenHandle(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.IO.FileOptions,System.Int64)\",\"\",[5],[False],[None],Default,[])] ReviewPathRead(System.String) 128"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::OpenRead(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::OpenText(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::OpenWrite(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::ReadAllBytes(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::ReadAllBytesAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String) 164"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::ReadAllLines(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::ReadAllLines(System.String,System.Text.Encoding)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::ReadAllLinesAsync(System.String,System.Text.Encoding,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPathRead(System.String) 164"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::ReadAllLinesAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String) 164"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::ReadAllText(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::ReadAllText(System.String,System.Text.Encoding)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::ReadAllTextAsync(System.String,System.Text.Encoding,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPathRead(System.String) 164"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::ReadAllTextAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String) 164"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::ReadLines(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPathRead(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::ReadLines(System.String,System.Text.Encoding)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::ReadLinesAsync(System.String,System.Text.Encoding,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPathRead(System.String) 128"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::ReadLinesAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewPathRead(System.String) 128"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::Replace(System.String,System.String,System.String)\",\"\",[0,1,2],[False,False,False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::Replace(System.String,System.String,System.String,System.Boolean)\",\"\",[1,2,3],[False,False,False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::SetAttributes(System.String,System.IO.FileAttributes)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::WriteAllBytes(System.String,System.Byte[])\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::WriteAllBytes(System.String,System.ReadOnlySpan`1[System.Byte])\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String) 128"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::WriteAllBytesAsync(System.String,System.Byte[],System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String) 164"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::WriteAllBytesAsync(System.String,System.ReadOnlyMemory`1[System.Byte],System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String) 128"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::WriteAllLines(System.String,System.Collections.Generic.IEnumerable`1)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::WriteAllLines(System.String,System.Collections.Generic.IEnumerable`1,System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::WriteAllLines(System.String,System.String[])\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::WriteAllLines(System.String,System.String[],System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::WriteAllLinesAsync(System.String,System.Collections.Generic.IEnumerable`1,System.Text.Encoding,System.Threading.CancellationToken)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String) 164"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::WriteAllLinesAsync(System.String,System.Collections.Generic.IEnumerable`1,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String) 164"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::WriteAllText(System.String,System.ReadOnlySpan`1[System.Char])\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String) 128"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::WriteAllText(System.String,System.ReadOnlySpan`1[System.Char],System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String) 128"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::WriteAllText(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::WriteAllText(System.String,System.String,System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::WriteAllTextAsync(System.String,System.ReadOnlyMemory`1[System.Char],System.Text.Encoding,System.Threading.CancellationToken)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String) 128"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::WriteAllTextAsync(System.String,System.ReadOnlyMemory`1[System.Char],System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String) 128"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::WriteAllTextAsync(System.String,System.String,System.Text.Encoding,System.Threading.CancellationToken)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String) 164"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.File::WriteAllTextAsync(System.String,System.String,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String) 164"), +(WCHAR*)WStr("[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.FileInfoAspect 12"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.FileInfo::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.FileInfo::CopyTo(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.FileInfo::CopyTo(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.FileInfo::MoveTo(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.FileInfo::MoveTo(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String) 164"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.FileInfo::Replace(System.String,System.String)\",\"\",[0,1],[False,False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.FileInfo::Replace(System.String,System.String,System.Boolean)\",\"\",[1,2],[False,False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr("[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.FileStreamAspect 12"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode,System.IO.FileAccess)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.Int32)\",\"\",[4],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.Int32,System.Boolean)\",\"\",[5],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.Int32,System.IO.FileOptions)\",\"\",[5],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode,System.Security.AccessControl.FileSystemRights,System.IO.FileShare,System.Int32,System.IO.FileOptions)\",\"\",[5],[False],[None],Default,[])] ReviewPath(System.String) 1"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileMode,System.Security.AccessControl.FileSystemRights,System.IO.FileShare,System.Int32,System.IO.FileOptions,System.Security.AccessControl.FileSecurity)\",\"\",[6],[False],[None],Default,[])] ReviewPath(System.String) 1"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.FileStream::.ctor(System.String,System.IO.FileStreamOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String) 128"), +(WCHAR*)WStr("[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.StreamReaderAspect 12"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.StreamReader::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.StreamReader::.ctor(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.StreamReader::.ctor(System.String,System.IO.FileStreamOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String) 128"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.StreamReader::.ctor(System.String,System.Text.Encoding)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.StreamReader::.ctor(System.String,System.Text.Encoding,System.Boolean)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.StreamReader::.ctor(System.String,System.Text.Encoding,System.Boolean,System.Int32)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.StreamReader::.ctor(System.String,System.Text.Encoding,System.Boolean,System.IO.FileStreamOptions)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String) 128"), +(WCHAR*)WStr("[AspectClass(\"mscorlib,System.IO.FileSystem,System.Runtime\",[None],Sink,[PathTraversal])] Datadog.Trace.Iast.Aspects.StreamWriterAspect 12"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.StreamWriter::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.StreamWriter::.ctor(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.StreamWriter::.ctor(System.String,System.Boolean,System.Text.Encoding)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.StreamWriter::.ctor(System.String,System.Boolean,System.Text.Encoding,System.Int32)\",\"\",[3],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.StreamWriter::.ctor(System.String,System.IO.FileStreamOptions)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String) 128"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.IO.StreamWriter::.ctor(System.String,System.Text.Encoding,System.IO.FileStreamOptions)\",\"\",[2],[False],[None],Default,[])] ReviewPath(System.String) 128"), +(WCHAR*)WStr("[AspectClass(\"mscorlib,System.Runtime.Extensions,System.Runtime\",[None],Sink,[WeakRandomness])] Datadog.Trace.Iast.Aspects.RandomAspect 4"), +(WCHAR*)WStr(" [AspectMethodInsertAfter(\"System.Random::.ctor()\",\"\",[0],[False],[None],Default,[])] Init() 165"), +(WCHAR*)WStr(" [AspectMethodInsertAfter(\"System.Random::.ctor(System.Int32)\",\"\",[0],[False],[None],Default,[])] Init() 165"), +(WCHAR*)WStr("[AspectClass(\"Newtonsoft.Json\",[None],Propagation,[])] Datadog.Trace.Iast.Aspects.Newtonsoft.Json.NewtonsoftJsonAspects 4"), +(WCHAR*)WStr(" [AspectMethodReplace(\"Newtonsoft.Json.Linq.JArray::Parse(System.String)\",\"\",[0],[False],[None],Default,[])] ParseArray(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"Newtonsoft.Json.Linq.JObject::Parse(System.String)\",\"\",[0],[False],[None],Default,[])] ParseObject(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"Newtonsoft.Json.Linq.JToken::Parse(System.String)\",\"\",[0],[False],[None],Default,[])] ParseToken(System.String) 165"), +(WCHAR*)WStr("[AspectClass(\"NHibernate\",[None],Sink,[SqlInjection])] Datadog.Trace.Iast.Aspects.NHibernate.ISessionAspect 12"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"NHibernate.ISession::CreateQuery(System.String)\",\"\",[0],[False],[None],Default,[])] AnalyzeQuery(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"NHibernate.ISession::CreateSQLQuery(System.String)\",\"\",[0],[False],[None],Default,[])] AnalyzeQuery(System.String) 165"), +(WCHAR*)WStr("[AspectClass(\"System,netstandard,System.Runtime.Extensions,System.Runtime\",[None],Propagation,[])] Datadog.Trace.Iast.Aspects.System.UriBuilderAspect 4"), +(WCHAR*)WStr(" [AspectCtorReplace(\"System.UriBuilder::.ctor(System.String)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Init(System.String) 165"), +(WCHAR*)WStr(" [AspectCtorReplace(\"System.UriBuilder::.ctor(System.String,System.String)\",\"\",[0],[False],[None],Default,[])] Init(System.String,System.String) 165"), +(WCHAR*)WStr(" [AspectCtorReplace(\"System.UriBuilder::.ctor(System.String,System.String,System.Int32)\",\"\",[0],[False],[None],Default,[])] Init(System.String,System.String,System.Int32) 165"), +(WCHAR*)WStr(" [AspectCtorReplace(\"System.UriBuilder::.ctor(System.String,System.String,System.Int32,System.String)\",\"\",[0],[False],[None],Default,[])] Init(System.String,System.String,System.Int32,System.String) 165"), +(WCHAR*)WStr(" [AspectCtorReplace(\"System.UriBuilder::.ctor(System.String,System.String,System.Int32,System.String,System.String)\",\"\",[0],[False],[None],Default,[])] Init(System.String,System.String,System.Int32,System.String,System.String) 165"), +(WCHAR*)WStr(" [AspectCtorReplace(\"System.UriBuilder::.ctor(System.Uri)\",\"\",[0],[False],[None],Default,[])] Init(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Object::ToString()\",\"System.UriBuilder\",[0],[False],[None],Default,[])] ToString(System.Object) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.UriBuilder::get_Host()\",\"\",[0],[False],[None],Default,[])] GetHost(System.UriBuilder) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.UriBuilder::get_Path()\",\"\",[0],[False],[None],Default,[])] GetPath(System.UriBuilder) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.UriBuilder::get_Query()\",\"\",[0],[False],[None],Default,[])] GetQuery(System.UriBuilder) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.UriBuilder::set_Host(System.String)\",\"\",[0],[False],[StringLiteral_1],Default,[])] SetHost(System.UriBuilder,System.String) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.UriBuilder::set_Path(System.String)\",\"\",[0],[False],[StringLiteral_1],Default,[])] SetPath(System.UriBuilder,System.String) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.UriBuilder::set_Query(System.String)\",\"\",[0],[False],[StringLiteral_1],Default,[])] SetQuery(System.UriBuilder,System.String) 165"), +(WCHAR*)WStr("[AspectClass(\"System,System.Net.Mail\",[None],Sink,[EmailHtmlInjection])] Datadog.Trace.Iast.Aspects.SmtpClientAspect 4"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Mail.SmtpClient::Send(System.Net.Mail.MailMessage)\",\"\",[0],[False],[None],Default,[])] Send(System.Object) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Mail.SmtpClient::SendAsync(System.Net.Mail.MailMessage,System.Object)\",\"\",[1],[False],[None],Default,[])] Send(System.Object) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Mail.SmtpClient::SendMailAsync(System.Net.Mail.MailMessage)\",\"\",[0],[False],[None],Default,[])] Send(System.Object) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Mail.SmtpClient::SendMailAsync(System.Net.Mail.MailMessage,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] Send(System.Object) 160"), +(WCHAR*)WStr("[AspectClass(\"System,System.Runtime\",[StringOptimization],Propagation,[])] Datadog.Trace.Iast.Aspects.System.UriAspect 4"), +(WCHAR*)WStr(" [AspectCtorReplace(\"System.Uri::.ctor(System.String)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Init(System.String) 165"), +(WCHAR*)WStr(" [AspectCtorReplace(\"System.Uri::.ctor(System.String,System.Boolean)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Init(System.String,System.Boolean) 165"), +(WCHAR*)WStr(" [AspectCtorReplace(\"System.Uri::.ctor(System.String,System.UriCreationOptions)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Init(System.String,System.UriCreationOptions) 128"), +(WCHAR*)WStr(" [AspectCtorReplace(\"System.Uri::.ctor(System.String,System.UriKind)\",\"\",[0],[False],[StringLiteral_1],Default,[])] Init(System.String,System.UriKind) 165"), +(WCHAR*)WStr(" [AspectCtorReplace(\"System.Uri::.ctor(System.Uri,System.String)\",\"\",[0],[False],[None],Default,[])] Init(System.Uri,System.String) 165"), +(WCHAR*)WStr(" [AspectCtorReplace(\"System.Uri::.ctor(System.Uri,System.String,System.Boolean)\",\"\",[0],[False],[None],Default,[])] Init(System.Uri,System.String,System.Boolean) 165"), +(WCHAR*)WStr(" [AspectCtorReplace(\"System.Uri::.ctor(System.Uri,System.Uri)\",\"\",[0],[False],[None],Default,[])] Init(System.Uri,System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Object::ToString()\",\"System.Uri\",[0],[False],[None],Default,[])] ToString(System.Object) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Uri::EscapeDataString(System.String)\",\"\",[0],[False],[StringLiteral_0],Default,[])] EscapeDataString(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Uri::EscapeUriString(System.String)\",\"\",[0],[False],[StringLiteral_0],Default,[])] EscapeUriString(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Uri::get_AbsolutePath()\",\"\",[0],[False],[None],Default,[])] GetAbsolutePath(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Uri::get_AbsoluteUri()\",\"\",[0],[False],[None],Default,[])] GetAbsoluteUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Uri::get_Authority()\",\"\",[0],[False],[None],Default,[])] GetAuthority(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Uri::get_Host()\",\"\",[0],[False],[None],Default,[])] GetHost(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Uri::get_LocalPath()\",\"\",[0],[False],[None],Default,[])] GetLocalPath(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Uri::get_PathAndQuery()\",\"\",[0],[False],[None],Default,[])] GetPathAndQuery(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Uri::get_Query()\",\"\",[0],[False],[None],Default,[])] GetQuery(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Uri::MakeRelative(System.Uri)\",\"\",[0],[False],[None],Default,[])] MakeRelative(System.Uri,System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Uri::MakeRelativeUri(System.Uri)\",\"\",[0],[False],[None],Default,[])] MakeRelativeUri(System.Uri,System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Uri::TryCreate(System.String,System.UriCreationOptions,System.Uri)\",\"\",[0],[False],[StringLiteral_0],Default,[])] TryCreate(System.String,System.UriCreationOptions,System.Uri) 128"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Uri::TryCreate(System.String,System.UriKind,System.Uri)\",\"\",[0],[False],[StringLiteral_0],Default,[])] TryCreate(System.String,System.UriKind,System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Uri::TryCreate(System.Uri,System.String,System.Uri)\",\"\",[0],[False],[None],Default,[])] TryCreate(System.Uri,System.String,System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Uri::TryCreate(System.Uri,System.Uri,System.Uri)\",\"\",[0],[False],[None],Default,[])] TryCreate(System.Uri,System.Uri,System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Uri::UnescapeDataString(System.String)\",\"\",[0],[False],[StringLiteral_0],Default,[])] UnescapeDataString(System.String) 165"), +(WCHAR*)WStr("[AspectClass(\"System.Data,System.Data.Common\",[None],Sink,[SqlInjection])] Datadog.Trace.Iast.Aspects.DbCommandAspect 12"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Data.Common.DbCommand::ExecuteNonQueryAsync()\",\"\",[0],[False],[None],Default,[])] ReviewExecuteNonQuery(System.Object) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Data.Common.DbCommand::ExecuteNonQueryAsync(System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewExecuteNonQuery(System.Object) 165"), +(WCHAR*)WStr("[AspectClass(\"System.DirectoryServices\",[StringOptimization],Propagation,[])] Datadog.Trace.Iast.Aspects.System.DirectoryServices.DirectoryEntryAspect 4"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectoryEntry::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] Init(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectoryEntry::.ctor(System.String,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] Init(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectoryEntry::.ctor(System.String,System.String,System.String,System.DirectoryServices.AuthenticationTypes)\",\"\",[3],[False],[None],Default,[])] Init(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectoryEntry::set_Path(System.String)\",\"\",[0],[False],[None],Default,[])] Init(System.String) 165"), +(WCHAR*)WStr("[AspectClass(\"System.DirectoryServices\",[StringOptimization],Propagation,[])] Datadog.Trace.Iast.Aspects.System.DirectoryServices.DirectorySearcherAspect 4"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectorySearcher::.ctor(System.DirectoryServices.DirectoryEntry,System.String)\",\"\",[0],[False],[None],Default,[])] Init(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectorySearcher::.ctor(System.DirectoryServices.DirectoryEntry,System.String,System.String[])\",\"\",[1],[False],[None],Default,[])] Init(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectorySearcher::.ctor(System.DirectoryServices.DirectoryEntry,System.String,System.String[],System.DirectoryServices.SearchScope)\",\"\",[2],[False],[None],Default,[])] Init(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectorySearcher::.ctor(System.String)\",\"\",[0],[False],[None],Default,[])] Init(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectorySearcher::.ctor(System.String,System.String[])\",\"\",[1],[False],[None],Default,[])] Init(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectorySearcher::.ctor(System.String,System.String[],System.DirectoryServices.SearchScope)\",\"\",[2],[False],[None],Default,[])] Init(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.DirectoryServices.DirectorySearcher::set_Filter(System.String)\",\"\",[0],[False],[None],Default,[])] Init(System.String) 165"), +(WCHAR*)WStr("[AspectClass(\"System.DirectoryServices.AccountManagement\",[StringOptimization],Propagation,[])] Datadog.Trace.Iast.Aspects.System.DirectoryServices.PrincipalContextAspect 4"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.DirectoryServices.AccountManagement.PrincipalContext::.ctor(System.DirectoryServices.AccountManagement.ContextType,System.String,System.String)\",\"\",[0],[False],[None],Default,[])] Init(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.DirectoryServices.AccountManagement.PrincipalContext::.ctor(System.DirectoryServices.AccountManagement.ContextType,System.String,System.String,System.DirectoryServices.AccountManagement.ContextOptions)\",\"\",[1],[False],[None],Default,[])] Init(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.DirectoryServices.AccountManagement.PrincipalContext::.ctor(System.DirectoryServices.AccountManagement.ContextType,System.String,System.String,System.DirectoryServices.AccountManagement.ContextOptions,System.String,System.String)\",\"\",[3],[False],[None],Default,[])] Init(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.DirectoryServices.AccountManagement.PrincipalContext::.ctor(System.DirectoryServices.AccountManagement.ContextType,System.String,System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Init(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.DirectoryServices.AccountManagement.PrincipalContext::.ctor(System.DirectoryServices.AccountManagement.ContextType,System.String,System.String,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] Init(System.String) 165"), +(WCHAR*)WStr("[AspectClass(\"System.DirectoryServices.Protocols\",[StringOptimization],Propagation,[])] Datadog.Trace.Iast.Aspects.System.DirectoryServices.SearchRequestAspect 4"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.DirectoryServices.Protocols.SearchRequest::.ctor(System.String,System.String,System.DirectoryServices.Protocols.SearchScope,System.String[])\",\"\",[2],[False],[None],Default,[])] Init(System.Object) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.DirectoryServices.Protocols.SearchRequest::set_Filter(System.Object)\",\"\",[0],[False],[None],Default,[])] Init(System.Object) 165"), +(WCHAR*)WStr("[AspectClass(\"System.Net.Http\",[None],Sink,[Ssrf])] Datadog.Trace.Iast.Aspects.System.Net.HttpClientAspect 12"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::DeleteAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::DeleteAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] Review(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::DeleteAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::DeleteAsync(System.Uri,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.String,System.Net.Http.HttpCompletionOption)\",\"\",[1],[False],[None],Default,[])] Review(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.String,System.Net.Http.HttpCompletionOption,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] Review(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] Review(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.Uri,System.Net.Http.HttpCompletionOption)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.Uri,System.Net.Http.HttpCompletionOption,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetAsync(System.Uri,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetByteArrayAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetByteArrayAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] Review(System.String) 160"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetByteArrayAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetByteArrayAsync(System.Uri,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri) 160"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStreamAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStreamAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] Review(System.String) 160"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStreamAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStreamAsync(System.Uri,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri) 160"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStringAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStringAsync(System.String,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] Review(System.String) 160"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStringAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::GetStringAsync(System.Uri,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri) 160"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PatchAsync(System.String,System.Net.Http.HttpContent) \",\"\",[1],[False],[None],Default,[])] Review(System.String) 164"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PatchAsync(System.String,System.Net.Http.HttpContent,System.Threading.CancellationToken) \",\"\",[2],[False],[None],Default,[])] Review(System.String) 164"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PatchAsync(System.Uri,System.Net.Http.HttpContent)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri) 164"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PatchAsync(System.Uri,System.Net.Http.HttpContent,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri) 164"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PostAsync(System.String,System.Net.Http.HttpContent)\",\"\",[1],[False],[None],Default,[])] Review(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PostAsync(System.String,System.Net.Http.HttpContent,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] Review(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PostAsync(System.Uri,System.Net.Http.HttpContent)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PostAsync(System.Uri,System.Net.Http.HttpContent,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PutAsync(System.String,System.Net.Http.HttpContent)\",\"\",[1],[False],[None],Default,[])] Review(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PutAsync(System.String,System.Net.Http.HttpContent,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] Review(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PutAsync(System.Uri,System.Net.Http.HttpContent)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::PutAsync(System.Uri,System.Net.Http.HttpContent,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::Send(System.Net.Http.HttpRequestMessage)\",\"\",[0],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage) 160"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::Send(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption)\",\"\",[1],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage) 160"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::Send(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage) 160"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::SendAsync(System.Net.Http.HttpRequestMessage)\",\"\",[0],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage) 164"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::SendAsync(System.Net.Http.HttpRequestMessage)\",\"\",[0],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Object) 1"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::SendAsync(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption)\",\"\",[1],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage) 164"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::SendAsync(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption)\",\"\",[1],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Object) 1"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::SendAsync(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage) 164"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::SendAsync(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption,System.Threading.CancellationToken)\",\"\",[2],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Object) 1"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::SendAsync(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage) 164"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::SendAsync(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Object) 1"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Http.HttpClient::set_BaseAddress(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Http.HttpMessageInvoker::Send(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage) 160"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Http.HttpMessageInvoker::SendAsync(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Net.Http.HttpRequestMessage) 164"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.Http.HttpMessageInvoker::SendAsync(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)\",\"\",[1],[False],[None],Default,[])] ReviewHttpRequestMessage(System.Object) 1"), +(WCHAR*)WStr("[AspectClass(\"System.Net.Requests,System,netstandard\",[None],Sink,[Ssrf])] Datadog.Trace.Iast.Aspects.System.Net.WebRequestAspect 12"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebRequest::Create(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebRequest::Create(System.Uri)\",\"\",[0],[False],[None],Default,[])] Review(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebRequest::CreateDefault(System.Uri)\",\"\",[0],[False],[None],Default,[])] Review(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebRequest::CreateHttp(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebRequest::CreateHttp(System.Uri)\",\"\",[0],[False],[None],Default,[])] Review(System.Uri) 165"), +(WCHAR*)WStr("[AspectClass(\"System.Net.WebClient,System\",[None],Sink,[Ssrf])] Datadog.Trace.Iast.Aspects.System.Net.WebClientAspect 12"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadData(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadData(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadDataAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadDataAsync(System.Uri,System.Object)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadDataTaskAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadDataTaskAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFile(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFile(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFileAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFileAsync(System.Uri,System.String,System.Object)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFileTaskAsync(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadFileTaskAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadString(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadString(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadStringAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadStringAsync(System.Uri,System.Object)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadStringTaskAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::DownloadStringTaskAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenRead(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenRead(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenReadAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenReadAsync(System.Uri,System.Object)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenReadTaskAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenReadTaskAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWrite(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWrite(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWrite(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWrite(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteAsync(System.Uri,System.String,System.Object)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteTaskAsync(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteTaskAsync(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteTaskAsync(System.Uri)\",\"\",[0],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::OpenWriteTaskAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::set_BaseAddress(System.String)\",\"\",[0],[False],[None],Default,[])] Review(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadData(System.String,System.Byte[])\",\"\",[1],[False],[None],Default,[])] Review(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadData(System.String,System.String,System.Byte[])\",\"\",[2],[False],[None],Default,[])] Review(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadData(System.Uri,System.Byte[])\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadData(System.Uri,System.String,System.Byte[])\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataAsync(System.Uri,System.Byte[])\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataAsync(System.Uri,System.String,System.Byte[])\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataAsync(System.Uri,System.String,System.Byte[],System.Object)\",\"\",[3],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataTaskAsync(System.String,System.Byte[])\",\"\",[1],[False],[None],Default,[])] Review(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataTaskAsync(System.String,System.String,System.Byte[])\",\"\",[2],[False],[None],Default,[])] Review(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataTaskAsync(System.Uri,System.Byte[])\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadDataTaskAsync(System.Uri,System.String,System.Byte[])\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFile(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFile(System.String,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] Review(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFile(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFile(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileAsync(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileAsync(System.Uri,System.String,System.String,System.Object)\",\"\",[3],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileTaskAsync(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileTaskAsync(System.String,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] Review(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileTaskAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadFileTaskAsync(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadString(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadString(System.String,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] Review(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadString(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadString(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringAsync(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringAsync(System.Uri,System.String,System.String,System.Object)\",\"\",[3],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringTaskAsync(System.String,System.String)\",\"\",[1],[False],[None],Default,[])] Review(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringTaskAsync(System.String,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] Review(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringTaskAsync(System.Uri,System.String)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadStringTaskAsync(System.Uri,System.String,System.String)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValues(System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[1],[False],[None],Default,[])] Review(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValues(System.String,System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[2],[False],[None],Default,[])] Review(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValues(System.Uri,System.Collections.Specialized.NameValueCollection)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValues(System.Uri,System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesAsync(System.Uri,System.Collections.Specialized.NameValueCollection)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesAsync(System.Uri,System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesAsync(System.Uri,System.String,System.Collections.Specialized.NameValueCollection,System.Object)\",\"\",[3],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesTaskAsync(System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[1],[False],[None],Default,[])] Review(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesTaskAsync(System.String,System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[2],[False],[None],Default,[])] Review(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesTaskAsync(System.Uri,System.Collections.Specialized.NameValueCollection)\",\"\",[1],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Net.WebClient::UploadValuesTaskAsync(System.Uri,System.String,System.Collections.Specialized.NameValueCollection)\",\"\",[2],[False],[None],Default,[])] ReviewUri(System.Uri) 165"), +(WCHAR*)WStr("[AspectClass(\"System.Private.Corelib;System.Runtime\",[None],Sink,[Ssrf])] Datadog.Trace.Iast.Aspects.System.Net.WebUtilityAspect 4"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Net.WebUtility::HtmlEncode(System.String)\",\"\",[0],[False],[None],Default,[])] XssEscape(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Net.WebUtility::UrlEncode(System.String)\",\"\",[0],[False],[None],Default,[])] SsrfEscape(System.String) 165"), +(WCHAR*)WStr("[AspectClass(\"System.Text.Json\",[None],Source,[])] Datadog.Trace.Iast.Aspects.System.Text.Json.JsonDocumentAspects 4"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Text.Json.JsonDocument::Parse(System.String,System.Text.Json.JsonDocumentOptions)\",\"\",[0],[False],[None],Default,[]);V2.49.0] Parse(System.String,System.Text.Json.JsonDocumentOptions) 160"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Text.Json.JsonElement::GetRawText()\",\"\",[0],[True],[None],Default,[]);V2.49.0] GetRawText(System.Object) 160"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Text.Json.JsonElement::GetString()\",\"\",[0],[True],[None],Default,[]);V2.49.0] GetString(System.Object) 160"), +(WCHAR*)WStr("[AspectClass(\"System.Web\",[None],Propagation,[])] Datadog.Trace.Iast.Aspects.System.Web.HttpCookieAspect 4"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Web.HttpCookie::get_Value()\",\"\",[0],[False],[None],Default,[])] GetValue(System.Web.HttpCookie) 1"), +(WCHAR*)WStr("[AspectClass(\"System.Web\",[None],Sink,[TrustBoundaryViolation])] Datadog.Trace.Iast.Aspects.System.Web.SessionState.HttpSessionStateBaseAspect 4"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Web.HttpSessionStateBase::Add(System.String,System.Object)\",\"\",[0,1],[False,False],[None],Default,[])] Add(System.Object) 1"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Web.HttpSessionStateBase::Remove(System.String)\",\"\",[0],[False],[None],Default,[])] Add(System.Object) 1"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Web.HttpSessionStateBase::set_Item(System.Int32,System.Object)\",\"\",[0],[False],[None],Default,[])] Add(System.Object) 1"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Web.HttpSessionStateBase::set_Item(System.String,System.Object)\",\"\",[0,1],[False,False],[None],Default,[])] Add(System.Object) 1"), +(WCHAR*)WStr("[AspectClass(\"System.Web\",[None],Sink,[UnvalidatedRedirect])] Datadog.Trace.Iast.Aspects.System.Web.HttpResponseAspect 4"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Web.HttpResponse::Redirect(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Web.HttpResponse::Redirect(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] Redirect(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Web.HttpResponse::RedirectPermanent(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Web.HttpResponse::RedirectPermanent(System.String,System.Boolean)\",\"\",[1],[False],[None],Default,[])] Redirect(System.String) 165"), +(WCHAR*)WStr("[AspectClass(\"System.Web.Extensions\",[None],Propagation,[])] Datadog.Trace.Iast.Aspects.System.Web.Extensions.JavaScriptSerializerAspects 4"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Web.Script.Serialization.JavaScriptSerializer::DeserializeObject(System.String)\",\"\",[0],[False],[None],Default,[])] DeserializeObject(System.Object,System.String) 1"), +(WCHAR*)WStr("[AspectClass(\"System.Web.Mvc\",[None],Sink,[UnvalidatedRedirect])] Datadog.Trace.Iast.Aspects.System.Web.HttpControllerAspect 4"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Web.Mvc.Controller::Redirect(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Web.Mvc.Controller::RedirectPermanent(System.String)\",\"\",[0],[False],[None],Default,[])] Redirect(System.String) 165"), +(WCHAR*)WStr("[AspectClass(\"System.Web;System.Runtime.Extensions;System.Web.HttpUtility\",[None],Sink,[Ssrf])] Datadog.Trace.Iast.Aspects.System.Net.HttpUtilityAspect 4"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Web.HttpUtility::HtmlEncode(System.String)\",\"\",[0],[False],[None],Default,[])] XssEscape(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Web.HttpUtility::UrlEncode(System.String)\",\"\",[0],[False],[None],Default,[])] SsrfEscape(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodReplace(\"System.Web.HttpUtility::UrlEncode(System.String,System.Text.Encoding)\",\"\",[0],[False],[None],Default,[])] SsrfEscape(System.String,System.Text.Encoding) 165"), +(WCHAR*)WStr("[AspectClass(\"System.Xml,System.Xml.ReaderWriter,System.Xml.XPath.XDocument\",[None],Sink,[XPathInjection])] Datadog.Trace.Iast.Aspects.SystemXmlAspect 4"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Xml.XmlNode::SelectNodes(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Xml.XmlNode::SelectNodes(System.String,System.Xml.XmlNamespaceManager)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Xml.XmlNode::SelectSingleNode(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Xml.XmlNode::SelectSingleNode(System.String,System.Xml.XmlNamespaceManager)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Xml.XPath.XPathExpression::Compile(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Xml.XPath.XPathExpression::Compile(System.String,System.Xml.IXmlNamespaceResolver)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Xml.XPath.XPathNavigator::Evaluate(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Xml.XPath.XPathNavigator::Evaluate(System.String,System.Xml.IXmlNamespaceResolver)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Xml.XPath.XPathNavigator::Select(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Xml.XPath.XPathNavigator::Select(System.String,System.Xml.IXmlNamespaceResolver)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Xml.XPath.XPathNavigator::SelectSingleNode(System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Xml.XPath.XPathNavigator::SelectSingleNode(System.String,System.Xml.IXmlNamespaceResolver)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr("[AspectClass(\"System.Xml.XPath.XDocument,System.Xml.Linq\",[None],Sink,[XPathInjection])] Datadog.Trace.Iast.Aspects.XPathExtensionAspect 4"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Xml.XPath.Extensions::XPathEvaluate(System.Xml.Linq.XNode,System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Xml.XPath.Extensions::XPathEvaluate(System.Xml.Linq.XNode,System.String,System.Xml.IXmlNamespaceResolver)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Xml.XPath.Extensions::XPathSelectElement(System.Xml.Linq.XNode,System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Xml.XPath.Extensions::XPathSelectElement(System.Xml.Linq.XNode,System.String,System.Xml.IXmlNamespaceResolver)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Xml.XPath.Extensions::XPathSelectElements(System.Xml.Linq.XNode,System.String)\",\"\",[0],[False],[None],Default,[])] ReviewPath(System.String) 165"), +(WCHAR*)WStr(" [AspectMethodInsertBefore(\"System.Xml.XPath.Extensions::XPathSelectElements(System.Xml.Linq.XNode,System.String,System.Xml.IXmlNamespaceResolver)\",\"\",[1],[False],[None],Default,[])] ReviewPath(System.String) 165"), +}; +} diff --git a/tracer/src/Datadog.Tracer.Native/Generated/generated_definitions.cpp b/tracer/src/Datadog.Tracer.Native/Generated/generated_definitions.cpp new file mode 100644 index 000000000000..94f93b5b68f0 --- /dev/null +++ b/tracer/src/Datadog.Tracer.Native/Generated/generated_definitions.cpp @@ -0,0 +1,15 @@ +#include "generated_definitions.h" +#include "../../../../shared/src/native-src/version.h" +#include "../logger.h" +#include "corprof.h" +#include "generated_callsites.g.h" + +namespace trace +{ + +std::vector* GeneratedDefinitions::GetCallSites() +{ + return &g_callSites; +} + +} // namespace trace \ No newline at end of file diff --git a/tracer/src/Datadog.Tracer.Native/Generated/generated_definitions.h b/tracer/src/Datadog.Tracer.Native/Generated/generated_definitions.h new file mode 100644 index 000000000000..89dd673d243e --- /dev/null +++ b/tracer/src/Datadog.Tracer.Native/Generated/generated_definitions.h @@ -0,0 +1,19 @@ +// +// Unless explicitly stated otherwise all files in this repository are licensed under the Apache 2 License. +// This product includes software developed at Datadog (https://www.datadoghq.com/). Copyright 2017 Datadog, Inc. +// + +#pragma once +#include "../../../../shared/src/native-src/pal.h" +#include "../cor_profiler.h" +#include + +namespace trace +{ + +class GeneratedDefinitions +{ +public: + static std::vector* GetCallSites(); +}; +} // namespace trace \ No newline at end of file diff --git a/tracer/src/Datadog.Tracer.Native/cor_profiler.cpp b/tracer/src/Datadog.Tracer.Native/cor_profiler.cpp index 6844c977c557..a2ddb716539d 100644 --- a/tracer/src/Datadog.Tracer.Native/cor_profiler.cpp +++ b/tracer/src/Datadog.Tracer.Native/cor_profiler.cpp @@ -2130,14 +2130,14 @@ long CorProfiler::DisableCallTargetDefinitions(UINT32 disabledCategories) return numReverts; } -int CorProfiler::RegisterIastAspects(WCHAR** aspects, int aspectsLength) +int CorProfiler::RegisterIastAspects(WCHAR** aspects, int aspectsLength, UINT32 enabledCategories, UINT32 platform) { auto _ = trace::Stats::Instance()->InitializeProfilerMeasure(); if (_dataflow != nullptr) { Logger::Info("Registering Callsite Aspects."); - _dataflow->LoadAspects(aspects, aspectsLength); + _dataflow->LoadAspects(aspects, aspectsLength, enabledCategories, platform); return aspectsLength; } else diff --git a/tracer/src/Datadog.Tracer.Native/cor_profiler.h b/tracer/src/Datadog.Tracer.Native/cor_profiler.h index 99aad8f9fb51..7fad1ae909a0 100644 --- a/tracer/src/Datadog.Tracer.Native/cor_profiler.h +++ b/tracer/src/Datadog.Tracer.Native/cor_profiler.h @@ -211,8 +211,7 @@ class CorProfiler : public CorProfilerBase // // Register Aspects into Dataflow // - int RegisterIastAspects(WCHAR** aspects, int aspectsLength); - + int RegisterIastAspects(WCHAR** aspects, int aspectsLength, UINT32 enabledCategories = 0xFFFFFFFF, UINT32 platform = 0xFFFFFFFF); // // Live Debugger Integration methods diff --git a/tracer/src/Datadog.Tracer.Native/iast/dataflow.cpp b/tracer/src/Datadog.Tracer.Native/iast/dataflow.cpp index c145459fb65f..a7ebcb5bd4c9 100644 --- a/tracer/src/Datadog.Tracer.Native/iast/dataflow.cpp +++ b/tracer/src/Datadog.Tracer.Native/iast/dataflow.cpp @@ -271,11 +271,11 @@ bool Dataflow::IsInitialized() return _initialized; } -void Dataflow::LoadAspects(WCHAR** aspects, int aspectsLength) +void Dataflow::LoadAspects(WCHAR** aspects, int aspectsLength, UINT32 enabledCategories, UINT32 platform) { // Init aspects auto aspectsName = Constants::AspectsAssemblyName; - trace::Logger::Debug("Dataflow::LoadAspects -> Processing aspects..."); + trace::Logger::Debug("Dataflow::LoadAspects -> Processing aspects... ", aspectsLength, " ", enabledCategories, " ", platform); DataflowAspectClass* aspectClass = nullptr; for (int x = 0; x < aspectsLength; x++) @@ -283,7 +283,7 @@ void Dataflow::LoadAspects(WCHAR** aspects, int aspectsLength) WSTRING line = aspects[x]; if (BeginsWith(line, WStr("[AspectClass("))) { - aspectClass = new DataflowAspectClass(this, aspectsName, line); + aspectClass = new DataflowAspectClass(this, aspectsName, line, enabledCategories); if (!aspectClass->IsValid()) { trace::Logger::Info("Dataflow::LoadAspects -> Detected invalid aspect class ", aspectClass->ToString()); @@ -297,7 +297,7 @@ void Dataflow::LoadAspects(WCHAR** aspects, int aspectsLength) } if (BeginsWith(line, WStr(" [Aspect")) && aspectClass != nullptr) { - auto aspect = new DataflowAspect(aspectClass, line); + auto aspect = new DataflowAspect(aspectClass, line, platform); if (!aspect->IsValid()) { trace::Logger::Info("Dataflow::LoadAspects -> Detected invalid aspect ", aspect->ToString()); diff --git a/tracer/src/Datadog.Tracer.Native/iast/dataflow.h b/tracer/src/Datadog.Tracer.Native/iast/dataflow.h index 6ffe1c70bac2..252e2cfe9019 100644 --- a/tracer/src/Datadog.Tracer.Native/iast/dataflow.h +++ b/tracer/src/Datadog.Tracer.Native/iast/dataflow.h @@ -96,7 +96,7 @@ namespace iast HRESULT ModuleLoaded(ModuleID moduleId, ModuleInfo** pModuleInfo = nullptr); HRESULT ModuleUnloaded(ModuleID moduleId); - void LoadAspects(WCHAR** aspects, int aspectsLength); + void LoadAspects(WCHAR** aspects, int aspectsLength, UINT32 enabledCategories, UINT32 platform); ICorProfilerInfo* GetCorProfilerInfo(); diff --git a/tracer/src/Datadog.Tracer.Native/iast/dataflow_aspects.cpp b/tracer/src/Datadog.Tracer.Native/iast/dataflow_aspects.cpp index 0c361b0edc0a..e54c7214a922 100644 --- a/tracer/src/Datadog.Tracer.Native/iast/dataflow_aspects.cpp +++ b/tracer/src/Datadog.Tracer.Native/iast/dataflow_aspects.cpp @@ -50,7 +50,7 @@ namespace iast //------------------------------------ VersionInfo currentVersion = GetVersionInfo(GetDatadogVersion()); - DataflowAspectClass::DataflowAspectClass(Dataflow* dataflow, const WSTRING& aspectsAssembly, const WSTRING& line) + DataflowAspectClass::DataflowAspectClass(Dataflow* dataflow, const WSTRING& aspectsAssembly, const WSTRING& line, const UINT32 enabledCategories) { this->_dataflow = dataflow; this->_aspectsAssembly = aspectsAssembly; @@ -94,7 +94,23 @@ namespace iast { _vulnerabilityTypes = ParseVulnerabilityTypes(shared::ToString(parts[part])); } - _aspectTypeName = Trim(line.substr(offset)); + + //Trailing parts + parts = Split(Trim(line.substr(offset))); + part = -1; + if ((int) parts.size() > ++part) // APWXR RTPW Nmw + { + _aspectTypeName = Trim(parts[part]); + } + if ((int)parts.size() > ++part) // Category + { + UINT32 category = ConvertToUint(Trim(parts[part]), 0xFFFFFFFF); + if ((category & enabledCategories) == 0) + { + return; // Current category is not enabled + } + } + _isValid = true; } @@ -115,7 +131,7 @@ namespace iast //------------------------------------ - DataflowAspect::DataflowAspect(DataflowAspectClass* aspectClass, const WSTRING& line) + DataflowAspect::DataflowAspect(DataflowAspectClass* aspectClass, const WSTRING& line, const UINT32 enabledCategories) { this->_aspectClass = aspectClass; this->_line = line; @@ -192,10 +208,24 @@ namespace iast _vulnerabilityTypes = ParseVulnerabilityTypes(shared::ToString(parts[part])); } - auto aspectMethod = Trim(line.substr(offset)); - pos0 = IndexOf(aspectMethod, WStr("(")); - _aspectMethodName = aspectMethod.substr(0, pos0); - _aspectMethodParams = aspectMethod.substr(pos0); + // Trailing parts + parts = Split(Trim(line.substr(offset))); + part = -1; + if ((int) parts.size() > ++part) // APWXR RTPW Nmw + { + auto aspectMethod = Trim(parts[part]); + pos0 = IndexOf(aspectMethod, WStr("(")); + _aspectMethodName = aspectMethod.substr(0, pos0); + _aspectMethodParams = aspectMethod.substr(pos0); + } + if ((int) parts.size() > ++part) // Category + { + UINT32 category = ConvertToUint(Trim(parts[part]), 0xFFFFFFFF); + if ((category & enabledCategories) == 0) + { + return; // Current category is not enabled + } + } _isVirtual = _targetType.length() > 0 && _targetMethodType != _targetType; _isGeneric = Contains(_aspectMethodParams, WStr("!!")); diff --git a/tracer/src/Datadog.Tracer.Native/iast/dataflow_aspects.h b/tracer/src/Datadog.Tracer.Native/iast/dataflow_aspects.h index 20e533657a06..372ebd523ff3 100644 --- a/tracer/src/Datadog.Tracer.Native/iast/dataflow_aspects.h +++ b/tracer/src/Datadog.Tracer.Native/iast/dataflow_aspects.h @@ -36,7 +36,7 @@ namespace iast class DataflowAspectClass { public: - DataflowAspectClass(Dataflow* dataflow, const WSTRING& aspectsAssembly, const WSTRING& line); + DataflowAspectClass(Dataflow* dataflow, const WSTRING& aspectsAssembly, const WSTRING& line, const UINT32 enabledCategories); protected: WSTRING _line = EmptyWStr; @@ -72,7 +72,7 @@ namespace iast class DataflowAspect { public: - DataflowAspect(DataflowAspectClass* aspectClass, const WSTRING& line); + DataflowAspect(DataflowAspectClass* aspectClass, const WSTRING& line, const UINT32 enabledCategories); protected: WSTRING _line = EmptyWStr; diff --git a/tracer/src/Datadog.Tracer.Native/iast/iast_util.cpp b/tracer/src/Datadog.Tracer.Native/iast/iast_util.cpp index 99f2db364c3e..6c56b39002c4 100644 --- a/tracer/src/Datadog.Tracer.Native/iast/iast_util.cpp +++ b/tracer/src/Datadog.Tracer.Native/iast/iast_util.cpp @@ -647,18 +647,26 @@ static thread_local std::unordered_map locked; return str.substr(indexFrom, indexTo - indexFrom + 1); } - bool TryParseInt(const WSTRING& str, int* pValue) + int ConvertToInt(const WSTRING& str, int defaultValue) { - return TryParseInt(ToString(str), pValue); + return ConvertToInt(ToString(str), defaultValue); } - int ConvertToInt(const WSTRING& str) + UINT32 ConvertToUint(const WSTRING& str, UINT32 defaultValue) { - return ConvertToInt(ToString(str)); + return ConvertToUint(ToString(str), defaultValue); } bool ConvertToBool(const WSTRING& str) { return ConvertToBool(ToString(str)); } + bool TryParseInt(const WSTRING& str, int* pValue) + { + return TryParseInt(ToString(str), pValue); + } + bool TryParseUint(const WSTRING& str, UINT32* pValue) + { + return TryParseUint(ToString(str), pValue); + } bool TryParseInt(const std::string& str, int* pValue) { @@ -672,12 +680,33 @@ static thread_local std::unordered_map locked; } return res; } - int ConvertToInt(const std::string& str) + int ConvertToInt(const std::string& str, int defaultValue) { - int res = 0; + int res = defaultValue; TryParseInt(str, &res); return res; } + + bool TryParseUint(const std::string& str, UINT32* pValue) + { + std::istringstream stream(Trim(str)); + UINT32 value = 0; + stream >> value; + bool res = !stream.fail(); + if (res && pValue) + { + *pValue = value; + } + return res; + } + UINT32 ConvertToUint(const std::string& str, UINT32 defaultValue) + { + auto res = defaultValue; + TryParseUint(str, &res); + return res; + } + + unsigned int ConvertHexToInt(const std::string& str) { std::stringstream stream; diff --git a/tracer/src/Datadog.Tracer.Native/iast/iast_util.h b/tracer/src/Datadog.Tracer.Native/iast/iast_util.h index 822373b7071e..35b36f715fac 100644 --- a/tracer/src/Datadog.Tracer.Native/iast/iast_util.h +++ b/tracer/src/Datadog.Tracer.Native/iast/iast_util.h @@ -152,11 +152,18 @@ namespace iast std::string TrimEnd(const std::string& str, const std::string& c = " \t\r\n"); std::string TrimStart(const std::string& str, const std::string& c = " \t\r\n"); - int ConvertToInt(const WSTRING& str); + int ConvertToInt(const WSTRING& str, int defaultValue = 0); + UINT32 ConvertToUint(const WSTRING& str, UINT32 defaultValue = 0); bool ConvertToBool(const WSTRING& str); - bool TryParseInt(const std::string& str, int* pValue); - int ConvertToInt(const std::string& str); + bool TryParseInt(const WSTRING& str, int* pValue); + bool TryParseUint(const WSTRING& str, UINT32* pValue); + + + int ConvertToInt(const std::string& str, int defaultValue = 0); + UINT32 ConvertToUint(const std::string& str, UINT32 defaultValue = 0); bool ConvertToBool(const std::string& str); + bool TryParseInt(const std::string& str, int* pValue); + bool TryParseUint(const std::string& str, UINT32* pValue); std::vector ConvertToIntVector(const WSTRING& str); std::vector ConvertToBoolVector(const WSTRING& str); diff --git a/tracer/src/Datadog.Tracer.Native/interop.cpp b/tracer/src/Datadog.Tracer.Native/interop.cpp index 9c0c6c3b5c51..cc2ebcfe8f88 100644 --- a/tracer/src/Datadog.Tracer.Native/interop.cpp +++ b/tracer/src/Datadog.Tracer.Native/interop.cpp @@ -9,6 +9,7 @@ #include "cor_profiler.h" #include "logger.h" #include "iast/hardcoded_secrets_method_analyzer.h" +#include "Generated/generated_definitions.h" #ifndef _WIN32 #include @@ -212,6 +213,21 @@ EXTERN_C long STDAPICALLTYPE DisableCallTargetDefinitions(UINT32 disabledCategor return trace::profiler->DisableCallTargetDefinitions(disabledCategories); } +EXTERN_C int STDAPICALLTYPE InitEmbeddedCallSiteDefinitions(UINT32 enabledCategories, UINT32 platform) +{ + if (trace::profiler == nullptr) + { + trace::Logger::Error("Error in InitEmbeddedCallSiteDefinitions call. Tracer CLR Profiler was not initialized."); + return 0; + } + + auto targets = trace::GeneratedDefinitions::GetCallSites(); + if (targets) + { + return trace::profiler->RegisterIastAspects((WCHAR**) targets->data(), targets->size(), enabledCategories, platform); + } + return 0; +} EXTERN_C VOID STDAPICALLTYPE UpdateSettings(WCHAR* keys[], WCHAR* values[], int length) { diff --git a/tracer/test/Datadog.Trace.Security.IntegrationTests/IAST/IastInstrumentationUnitTests.cs b/tracer/test/Datadog.Trace.Security.IntegrationTests/IAST/IastInstrumentationUnitTests.cs index c22f31422f6c..671bc9b76d07 100644 --- a/tracer/test/Datadog.Trace.Security.IntegrationTests/IAST/IastInstrumentationUnitTests.cs +++ b/tracer/test/Datadog.Trace.Security.IntegrationTests/IAST/IastInstrumentationUnitTests.cs @@ -24,6 +24,7 @@ using Datadog.Trace.Configuration; using Datadog.Trace.TestHelpers; using FluentAssertions; +using FluentAssertions.Equivalency.Tracing; using Xunit; using Xunit.Abstractions; using DirectoryEntry = System.DirectoryServices.DirectoryEntry; @@ -32,6 +33,8 @@ namespace Datadog.Trace.Security.IntegrationTests.Iast; public class IastInstrumentationUnitTests : TestHelper { + private List _aspects = null; + private List _taintedTypes = new List() { typeof(string), typeof(StringBuilder), typeof(object), typeof(char[]), typeof(object[]), typeof(IEnumerable), @@ -44,6 +47,33 @@ public IastInstrumentationUnitTests(ITestOutputHelper output) { } + public List GetAspects() + { + if (_aspects == null) + { + var tfm = (uint)Telemetry.ConfigTelemetryData.TargetFramework; + var aspects = new List(); + // Read aspects from the native definitions file + var path = Path.Combine(EnvironmentTools.GetSolutionDirectory(), "tracer", "src", "Datadog.Tracer.Native", "Generated", "generated_callsites.g.h"); + foreach (var line in File.ReadAllLines(path)) + { + if (!line.Contains("Aspect")) { continue; } + var aspect = line.Substring(14, line.Length - 17).Replace("\\\"", "\""); + + // Get TFMs from the aspect + int index = aspect.LastIndexOf(' '); + uint tfms = Convert.ToUInt32(aspect.Substring(index + 1)); + if ((tfm & tfms) == 0) { continue; } + + aspects.Add(aspect); + } + + _aspects = aspects; + } + + return _aspects; + } + [SkippableTheory] #if NETCOREAPP3_1_OR_GREATER [InlineData(typeof(StringBuilder), "Append")] @@ -385,7 +415,7 @@ private bool MethodShouldBeChecked(MethodBase method) private void TestMethodOverloads(Type typeToCheck, string methodToCheck, List overloadsToExclude = null, bool excludeParameterlessMethods = false) { var overloadsToExcludeNormalized = overloadsToExclude?.Select(NormalizeName).ToList(); - var aspects = ClrProfiler.AspectDefinitions.GetAspects().Where(x => x.Contains(typeToCheck.FullName + "::")).ToList(); + var aspects = GetAspects().Where(x => x.Contains(typeToCheck.FullName + "::")).ToList(); List typeMethods = new(); typeMethods.AddRange(string.IsNullOrEmpty(methodToCheck) ? typeToCheck?.GetMethods().Where(x => x.IsPublic && !x.IsVirtual) : @@ -425,7 +455,7 @@ private void CheckAllAspectHaveACorrespondingMethod(Type typeToCheck, List NormalizeName(x).Contains(x)) is null) { diff --git a/tracer/test/Datadog.Trace.SourceGenerators.Tests/AspectsDefinitionsGeneratorTests.cs b/tracer/test/Datadog.Trace.SourceGenerators.Tests/AspectsDefinitionsGeneratorTests.cs deleted file mode 100644 index 34a2649c9e8e..000000000000 --- a/tracer/test/Datadog.Trace.SourceGenerators.Tests/AspectsDefinitionsGeneratorTests.cs +++ /dev/null @@ -1,964 +0,0 @@ -// -// Unless explicitly stated otherwise all files in this repository are licensed under the Apache 2 License. -// This product includes software developed at Datadog (https://www.datadoghq.com/). Copyright 2017 Datadog, Inc. -// - -using Xunit; - -namespace Datadog.Trace.SourceGenerators.Tests -{ - public class AspectsDefinitionsGeneratorTests - { - [Fact] - public void DoesNotGenerateDefinitionsIfThereAreNone() - { - const string input = """ -using Datadog.Trace.SourceGenerators; -using Datadog.Trace.Iast; -using Datadog.Trace.Iast.Dataflow; - -namespace MyTests; -public class TestList -{ -} -"""; - - const string expected = Constants.FileHeader + """ -using System; -using System.Collections; -using System.Collections.Generic; -using System.Linq; - -namespace Datadog.Trace.ClrProfiler -{ - internal static partial class AspectDefinitions - { - public static string[] GetAspects() => new string[] { - }; - - public static string[] GetRaspAspects() => new string[] { - }; - } -} - -"""; - - var (diagnostics, output) = TestHelpers.GetGeneratedOutput( - SourceHelper.AspectAttributes, - input); - - Assert.Equal(expected, output); - Assert.Empty(diagnostics); - } - - [Fact] - public void CanGenerateAspectsDefinitionForSimpleClass() - { - const string input = """ -using Datadog.Trace.SourceGenerators; -using Datadog.Trace.Iast; -using Datadog.Trace.Iast.Dataflow; - -namespace MyTests; - -[AspectClass("mscorlib,netstandard,System.Private.CoreLib", new[] { AspectFilter.StringOptimization })] -public class TestAspectClass -{ - [AspectMethodReplace("System.String::Concat(System.String,System.String)", AspectFilter.StringLiterals_Any)] - public static string Concat(string target, string param1) - { - return string.Concat(target, param1); - } - [AspectMethodReplace("System.String::Concat(System.Object,System.Object,System.Object)", AspectFilter.StringLiterals_Any)] - public static string Concat(object target, object param1, object param2) - { - return string.Concat(target, param1, param2); - } -} -"""; - - const string expected = Constants.FileHeader + """" -using System; -using System.Collections; -using System.Collections.Generic; -using System.Linq; - -namespace Datadog.Trace.ClrProfiler -{ - internal static partial class AspectDefinitions - { - public static string[] GetAspects() => new string[] { -"[AspectClass(\"mscorlib,netstandard,System.Private.CoreLib\",[StringOptimization],Propagation,[])] MyTests.TestAspectClass", -" [AspectMethodReplace(\"System.String::Concat(System.String,System.String)\",\"\",[0],[False],[StringLiterals_Any],Default,[])] Concat(System.String,System.String)", -" [AspectMethodReplace(\"System.String::Concat(System.Object,System.Object,System.Object)\",\"\",[0],[False],[StringLiterals_Any],Default,[])] Concat(System.Object,System.Object,System.Object)", - }; - - public static string[] GetRaspAspects() => new string[] { - }; - } -} - -""""; - - var (diagnostics, output) = TestHelpers.GetGeneratedOutput( - SourceHelper.AspectAttributes, - input); - Assert.Equal(expected, output); - Assert.Empty(diagnostics); - } - - [Fact] - public void CanGenerateAspectsDefinitionForDefinedGenerics() - { - const string input = """ -using Datadog.Trace.SourceGenerators; -using Datadog.Trace.Iast; -using Datadog.Trace.Iast.Dataflow; - -namespace MyTests; - -[AspectClass("mscorlib,netstandard,System.Private.CoreLib")] -public class TestAspectClass1 -{ - [AspectMethodReplace("System.String::Concat(System.Collections.Generic.IEnumerable`1)")] - public static string Concat(System.Collections.Generic.IEnumerable values) - { - return string.Concat(target, param1); - } -} -"""; - - const string expected = Constants.FileHeader + """" -using System; -using System.Collections; -using System.Collections.Generic; -using System.Linq; - -namespace Datadog.Trace.ClrProfiler -{ - internal static partial class AspectDefinitions - { - public static string[] GetAspects() => new string[] { -"[AspectClass(\"mscorlib,netstandard,System.Private.CoreLib\",[None],Propagation,[])] MyTests.TestAspectClass1", -" [AspectMethodReplace(\"System.String::Concat(System.Collections.Generic.IEnumerable`1)\",\"\",[0],[False],[None],Default,[])] Concat(System.Collections.Generic.IEnumerable`1)", - }; - - public static string[] GetRaspAspects() => new string[] { - }; - } -} - -""""; - - var (diagnostics, output) = TestHelpers.GetGeneratedOutput( - SourceHelper.AspectAttributes, - input); - Assert.Equal(expected, output); - Assert.Empty(diagnostics); - } - - [Fact] - public void CanGenerateAspectsDefinitionForUndefinedGenerics() - { - const string input = """ -using Datadog.Trace.SourceGenerators; -using Datadog.Trace.Iast; -using Datadog.Trace.Iast.Dataflow; - -namespace MyTests; - -[AspectClass("mscorlib,netstandard,System.Private.CoreLib")] -public class TestAspectClass1 -{ - [AspectMethodReplace("System.String::Concat(System.Collections.Generic.IEnumerable`1)")] - public static string Concat(System.Collections.Generic.IEnumerable values) - { - return string.Concat(target, param1); - } -} -"""; - - const string expected = Constants.FileHeader + """" -using System; -using System.Collections; -using System.Collections.Generic; -using System.Linq; - -namespace Datadog.Trace.ClrProfiler -{ - internal static partial class AspectDefinitions - { - public static string[] GetAspects() => new string[] { -"[AspectClass(\"mscorlib,netstandard,System.Private.CoreLib\",[None],Propagation,[])] MyTests.TestAspectClass1", -" [AspectMethodReplace(\"System.String::Concat(System.Collections.Generic.IEnumerable`1)\",\"\",[0],[False],[None],Default,[])] Concat(System.Collections.Generic.IEnumerable`1)", - }; - - public static string[] GetRaspAspects() => new string[] { - }; - } -} - -""""; - - var (diagnostics, output) = TestHelpers.GetGeneratedOutput( - SourceHelper.AspectAttributes, - input); - Assert.Equal(expected, output); - Assert.Empty(diagnostics); - } - - [Fact] - public void CanGenerateAspectsDefinitionWithMultipleAspects() - { - const string input = """ -using Datadog.Trace.SourceGenerators; -using Datadog.Trace.Iast; -using Datadog.Trace.Iast.Dataflow; - -namespace MyTests; - -[AspectClass("mscorlib,netstandard,System.Private.CoreLib", new[] { AspectFilter.StringOptimization })] -public class TestAspectClass -{ - [AspectMethodReplace("System.String::Concat(System.String,System.String)", AspectFilter.StringLiterals_Any)] - [AspectMethodReplace("System.String::Concat(System.Object,System.Object,System.Object)", AspectFilter.StringLiterals_Any)] - public static string Concat(string target, string param1) - { - return string.Concat(target, param1); - } -} -"""; - - const string expected = Constants.FileHeader + """" -using System; -using System.Collections; -using System.Collections.Generic; -using System.Linq; - -namespace Datadog.Trace.ClrProfiler -{ - internal static partial class AspectDefinitions - { - public static string[] GetAspects() => new string[] { -"[AspectClass(\"mscorlib,netstandard,System.Private.CoreLib\",[StringOptimization],Propagation,[])] MyTests.TestAspectClass", -" [AspectMethodReplace(\"System.String::Concat(System.String,System.String)\",\"\",[0],[False],[StringLiterals_Any],Default,[])] Concat(System.String,System.String)", -" [AspectMethodReplace(\"System.String::Concat(System.Object,System.Object,System.Object)\",\"\",[0],[False],[StringLiterals_Any],Default,[])] Concat(System.String,System.String)", - }; - - public static string[] GetRaspAspects() => new string[] { - }; - } -} - -""""; - - var (diagnostics, output) = TestHelpers.GetGeneratedOutput( - SourceHelper.AspectAttributes, - input); - Assert.Equal(expected, output); - Assert.Empty(diagnostics); - } - - [Fact] - public void CanGenerateAspectsDefinitionForTwoClasses() - { - const string input = """ -using Datadog.Trace.SourceGenerators; -using Datadog.Trace.Iast; -using Datadog.Trace.Iast.Dataflow; - -namespace MyTests; - -[AspectClass("mscorlib,netstandard,System.Private.CoreLib", new[] { AspectFilter.StringOptimization })] -public class TestAspectClass1 -{ - [AspectMethodReplace("System.String::Concat(System.String,System.String)", AspectFilter.StringLiterals_Any)] - public static string Concat(string target, string param1) - { - return string.Concat(target, param1); - } - [AspectMethodReplace("System.String::Concat(System.Object,System.Object,System.Object)", AspectFilter.StringLiterals_Any)] - public static string Concat(object target, object param1, object param2) - { - return string.Concat(target, param1, param2); - } -} - -[AspectClass("mscorlib,netstandard,System.Private.CoreLib", new[] { AspectFilter.StringOptimization }, AspectType.Sink, new[] { VulnerabilityType.WeakCipher, VulnerabilityType.WeakHash) }] -public class TestAspectClass2 -{ - [AspectMethodReplace("System.String::Concat(System.String,System.String)", AspectFilter.StringLiterals_Any)] - public static string Concat(string target, string param1) - { - return string.Concat(target, param1); - } - [AspectMethodReplace("System.String::Concat(System.Object,System.Object,System.Object)", AspectFilter.StringLiterals_Any)] - public static string Concat(object target, object param1, object param2) - { - return string.Concat(target, param1, param2); - } -} -"""; - - const string expected = Constants.FileHeader + """" -using System; -using System.Collections; -using System.Collections.Generic; -using System.Linq; - -namespace Datadog.Trace.ClrProfiler -{ - internal static partial class AspectDefinitions - { - public static string[] GetAspects() => new string[] { -"[AspectClass(\"mscorlib,netstandard,System.Private.CoreLib\",[StringOptimization],Propagation,[])] MyTests.TestAspectClass1", -" [AspectMethodReplace(\"System.String::Concat(System.String,System.String)\",\"\",[0],[False],[StringLiterals_Any],Default,[])] Concat(System.String,System.String)", -" [AspectMethodReplace(\"System.String::Concat(System.Object,System.Object,System.Object)\",\"\",[0],[False],[StringLiterals_Any],Default,[])] Concat(System.Object,System.Object,System.Object)", -"[AspectClass(\"mscorlib,netstandard,System.Private.CoreLib\",[StringOptimization],Sink,[WeakCipher,WeakHash])] MyTests.TestAspectClass2", -" [AspectMethodReplace(\"System.String::Concat(System.String,System.String)\",\"\",[0],[False],[StringLiterals_Any],Default,[])] Concat(System.String,System.String)", -" [AspectMethodReplace(\"System.String::Concat(System.Object,System.Object,System.Object)\",\"\",[0],[False],[StringLiterals_Any],Default,[])] Concat(System.Object,System.Object,System.Object)", - }; - - public static string[] GetRaspAspects() => new string[] { - }; - } -} - -""""; - - var (diagnostics, output) = TestHelpers.GetGeneratedOutput( - SourceHelper.AspectAttributes, - input); - Assert.Equal(expected, output); - Assert.Empty(diagnostics); - } - - [Fact] - public void CanGenerateClassAspectsDefinitionWithAllOptions() - { - const string input = """ -using Datadog.Trace.SourceGenerators; -using Datadog.Trace.Iast; -using Datadog.Trace.Iast.Dataflow; - -namespace MyTests; - -[AspectClass("mscorlib,netstandard,System.Private.CoreLib", new AspectFilter[]{AspectFilter.StringLiterals_Any,AspectFilter.StringLiterals}, AspectType.Source, VulnerabilityType.WeakCipher, VulnerabilityType.WeakHash)] -public class TestAspectClass1 -{ - [AspectMethodReplace("System.String::Concat(System.String,System.String)", AspectFilter.StringLiterals_Any)] - public static string Concat(string target, string param1) - { - return string.Concat(target, param1); - } -} -[AspectClass("mscorlib,netstandard,System.Private.CoreLib", new AspectFilter[]{AspectFilter.StringLiteral_0,AspectFilter.StringLiteral_1}, AspectType.Sink, VulnerabilityType.WeakCipher)] -public class TestAspectClass2 -{ - [AspectMethodReplace("System.Text.StringBuilder::.ctor(System.String)", "System.Text.StringBuilder", AspectFilter.StringLiterals_Any)] - public static object Init(string target) - { - return new StringBuilder(target); - } -} -"""; - - const string expected = Constants.FileHeader + """" -using System; -using System.Collections; -using System.Collections.Generic; -using System.Linq; - -namespace Datadog.Trace.ClrProfiler -{ - internal static partial class AspectDefinitions - { - public static string[] GetAspects() => new string[] { -"[AspectClass(\"mscorlib,netstandard,System.Private.CoreLib\",[StringLiteral_0,StringLiteral_1],Sink,[WeakCipher])] MyTests.TestAspectClass2", -" [AspectMethodReplace(\"System.Text.StringBuilder::.ctor(System.String)\",\"System.Text.StringBuilder\",[0],[False],[StringLiterals_Any],Default,[])] Init(System.String)", -"[AspectClass(\"mscorlib,netstandard,System.Private.CoreLib\",[StringLiterals_Any,StringLiterals],Source,[WeakCipher,WeakHash])] MyTests.TestAspectClass1", -" [AspectMethodReplace(\"System.String::Concat(System.String,System.String)\",\"\",[0],[False],[StringLiterals_Any],Default,[])] Concat(System.String,System.String)", - }; - - public static string[] GetRaspAspects() => new string[] { - }; - } -} - -""""; - - var (diagnostics, output) = TestHelpers.GetGeneratedOutput( - SourceHelper.AspectAttributes, - input); - Assert.Equal(expected, output); - Assert.Empty(diagnostics); - } - - [Fact] - public void CanGenerateAspectsDefinitionWithArrayParam() - { - const string input = """ -using Datadog.Trace.SourceGenerators; -using Datadog.Trace.Iast; -using Datadog.Trace.Iast.Dataflow; - -namespace MyTests; - -[AspectClass("mscorlib,netstandard,System.Private.CoreLib")] -public class TestAspectClass1 -{ - [AspectMethodReplace("System.String::Concat(System.String,System.String[])", AspectFilter.StringLiterals_Any)] - public static string Concat(string target, string[] param1) - { - return string.Concat(target, param1); - } -} -"""; - - const string expected = Constants.FileHeader + """" -using System; -using System.Collections; -using System.Collections.Generic; -using System.Linq; - -namespace Datadog.Trace.ClrProfiler -{ - internal static partial class AspectDefinitions - { - public static string[] GetAspects() => new string[] { -"[AspectClass(\"mscorlib,netstandard,System.Private.CoreLib\",[None],Propagation,[])] MyTests.TestAspectClass1", -" [AspectMethodReplace(\"System.String::Concat(System.String,System.String[])\",\"\",[0],[False],[StringLiterals_Any],Default,[])] Concat(System.String,System.String[])", - }; - - public static string[] GetRaspAspects() => new string[] { - }; - } -} - -""""; - - var (diagnostics, output) = TestHelpers.GetGeneratedOutput( - SourceHelper.AspectAttributes, - input); - Assert.Equal(expected, output); - Assert.Empty(diagnostics); - } - - [Fact] - public void CanGenerateAspectsDefinitionForTwoClassesRasp() - { - const string input = """ -using Datadog.Trace.SourceGenerators; -using Datadog.Trace.Iast; -using Datadog.Trace.Iast.Dataflow; - -namespace MyTests; - -[AspectClass("mscorlib,netstandard,System.Private.CoreLib", new[] { AspectFilter.StringOptimization })] -public class TestAspectClass1 -{ - [AspectMethodReplace("System.String::Concat(System.String,System.String)", AspectFilter.StringLiterals_Any)] - public static string Concat(string target, string param1) - { - return string.Concat(target, param1); - } - [AspectMethodReplace("System.String::Concat(System.Object,System.Object,System.Object)", AspectFilter.StringLiterals_Any)] - public static string Concat(object target, object param1, object param2) - { - return string.Concat(target, param1, param2); - } -} - -[AspectClass("mscorlib,netstandard,System.Private.CoreLib", new[] { AspectFilter.StringOptimization }, AspectType.RaspIastSink, new[] { VulnerabilityType.WeakCipher, VulnerabilityType.WeakHash) }] -public class TestAspectClass2 -{ - [AspectMethodReplace("System.String::Concat(System.String,System.String)", AspectFilter.StringLiterals_Any)] - public static string Concat(string target, string param1) - { - return string.Concat(target, param1); - } - [AspectMethodReplace("System.String::Concat(System.Object,System.Object,System.Object)", AspectFilter.StringLiterals_Any)] - public static string Concat(object target, object param1, object param2) - { - return string.Concat(target, param1, param2); - } -} -"""; - - const string expected = Constants.FileHeader + """" -using System; -using System.Collections; -using System.Collections.Generic; -using System.Linq; - -namespace Datadog.Trace.ClrProfiler -{ - internal static partial class AspectDefinitions - { - public static string[] GetAspects() => new string[] { -"[AspectClass(\"mscorlib,netstandard,System.Private.CoreLib\",[StringOptimization],Propagation,[])] MyTests.TestAspectClass1", -" [AspectMethodReplace(\"System.String::Concat(System.String,System.String)\",\"\",[0],[False],[StringLiterals_Any],Default,[])] Concat(System.String,System.String)", -" [AspectMethodReplace(\"System.String::Concat(System.Object,System.Object,System.Object)\",\"\",[0],[False],[StringLiterals_Any],Default,[])] Concat(System.Object,System.Object,System.Object)", -"[AspectClass(\"mscorlib,netstandard,System.Private.CoreLib\",[StringOptimization],Sink,[WeakCipher,WeakHash])] MyTests.TestAspectClass2", -" [AspectMethodReplace(\"System.String::Concat(System.String,System.String)\",\"\",[0],[False],[StringLiterals_Any],Default,[])] Concat(System.String,System.String)", -" [AspectMethodReplace(\"System.String::Concat(System.Object,System.Object,System.Object)\",\"\",[0],[False],[StringLiterals_Any],Default,[])] Concat(System.Object,System.Object,System.Object)", - }; - - public static string[] GetRaspAspects() => new string[] { -"[AspectClass(\"mscorlib,netstandard,System.Private.CoreLib\",[StringOptimization],Sink,[WeakCipher,WeakHash])] MyTests.TestAspectClass2", -" [AspectMethodReplace(\"System.String::Concat(System.String,System.String)\",\"\",[0],[False],[StringLiterals_Any],Default,[])] Concat(System.String,System.String)", -" [AspectMethodReplace(\"System.String::Concat(System.Object,System.Object,System.Object)\",\"\",[0],[False],[StringLiterals_Any],Default,[])] Concat(System.Object,System.Object,System.Object)", - }; - } -} - -""""; - - var (diagnostics, output) = TestHelpers.GetGeneratedOutput( - SourceHelper.AspectAttributes, - input); - Assert.Equal(expected, output); - Assert.Empty(diagnostics); - } - - [Fact] - public void CanGenerateClassAspectsDefinitionWithAllOptionsRasp() - { - const string input = """ -using Datadog.Trace.SourceGenerators; -using Datadog.Trace.Iast; -using Datadog.Trace.Iast.Dataflow; - -namespace MyTests; - -[AspectClass("mscorlib,netstandard,System.Private.CoreLib", new AspectFilter[]{AspectFilter.StringLiterals_Any,AspectFilter.StringLiterals}, AspectType.Source, VulnerabilityType.WeakCipher, VulnerabilityType.WeakHash)] -public class TestAspectClass1 -{ - [AspectMethodReplace("System.String::Concat(System.String,System.String)", AspectFilter.StringLiterals_Any)] - public static string Concat(string target, string param1) - { - return string.Concat(target, param1); - } -} -[AspectClass("mscorlib,netstandard,System.Private.CoreLib", new AspectFilter[]{AspectFilter.StringLiteral_0,AspectFilter.StringLiteral_1}, AspectType.RaspIastSink, VulnerabilityType.WeakCipher)] -public class TestAspectClass2 -{ - [AspectMethodReplace("System.Text.StringBuilder::.ctor(System.String)", "System.Text.StringBuilder", AspectFilter.StringLiterals_Any)] - public static object Init(string target) - { - return new StringBuilder(target); - } -} -"""; - - const string expected = Constants.FileHeader + """" -using System; -using System.Collections; -using System.Collections.Generic; -using System.Linq; - -namespace Datadog.Trace.ClrProfiler -{ - internal static partial class AspectDefinitions - { - public static string[] GetAspects() => new string[] { -"[AspectClass(\"mscorlib,netstandard,System.Private.CoreLib\",[StringLiteral_0,StringLiteral_1],Sink,[WeakCipher])] MyTests.TestAspectClass2", -" [AspectMethodReplace(\"System.Text.StringBuilder::.ctor(System.String)\",\"System.Text.StringBuilder\",[0],[False],[StringLiterals_Any],Default,[])] Init(System.String)", -"[AspectClass(\"mscorlib,netstandard,System.Private.CoreLib\",[StringLiterals_Any,StringLiterals],Source,[WeakCipher,WeakHash])] MyTests.TestAspectClass1", -" [AspectMethodReplace(\"System.String::Concat(System.String,System.String)\",\"\",[0],[False],[StringLiterals_Any],Default,[])] Concat(System.String,System.String)", - }; - - public static string[] GetRaspAspects() => new string[] { -"[AspectClass(\"mscorlib,netstandard,System.Private.CoreLib\",[StringLiteral_0,StringLiteral_1],Sink,[WeakCipher])] MyTests.TestAspectClass2", -" [AspectMethodReplace(\"System.Text.StringBuilder::.ctor(System.String)\",\"System.Text.StringBuilder\",[0],[False],[StringLiterals_Any],Default,[])] Init(System.String)", - }; - } -} - -""""; - - var (diagnostics, output) = TestHelpers.GetGeneratedOutput( - SourceHelper.AspectAttributes, - input); - Assert.Equal(expected, output); - Assert.Empty(diagnostics); - } - - [Fact] - public void CanGenerateAspectsDefinitionWithVersion() - { - const string input = """ -using Datadog.Trace.SourceGenerators; -using Datadog.Trace.Iast; -using Datadog.Trace.Iast.Dataflow; - -namespace MyTests; - -[AspectClass("mscorlib,netstandard,System.Private.CoreLib")] -public class TestAspectClass1 -{ - [AspectMethodReplaceFromVersion("3.2.0", "System.String::Concat(System.Collections.Generic.IEnumerable)")] - public static string Concat(System.Collections.Generic.IEnumerable values) - { - return string.Concat(target, param1); - } -} -"""; - - const string expected = Constants.FileHeader + """" -using System; -using System.Collections; -using System.Collections.Generic; -using System.Linq; - -namespace Datadog.Trace.ClrProfiler -{ - internal static partial class AspectDefinitions - { - public static string[] GetAspects() => new string[] { -"[AspectClass(\"mscorlib,netstandard,System.Private.CoreLib\",[None],Propagation,[])] MyTests.TestAspectClass1", -" [AspectMethodReplace(\"System.String::Concat(System.Collections.Generic.IEnumerable)\",\"\",[0],[False],[None],Default,[]);V3.2.0] Concat(System.Collections.Generic.IEnumerable)", - }; - - public static string[] GetRaspAspects() => new string[] { - }; - } -} - -""""; - - var (diagnostics, output) = TestHelpers.GetGeneratedOutput( - SourceHelper.AspectAttributes, - input); - Assert.Equal(expected, output); - Assert.Empty(diagnostics); - } - - public static class SourceHelper - { - public const string AspectAttributes = """ -#pragma warning disable CS8603 -#nullable enable -using System; -using System.Collections.Generic; -using System.Diagnostics; -using System.Linq; -using System.Text; -using System.Text.RegularExpressions; -using Datadog.Trace.Iast.Helpers; - -namespace Datadog.Trace.Iast.Dataflow -{ -[AttributeUsage(AttributeTargets.Method, AllowMultiple = true, Inherited = true)] -internal abstract class AspectAttribute : Attribute -{ - private static Regex nameSplitter = new Regex(@"(?:([^|]+)\|)?(([^:]+)(?:::[^()]+\(.*\))?)", RegexOptions.Compiled); // 1->Assembly 2->Function 3->Type - private readonly List parameters = new List(); - - public AspectAttribute(string targetMethod, AspectType aspectType = AspectType.DEFAULT, params VulnerabilityType[] vulnerabilityTypes) - : this(targetMethod, string.Empty, 0, false, aspectType, vulnerabilityTypes) - { - } - - public AspectAttribute(string targetMethod, params AspectFilter[] filters) - : this(targetMethod, string.Empty, 0, false, filters) - { - } - - public AspectAttribute(string targetMethod, string targetType, params AspectFilter[] filters) - : this(targetMethod, targetType, 0, false, filters) - { - } - - public AspectAttribute(string targetMethod, string targetType, int paramShift, bool boxParam, AspectType aspectType = AspectType.Propagation, params VulnerabilityType[] vulnerabilityTypes) - : this(targetMethod, targetType, new int[] { paramShift }, new bool[] { boxParam }, new AspectFilter[] { }, aspectType, vulnerabilityTypes) - { - } - - public AspectAttribute(string targetMethod, string targetType, int paramShift, bool boxParam, AspectFilter[] filters, AspectType aspectType = AspectType.Propagation, params VulnerabilityType[] vulnerabilityTypes) - : this(targetMethod, targetType, new int[] { paramShift }, new bool[] { boxParam }, filters, aspectType, vulnerabilityTypes) - { - } - - public AspectAttribute(string targetMethod, string targetType, int[] paramShift, bool[] boxParam, AspectFilter[] filters, AspectType aspectType = AspectType.Propagation, params VulnerabilityType[] vulnerabilityTypes) - { - if (paramShift == null || paramShift.Length == 0) { paramShift = new int[] { 0 }; } - if (boxParam == null || boxParam.Length == 0) { boxParam = new bool[] { false }; } - if (filters == null || filters.Length == 0) { filters = new AspectFilter[] { AspectFilter.None }; } - - if (paramShift.Length > 1 && boxParam.Length == 1) - { - boxParam = Enumerable.Repeat(boxParam[0], paramShift.Length).ToArray(); - } - - Debug.Assert(paramShift.Length == boxParam.Length, "paramShift and boxParam must be same len"); - - parameters.Add(targetMethod.Quote()); - parameters.Add(targetType.Quote()); - parameters.Add(paramShift); - parameters.Add(boxParam); - parameters.Add(filters); - parameters.Add(aspectType); - parameters.Add(vulnerabilityTypes ?? new VulnerabilityType[0])); - - var targetMethodMatch = nameSplitter.Match(targetMethod); - TargetMethodAssemblies = GetAssemblyList(targetMethodMatch.Groups[1].Value); - TargetMethod = targetMethodMatch.Groups[2].Value; - TargetMethodType = targetMethodMatch.Groups[3].Value; - TargetTypeAssemblies = TargetMethodAssemblies; - TargetType = TargetMethodType; - - if (!string.IsNullOrEmpty(targetType)) - { - var targetTypeMatch = nameSplitter.Match(targetType); - TargetTypeAssemblies = GetAssemblyList(targetTypeMatch.Groups[1].Value); - TargetType = targetTypeMatch.Groups[3].Value; - } - - AspectType = aspectType; - VulnerabilityTypes = vulnerabilityTypes ?? new VulnerabilityType[0]; - IsVirtual = (TargetMethodType != TargetType); - - ParamShift = paramShift; - BoxParam = boxParam; - Filters = filters; - } - - // Target method data (base virtual) - public List TargetMethodAssemblies { get; private set; } - - public string TargetMethodType { get; private set; } - - public string TargetMethod { get; } - - // Final type data - public List TargetTypeAssemblies { get; private set; } - - public string TargetType { get; private set; } - - public bool IsVirtual { get; } - - public int[] ParamShift { get; } // Number of parameters to move up in stack before inyecting the Aspect - - public bool[] BoxParam { get; } // Box parameter before adding call - - public AspectFilter[] Filters { get; } // Filters applied to aspect insertion - - public AspectType AspectType { get; private set; } - - public VulnerabilityType[] VulnerabilityTypes { get; private set; } - - public override string ToString() - { - return string.Format("[{0}({1})]", GetType().Name.Replace("Attribute", string.Empty), string.Join(",", parameters.Select(i => ConvertToString(i)).ToArray())); - } - - internal static List GetAssemblyList(string expression) - { - if (string.IsNullOrEmpty(expression)) - { - return new List(); - } - - return expression.Split(',').Select(e => e.Trim()).Where(e => !string.IsNullOrEmpty(e)).ToList(); - } - - internal static string ConvertToString(object? obj) - { - if (obj == null) { return "null"; } - if (obj is Array arr) - { - var res = new StringBuilder("["); - bool first = true; - foreach (var e in arr) - { - if (!first) { res.Append(","); } - else { first = false; } - res.Append(ConvertToString(e)); - } - - res.Append("]"); - return res.ToString(); - } - - return Convert.ToString(obj); - } -} - -internal class AspectClassAttribute : Attribute -{ - private readonly List parameters = new List(); - - public AspectClassAttribute() - : this(string.Empty) - { - } - - public AspectClassAttribute(string defaultAssembly) - : this(defaultAssembly, new AspectFilter[0], AspectType.Propagation) - { - } - - public AspectClassAttribute(string defaultAssembly, AspectType defaultAspectType, params VulnerabilityType[] defaultVulnerabilityTypes) - : this(defaultAssembly, new AspectFilter[0], defaultAspectType, defaultVulnerabilityTypes) - { - } - - public AspectClassAttribute(string defaultAssembly, AspectFilter filter, AspectType defaultAspectType = AspectType.Propagation, params VulnerabilityType[] defaultVulnerabilityTypes) - : this(defaultAssembly, new AspectFilter[] { filter }, defaultAspectType, defaultVulnerabilityTypes) - { - } - - public AspectClassAttribute(string defaultAssembly, AspectFilter[] filters, AspectType defaultAspectType = AspectType.Propagation, params VulnerabilityType[] defaultVulnerabilityTypes) - { - if (filters.Length == 0) { filters = new AspectFilter[] { AspectFilter.None }; } - - parameters.Add(defaultAssembly.Quote()); - parameters.Add(filters); - parameters.Add(defaultAspectType); - parameters.Add(defaultVulnerabilityTypes ?? new VulnerabilityType[0])); - - DefaultAssembly = AspectAttribute.GetAssemblyList(defaultAssembly); - Filters = filters; - DefaultAspectType = defaultAspectType; - DefaultVulnerabilityTypes = defaultVulnerabilityTypes ?? new VulnerabilityType[0]; - } - - public List DefaultAssembly { get; private set; } - - public AspectFilter[] Filters { get; private set; } - - public AspectType DefaultAspectType { get; private set; } - - public VulnerabilityType[] DefaultVulnerabilityTypes { get; private set; } - - public override string ToString() - { - return string.Format("[{0}({1})]", GetType().Name.Replace("Attribute", string.Empty), string.Join(",", parameters.Select(i => AspectAttribute.ConvertToString(i)).ToArray())); - } -} - -internal class AspectCtorReplaceAttribute : AspectAttribute -{ - public AspectCtorReplaceAttribute(string targetMethod) - : base(targetMethod) - { - } - - public AspectCtorReplaceAttribute(string targetMethod, params AspectFilter[] filters) - : base(targetMethod, filters) - { - } - - public AspectCtorReplaceAttribute(string targetMethod, AspectType aspectType, params VulnerabilityType[] vulnerabilityTypes) - : base(targetMethod, aspectType, vulnerabilityTypes) - { - } -} - -internal enum AspectFilter -{ - /// No filter - None, - - /// Common string optimizations - StringOptimization, - - /// Filter if all params are String Literals - StringLiterals, - - /// Filter if any pf the params are String Literals - StringLiterals_Any, - - /// Filter if param0 is String Literal - StringLiteral_0, - - /// Filter if param1 is String Literal - StringLiteral_1, -} - -internal class AspectMethodInsertAfterAttribute : AspectAttribute -{ - public AspectMethodInsertAfterAttribute(string targetMethod) - : base(targetMethod) - { - } - - public AspectMethodInsertAfterAttribute(string targetMethod, AspectType aspectType, params VulnerabilityType[] vulnerabilityTypes) - : base(targetMethod, aspectType, vulnerabilityTypes) - { - } -} - -internal class AspectMethodInsertBeforeAttribute : AspectAttribute -{ - public AspectMethodInsertBeforeAttribute(string targetMethod, int paramShift = 0, bool boxParam = false) - : base(targetMethod, string.Empty, paramShift, boxParam) - { - } - - public AspectMethodInsertBeforeAttribute(string targetMethod, params int[] paramShift) - : base(targetMethod, string.Empty, paramShift, new bool[0], new AspectFilter[0]) - { - } - - public AspectMethodInsertBeforeAttribute(string targetMethod, int[] paramShift, bool[] boxParam) - : base(targetMethod, string.Empty, paramShift, boxParam, new AspectFilter[0]) - { - } -} - -internal class AspectMethodReplaceAttribute : AspectAttribute -{ - public AspectMethodReplaceAttribute(string targetMethod) - : base(targetMethod) - { - } - - public AspectMethodReplaceAttribute(string targetMethod, params AspectFilter[] filters) - : base(targetMethod, filters) - { - } - - public AspectMethodReplaceAttribute(string targetMethod, string targetType, params AspectFilter[] filters) - : base(targetMethod, targetType, filters) - { - } - - public AspectMethodReplaceAttribute(string targetMethod, AspectType aspectType, params VulnerabilityType[] vulnerabilityTypes) - : base(targetMethod, aspectType, vulnerabilityTypes) - { - } -} - -internal class AspectMethodReplaceFromVersionAttribute : AspectMethodReplaceAttribute -{ - public AspectMethodReplaceFromVersionAttribute(string version, string targetMethod) - : base(targetMethod) - { - } -} - -internal enum AspectType -{ - Default, - Propagation, - Sink, - Source, - RaspIastSink -} -} - -namespace Datadog.Trace.Iast -{ -internal enum VulnerabilityType -{ - None = 0, - WeakCipher, - WeakHash, -} -} -"""; - } - } -} diff --git a/tracer/test/Datadog.Trace.SourceGenerators.Tests/InstrumentationDefinitionsGeneratorTests.cs b/tracer/test/Datadog.Trace.SourceGenerators.Tests/InstrumentationDefinitionsGeneratorTests.cs index eac5d2a4f1a5..908c943afe9c 100644 --- a/tracer/test/Datadog.Trace.SourceGenerators.Tests/InstrumentationDefinitionsGeneratorTests.cs +++ b/tracer/test/Datadog.Trace.SourceGenerators.Tests/InstrumentationDefinitionsGeneratorTests.cs @@ -1447,7 +1447,7 @@ internal enum CallTargetKind } [Flags] -internal enum InstrumentationCategory +internal enum InstrumentationCategory : uint { /// /// Default calltarget integration From b6e83589aa86730aa58ab2917506ab6cf32fd543 Mon Sep 17 00:00:00 2001 From: Anna Date: Thu, 21 Nov 2024 11:17:14 +0100 Subject: [PATCH 12/17] [ASM]Fix appsec waf benchmark for real (#6329) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary of changes Don't throw when creating a trace context and an empty datadog tracer ## Reason for change It [was throwing](https://datadoghq.atlassian.net/browse/APMAPI-893) when creating the context. ## Implementation details ## Test coverage ## Other details --- .../benchmarks/Benchmarks.Trace/Asm/EmptyDatadogTracer.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tracer/test/benchmarks/Benchmarks.Trace/Asm/EmptyDatadogTracer.cs b/tracer/test/benchmarks/Benchmarks.Trace/Asm/EmptyDatadogTracer.cs index e173e8671bcf..b2aa29ddf826 100644 --- a/tracer/test/benchmarks/Benchmarks.Trace/Asm/EmptyDatadogTracer.cs +++ b/tracer/test/benchmarks/Benchmarks.Trace/Asm/EmptyDatadogTracer.cs @@ -19,15 +19,15 @@ public class EmptyDatadogTracer : IDatadogTracer { public string DefaultServiceName => "My Service Name"; - public ImmutableTracerSettings Settings => throw new NotImplementedException(); + public ImmutableTracerSettings Settings => new(new NullConfigurationSource()); - IGitMetadataTagsProvider IDatadogTracer.GitMetadataTagsProvider => throw new NotImplementedException(); + IGitMetadataTagsProvider IDatadogTracer.GitMetadataTagsProvider => new NullGitMetadataProvider(); - PerTraceSettings IDatadogTracer.PerTraceSettings => throw new NotImplementedException(); + PerTraceSettings IDatadogTracer.PerTraceSettings => null; void IDatadogTracer.Write(ArraySegment span) { - throw new NotImplementedException(); + } } } From 6ea05b0314b83541cae4db78a44d44cc0065793f Mon Sep 17 00:00:00 2001 From: Kevin Gosse Date: Thu, 21 Nov 2024 11:27:12 +0100 Subject: [PATCH 13/17] Add more info when GenerateDumpIfDbgRequested fails (take 3) (#6325) ## Summary of changes Enable createdump diagnostics during the `GenerateDumpIfDbgRequested` test. ## Reason for change Thanks to the added information from https://github.com/DataDog/dd-trace-dotnet/pull/6197, I have good confidence that createdump is crashing before resuming the parent process. I hope that enabling diagnostic messages will give more insight as to why/where it crashes. ## Implementation details Setting `COMPlus_CreateDumpDiagnostics=1` --- .../LinuxOnly/WrapperLibraryTest.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/profiler/test/Datadog.Profiler.IntegrationTests/LinuxOnly/WrapperLibraryTest.cs b/profiler/test/Datadog.Profiler.IntegrationTests/LinuxOnly/WrapperLibraryTest.cs index 33e54b1dda06..38cf62bc65cb 100644 --- a/profiler/test/Datadog.Profiler.IntegrationTests/LinuxOnly/WrapperLibraryTest.cs +++ b/profiler/test/Datadog.Profiler.IntegrationTests/LinuxOnly/WrapperLibraryTest.cs @@ -90,6 +90,7 @@ public void GenerateDumpIfDbgRequested(string appName, string framework, string runner.Environment.SetVariable("COMPlus_DbgEnableMiniDump", "1"); runner.Environment.SetVariable("COMPlus_DbgMiniDumpName", "/dev/null"); runner.Environment.SetVariable("COMPlus_DbgMiniDumpType", string.Empty); + runner.Environment.SetVariable("COMPlus_CreateDumpDiagnostics", "1"); using var processHelper = runner.LaunchProcess(); From ac2014c5cb1e7be7174da78e653e593407104f6f Mon Sep 17 00:00:00 2001 From: Kevin Gosse Date: Thu, 21 Nov 2024 11:27:35 +0100 Subject: [PATCH 14/17] Filter out dead threads in runtime metrics (#6298) ## Summary of changes Filter out the dead threads in the runtime metrics when using process snapshot. ## Reason for change We originally relied only on the count in the `PSS_THREAD_INFORMATION` instance returned by `PssQuerySnapshot`. However, it does not only count threads that are alive, but also dead threads which handle isn't closed (the handle for dead managed threads is closed during finalization after a garbage collection, so they can hang around for a while, especially since threads tend to reach generation 2). This can be demonstrated by this simple code: ```csharp internal class Program { static void Main() { var threads = new Thread[50]; for (var i = 0; i < threads.Length; i++) { threads[i] = new Thread(() => Thread.Sleep(1)); threads[i].Start(); } Thread.Sleep(1000); ProcessSnapshotRuntimeInformation.GetCurrentProcessMetrics(out _, out _, out var threadCount, out _); Console.WriteLine($"Thread count: {threadCount}"); } } ``` With the old code, this would display 58, even thought the task manager shows only 8 threads. ## Implementation details We now use `PssWalkSnapshot` to walk the snapshot and filter out the dead threads. I had to use a custom `FILETIME` struct to get the alignment correct in both 32/64 bits. In hindsight, this might have worked for `PSS_PROCESS_INFORMATION` as well (avoiding the need to have separate `PSS_PROCESS_INFORMATION_32`/`PSS_PROCESS_INFORMATION_64`), I might try to improve that in a future PR. ## Test coverage The runtime metrics are already covered by tests. We don't test for dead threads, but it seems hard to do in a reliable way (and I think we can all agree our CI is flaky enough at the moment). Also, the existing test has a tolerance of 500 threads. Back then I couldn't explain why we got so much variation in the results, I guess now we have a reasonable explanation (it was changed in https://github.com/DataDog/dd-trace-dotnet/pull/5329, shortly after adding PSS support). Because we add additional calls for each thread, it has an impact on performance so I ran some benchmarks. With 50 threads (realistic): ``` | Method | Mean | Error | StdDev | Ratio | RatioSD | |-------- |-----------:|---------:|---------:|------:|--------:| | Process | 6,466.2 us | 71.57 us | 63.45 us | 63.15 | 9.80 | | Old | 104.9 us | 5.67 us | 16.71 us | 1.02 | 0.23 | | New | 127.1 us | 2.48 us | 2.65 us | 1.24 | 0.19 | ``` With 250 threads (extreme): ``` | Method | Mean | Error | StdDev | Ratio | RatioSD | |-------- |-------------:|-----------:|-----------:|-------:|--------:| | Process | 17,621.58 us | 349.413 us | 564.238 us | 183.31 | 20.11 | | Old | 97.27 us | 3.801 us | 11.028 us | 1.01 | 0.16 | | New | 129.39 us | 2.299 us | 2.823 us | 1.35 | 0.14 | ``` We're 25 to 35% slower, but we're still orders of magnitude faster than using the .NET `Process` object. ## Other details Fixes https://github.com/DataDog/dd-trace-dotnet/issues/6172 --- .../ProcessSnapshotRuntimeInformation.cs | 119 ++++++++++++++++-- .../RuntimeMetricsWriterTests.cs | 3 +- 2 files changed, 110 insertions(+), 12 deletions(-) diff --git a/tracer/src/Datadog.Trace/RuntimeMetrics/ProcessSnapshotRuntimeInformation.cs b/tracer/src/Datadog.Trace/RuntimeMetrics/ProcessSnapshotRuntimeInformation.cs index d8930dce491c..1e36e7517b17 100644 --- a/tracer/src/Datadog.Trace/RuntimeMetrics/ProcessSnapshotRuntimeInformation.cs +++ b/tracer/src/Datadog.Trace/RuntimeMetrics/ProcessSnapshotRuntimeInformation.cs @@ -39,6 +39,15 @@ private enum PSS_QUERY_INFORMATION_CLASS PSS_QUERY_PERFORMANCE_COUNTERS = 7 } + private enum PSS_WALK_INFORMATION_CLASS + { + PSS_WALK_AUXILIARY_PAGES = 0, + PSS_WALK_VA_SPACE = 1, + PSS_WALK_HANDLES = 2, + PSS_WALK_THREADS = 3, + PSS_WALK_THREAD_NAME = 4 + } + [Flags] private enum PSS_CAPTURE_FLAGS : uint { @@ -64,6 +73,12 @@ private enum PSS_CAPTURE_FLAGS : uint PSS_CREATE_RELEASE_SECTION = 0x80000000 } + private enum PSS_THREAD_FLAGS : int + { + PSS_THREAD_FLAGS_NONE = 0, + PSS_THREAD_FLAGS_TERMINATED = 1 + } + // The value of the current process handle on Windows is hardcoded to -1 // https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-getcurrentprocess#remarks private static IntPtr CurrentProcessHandle => new(-1); @@ -81,16 +96,7 @@ public static unsafe bool GetCurrentProcessMetrics(out TimeSpan userProcessorTim throw new Win32Exception(result, $"PssCaptureSnapshot failed with code {result}"); } - PSS_THREAD_INFORMATION threadInformation = default; - - result = PssQuerySnapshot(snapshotHandle, PSS_QUERY_INFORMATION_CLASS.PSS_QUERY_THREAD_INFORMATION, &threadInformation, Marshal.SizeOf()); - - if (result != 0) - { - throw new Win32Exception(result, $"PssQuerySnapshot with PSS_QUERY_THREAD_INFORMATION failed with code {result}"); - } - - threadCount = threadInformation.ThreadsCaptured; + threadCount = GetThreadCount(snapshotHandle); long userTime; long kernelTime; @@ -146,6 +152,58 @@ public static unsafe bool GetCurrentProcessMetrics(out TimeSpan userProcessorTim } } + private static unsafe int GetThreadCount(IntPtr snapshotHandle) + { + PSS_THREAD_INFORMATION threadInformation = default; + + var result = PssQuerySnapshot(snapshotHandle, PSS_QUERY_INFORMATION_CLASS.PSS_QUERY_THREAD_INFORMATION, &threadInformation, Marshal.SizeOf()); + + if (result != 0) + { + throw new Win32Exception(result, $"PssQuerySnapshot with PSS_QUERY_THREAD_INFORMATION failed with code {result}"); + } + + result = PssWalkMarkerCreate(IntPtr.Zero, out var walkMarkerHandle); + + if (result != 0) + { + throw new Win32Exception(result, $"PssWalkMarkerCreate failed with code {result}"); + } + + try + { + PSS_THREAD_ENTRY entry = default; + + int deadThreads = 0; + + for (int count = 0; count < threadInformation.ThreadsCaptured; count++) + { + result = PssWalkSnapshot(snapshotHandle, PSS_WALK_INFORMATION_CLASS.PSS_WALK_THREADS, walkMarkerHandle, &entry, Marshal.SizeOf()); + + if (result != 0) + { + throw new Win32Exception(result, $"PssWalkSnapshot failed with code {result}"); + } + + if (entry.Flags == PSS_THREAD_FLAGS.PSS_THREAD_FLAGS_TERMINATED) + { + deadThreads++; + } + } + + return threadInformation.ThreadsCaptured - deadThreads; + } + finally + { + result = PssWalkMarkerFree(walkMarkerHandle); + + if (result != 0) + { + Log.Error("PssWalkMarkerFree returned an error, the tracer might be leaking memory. Handle: {Handle}. Error code: {Result}.", walkMarkerHandle, result); + } + } + } + [DllImport("kernel32.dll")] private static extern int PssCaptureSnapshot(IntPtr processHandle, PSS_CAPTURE_FLAGS captureFlags, int threadContextFlags, out IntPtr snapshotHandle); @@ -155,6 +213,15 @@ public static unsafe bool GetCurrentProcessMetrics(out TimeSpan userProcessorTim [DllImport("kernel32.dll")] private static extern unsafe int PssQuerySnapshot(IntPtr snapshotHandle, PSS_QUERY_INFORMATION_CLASS informationClass, void* buffer, int bufferLength); + [DllImport("kernel32.dll")] + private static extern unsafe int PssWalkSnapshot(IntPtr snapshotHandle, PSS_WALK_INFORMATION_CLASS informationClass, IntPtr walkMarkerHandle, void* buffer, int bufferLength); + + [DllImport("kernel32.dll")] + private static extern unsafe int PssWalkMarkerCreate(IntPtr allocator, out IntPtr walkMarkerHandle); + + [DllImport("kernel32.dll")] + private static extern unsafe int PssWalkMarkerFree(IntPtr walkMarkerHandle); + [StructLayout(LayoutKind.Sequential)] private struct PSS_THREAD_INFORMATION { @@ -223,4 +290,36 @@ private unsafe struct PSS_PROCESS_INFORMATION_32 public uint ExecuteFlags; public fixed char ImageFileName[260]; } + + // The native FILETIME is normally aligned on 4 bytes, but ulong is aligned on 8 bytes (in 64 bits) + // So we wrap the ulong in a custom struct to individually change its alignment (using pack) + [StructLayout(LayoutKind.Sequential, Pack = 4, Size = 8)] + private unsafe struct FILETIME + { + public ulong Data; + } + + [StructLayout(LayoutKind.Sequential)] + private struct PSS_THREAD_ENTRY + { + public uint ExitStatus; + public IntPtr TebBaseAddress; + public uint ProcessId; + public uint ThreadId; + public nint AffinityMask; + public int Priority; + public int BasePriority; + public IntPtr LastSyscallFirstArgument; + public ushort LastSyscallNumber; + public FILETIME CreateTime; + public FILETIME ExitTime; + public FILETIME KernelTime; + public FILETIME UserTime; + public IntPtr Win32StartAddress; + public FILETIME CaptureTime; + public PSS_THREAD_FLAGS Flags; + public ushort SuspendCount; + public ushort SizeOfContextRecord; + public IntPtr ContextRecord; + } } diff --git a/tracer/test/Datadog.Trace.Tests/RuntimeMetrics/RuntimeMetricsWriterTests.cs b/tracer/test/Datadog.Trace.Tests/RuntimeMetrics/RuntimeMetricsWriterTests.cs index cacfa1cf1981..ce50271b8379 100644 --- a/tracer/test/Datadog.Trace.Tests/RuntimeMetrics/RuntimeMetricsWriterTests.cs +++ b/tracer/test/Datadog.Trace.Tests/RuntimeMetrics/RuntimeMetricsWriterTests.cs @@ -157,8 +157,7 @@ public async Task ShouldCaptureProcessMetrics() actualNumberOfThreads.Should().NotBeNull(); - // A margin of 500 threads seem like a lot, but we have tests that spawn a large number of threads to try to find race conditions - actualNumberOfThreads.Should().NotBeNull().And.BeGreaterThan(0).And.BeInRange(expectedNumberOfThreads - 500, expectedNumberOfThreads + 500); + actualNumberOfThreads.Should().NotBeNull().And.BeGreaterThan(0).And.BeInRange(expectedNumberOfThreads - 100, expectedNumberOfThreads + 100); // CPU time and memory usage can vary wildly, so don't try too hard to validate userCpuTime.Should().NotBeNull().And.BeGreaterThan(0); From 3a7d04265bf6900cc0493f95a1d7fb1c9753d815 Mon Sep 17 00:00:00 2001 From: Kevin Gosse Date: Thu, 21 Nov 2024 11:27:58 +0100 Subject: [PATCH 15/17] Ignore multiple instances of the same version of the tracer (#6310) ## Summary of changes In dd-dotnet, when the tracer is found multiple times with the same version, consider them as one. ## Reason for change We have random failures in the CI because we find the same version of the tracer loaded multiple times, and I haven't been able to figure out why. We've never seen this happening in the wild so it's probably safe to ignore. ## Test coverage If the tests stop randomly failing then we're good. --- .../Checks/ProcessBasicCheck.cs | 23 ++++++++----------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/tracer/src/Datadog.Trace.Tools.dd_dotnet/Checks/ProcessBasicCheck.cs b/tracer/src/Datadog.Trace.Tools.dd_dotnet/Checks/ProcessBasicCheck.cs index ff2d3c8caf34..d96f479a688e 100644 --- a/tracer/src/Datadog.Trace.Tools.dd_dotnet/Checks/ProcessBasicCheck.cs +++ b/tracer/src/Datadog.Trace.Tools.dd_dotnet/Checks/ProcessBasicCheck.cs @@ -86,37 +86,34 @@ public static bool Run(ProcessInfo process, IRegistryService? registryService = } } - var tracerModules = FindTracerModules(process).ToArray(); + var tracerVersions = FindTracerModules(process) + .Select(FileVersionInfo.GetVersionInfo) + .DistinctBy(v => v.FileVersion) + .ToArray(); - if (tracerModules.Length == 0) + if (tracerVersions.Length == 0) { Utils.WriteWarning(TracerNotLoaded); ok = false; } - else if (tracerModules.Length == 1) + else if (tracerVersions.Length == 1) { - var version = FileVersionInfo.GetVersionInfo(tracerModules[0]); - Utils.WriteSuccess(TracerVersion(version.FileVersion ?? "{empty}")); + Utils.WriteSuccess(TracerVersion(tracerVersions[0].FileVersion ?? "{empty}")); } - else if (tracerModules.Length > 1) + else if (tracerVersions.Length > 1) { // There are too many tracers in there. Find out if it's bad or very bad bool areAllVersion2 = true; - var versions = new HashSet(); - foreach (var tracer in tracerModules) + foreach (var version in tracerVersions) { - var version = FileVersionInfo.GetVersionInfo(tracer); - - versions.Add(version.FileVersion ?? "{empty}"); - if (version.FileMajorPart < 2) { areAllVersion2 = false; } } - Utils.WriteWarning(MultipleTracers(versions)); + Utils.WriteWarning(MultipleTracers(tracerVersions.Select(v => v.FileVersion ?? "{empty}"))); if (!areAllVersion2) { From 3b655e142555ce3bbbe669515654d9a24b0a819b Mon Sep 17 00:00:00 2001 From: Tony Redondo Date: Thu, 21 Nov 2024 16:34:09 +0100 Subject: [PATCH 16/17] [CI Visibility] Catch `UploadRepositoryChanges` exceptions (#6331) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary of changes This PR adds some missing try/catch for the UploadRepositoryChanges calls. ## Reason for change This method is being used in the `dd-trace` runner, currently if the method fails (backend error) then `dd-trace` will throw an exception. ## Implementation details We create a function method to wrap the call with a try/catch block so we don't throw and fail the customer CI. ## Test coverage ## Other details --- tracer/src/Datadog.Trace.Tools.Runner/CiUtils.cs | 14 +++++++++++++- tracer/src/Datadog.Trace/Ci/CIVisibility.cs | 16 ++++++++++++++-- 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/tracer/src/Datadog.Trace.Tools.Runner/CiUtils.cs b/tracer/src/Datadog.Trace.Tools.Runner/CiUtils.cs index 1991cb20d96b..841eaf4ff386 100644 --- a/tracer/src/Datadog.Trace.Tools.Runner/CiUtils.cs +++ b/tracer/src/Datadog.Trace.Tools.Runner/CiUtils.cs @@ -139,7 +139,19 @@ public static async Task InitializeCiCommandsAsync( if (ciVisibilitySettings.GitUploadEnabled != false || ciVisibilitySettings.IntelligentTestRunnerEnabled) { // If we are in git upload only then we can defer the await until the child command exits. - uploadRepositoryChangesTask = Task.Run(() => lazyItrClient.Value.UploadRepositoryChangesAsync()); + async Task UploadRepositoryChangesAsync() + { + try + { + await lazyItrClient.Value.UploadRepositoryChangesAsync().ConfigureAwait(false); + } + catch (Exception ex) + { + Log.Error(ex, "RunCiCommand: Error uploading repository git metadata."); + } + } + + uploadRepositoryChangesTask = Task.Run(UploadRepositoryChangesAsync); // Once the repository has been uploaded we switch off the git upload in children processes profilerEnvironmentVariables[Configuration.ConfigurationKeys.CIVisibility.GitUploadEnabled] = "0"; diff --git a/tracer/src/Datadog.Trace/Ci/CIVisibility.cs b/tracer/src/Datadog.Trace/Ci/CIVisibility.cs index 795ac4719398..949ef3b10510 100644 --- a/tracer/src/Datadog.Trace/Ci/CIVisibility.cs +++ b/tracer/src/Datadog.Trace/Ci/CIVisibility.cs @@ -708,11 +708,23 @@ private static async Task GetIntelligentTestRunnerSkippableTestsAsync() var settings = Settings; var lazyItrClient = new Lazy(() => new(CIEnvironmentValues.Instance.WorkspacePath, settings)); - Task? uploadRepositoryChangesTask = null; + Task? uploadRepositoryChangesTask = null; if (settings.GitUploadEnabled != false) { // Upload the git metadata - uploadRepositoryChangesTask = Task.Run(() => lazyItrClient.Value.UploadRepositoryChangesAsync()); + async Task UploadRepositoryChangesAsync() + { + try + { + await lazyItrClient.Value.UploadRepositoryChangesAsync().ConfigureAwait(false); + } + catch (Exception ex) + { + Log.Error(ex, "CIVisibility: Error uploading repository git metadata."); + } + } + + uploadRepositoryChangesTask = Task.Run(UploadRepositoryChangesAsync); } // If any DD_CIVISIBILITY_CODE_COVERAGE_ENABLED or DD_CIVISIBILITY_TESTSSKIPPING_ENABLED has not been set From fb950f7d287b2acd625937cc6a7c5c99e243c8e1 Mon Sep 17 00:00:00 2001 From: Flavien Darche <11708575+e-n-0@users.noreply.github.com> Date: Thu, 21 Nov 2024 18:44:10 +0000 Subject: [PATCH 17/17] [ASM] iast: Fix for NullReferenceException in Stacktrace Walker (#6326) ## Summary of changes In .NET Framework the `GetFrames()` method can return null. ## Reason for change Bug detected in telemetry ([Error Tracking case](https://app.datadoghq.com/error-tracking?query=service%3Ainstrumentation-telemetry-data%20%40lib_language%3Adotnet%20%40tracer_version%3A3.6.0.0&fromUser=false&issue_states=&issueId=4ddc4722-7f47-11ef-afd5-da7ad0900002&refresh_mode=sliding&source=all&view=spans&from_ts=1732196777908&to_ts=1732211177908&live=true)). ## Implementation details Create a null array when the method `GetFrames()` return null in .NET Framework. --- tracer/src/Datadog.Trace/Iast/StackWalker.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tracer/src/Datadog.Trace/Iast/StackWalker.cs b/tracer/src/Datadog.Trace/Iast/StackWalker.cs index ff81a686fdf8..e34e87275ab6 100644 --- a/tracer/src/Datadog.Trace/Iast/StackWalker.cs +++ b/tracer/src/Datadog.Trace/Iast/StackWalker.cs @@ -55,7 +55,8 @@ public static StackTrace GetStackTrace() public static bool TryGetFrame(StackTrace stackTrace, out StackFrame? targetFrame) { targetFrame = null; - foreach (var frame in stackTrace.GetFrames()) + var frames = stackTrace.GetFrames() ?? []; + foreach (var frame in frames) { var declaringType = frame?.GetMethod()?.DeclaringType;