Skip to content

Add IAST taint tracking for DB values - #8072

Merged
Mariovido merged 23 commits into
masterfrom
mario.vidal/taint_db_values_iast
Jan 15, 2025
Merged

Add IAST taint tracking for DB values#8072
Mariovido merged 23 commits into
masterfrom
mario.vidal/taint_db_values_iast

Conversation

@Mariovido

@MariovidoMariovido commented Dec 10, 2024

Copy link
Copy Markdown
Contributor

What Does This Do

This PR introduces a solution to taint database values. The goal is to detect potential security vulnerabilities, specifically SQL Injection and XSS as a first step. Key changes include:

  • New source has been created to differentiate taint values that come from the database: sql.row.value
  • Instrumentation of the ResultSet methods that return a String
    • Maximum number of row tainted per ResultSet will be given by this environment variable: DD_IAST_DB_ROWS_TO_TAINT (default 1)
  • Detection of the SQL Injection and XSS vulnerabilities with taint values that have the previous source

Motivation

This will increase the number of detections for the first two types of vulnerabilities (SQL Injection and XSS). Apart from that, this will improve our propagation taint tracking.

Additional Notes

See the RFC where this change is documented: RFC

Contributor Checklist

Jira ticket: APPSEC-55328

@MariovidoMariovido added type: feature Enhancements and improvements comp: asm iast Application Security Management (IAST) labels Dec 10, 2024
Comment threadinternal-api/src/main/java/datadog/trace/api/iast/TaintableDb.java Outdated
@pr-commenter

pr-commenterBot commented Dec 10, 2024

Copy link
Copy Markdown

Benchmarks

Startup

Parameters

BaselineCandidate
baseline_or_candidatebaselinecandidate
git_branchmastermario.vidal/taint_db_values_iast
git_commit_date17369474941736947212
git_commit_sha692835e8c5291e
release_version1.46.0-SNAPSHOT~692835e6081.46.0-SNAPSHOT~8c5291ee75
See matching parameters
BaselineCandidate
applicationinsecure-bankinsecure-bank
ci_job_date17369497261736949726
ci_job_id767203052767203052
ci_pipeline_id5306690253066902
cpu_modelIntel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHzIntel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
moduleAgentAgent
parentNoneNone
variantiastiast

Summary

Found 0 performance improvements and 0 performance regressions! Performance is the same for 59 metrics, 4 unstable metrics.

Startup time reports for petclinic
gantt
title petclinic - global startup overhead: candidate=1.46.0-SNAPSHOT~8c5291ee75, baseline=1.46.0-SNAPSHOT~692835e608
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.056 s) : 0, 1056292
Total [baseline] (10.467 s) : 0, 10467195
Agent [candidate] (1.054 s) : 0, 1053954
Total [candidate] (10.468 s) : 0, 10467527
section appsec
Agent [baseline] (1.189 s) : 0, 1188883
Total [baseline] (10.717 s) : 0, 10716538
Agent [candidate] (1.2 s) : 0, 1199823
Total [candidate] (10.734 s) : 0, 10734023
section iast
Agent [baseline] (1.188 s) : 0, 1188378
Total [baseline] (10.957 s) : 0, 10956628
Agent [candidate] (1.192 s) : 0, 1191982
Total [candidate] (10.999 s) : 0, 10999279
section profiling
Agent [baseline] (1.255 s) : 0, 1254706
Total [baseline] (10.859 s) : 0, 10858940
Agent [candidate] (1.258 s) : 0, 1257705
Total [candidate] (10.927 s) : 0, 10927349
Loading
  • baseline results
ModuleVariantDurationΔ tracing
Agenttracing1.056 s-
Agentappsec1.189 s132.591 ms (12.6%)
Agentiast1.188 s132.087 ms (12.5%)
Agentprofiling1.255 s198.414 ms (18.8%)
Totaltracing10.467 s-
Totalappsec10.717 s249.344 ms (2.4%)
Totaliast10.957 s489.434 ms (4.7%)
Totalprofiling10.859 s391.746 ms (3.7%)
  • candidate results
ModuleVariantDurationΔ tracing
Agenttracing1.054 s-
Agentappsec1.2 s145.869 ms (13.8%)
Agentiast1.192 s138.028 ms (13.1%)
Agentprofiling1.258 s203.751 ms (19.3%)
Totaltracing10.468 s-
Totalappsec10.734 s266.496 ms (2.5%)
Totaliast10.999 s531.752 ms (5.1%)
Totalprofiling10.927 s459.822 ms (4.4%)
gantt
title petclinic - break down per module: candidate=1.46.0-SNAPSHOT~8c5291ee75, baseline=1.46.0-SNAPSHOT~692835e608
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (713.846 ms) : 0, 713846
BytebuddyAgent [candidate] (714.659 ms) : 0, 714659
GlobalTracer [baseline] (255.76 ms) : 0, 255760
GlobalTracer [candidate] (256.188 ms) : 0, 256188
AppSec [baseline] (56.669 ms) : 0, 56669
AppSec [candidate] (55.086 ms) : 0, 55086
Remote Config [baseline] (719.515 µs) : 0, 720
Remote Config [candidate] (750.728 µs) : 0, 751
Telemetry [baseline] (14.244 ms) : 0, 14244
Telemetry [candidate] (12.203 ms) : 0, 12203
section appsec
BytebuddyAgent [baseline] (731.24 ms) : 0, 731240
BytebuddyAgent [candidate] (738.928 ms) : 0, 738928
GlobalTracer [baseline] (253.35 ms) : 0, 253350
GlobalTracer [candidate] (255.184 ms) : 0, 255184
AppSec [baseline] (170.776 ms) : 0, 170776
AppSec [candidate] (171.678 ms) : 0, 171678
Remote Config [baseline] (676.504 µs) : 0, 677
Remote Config [candidate] (688.234 µs) : 0, 688
Telemetry [baseline] (8.177 ms) : 0, 8177
Telemetry [candidate] (8.263 ms) : 0, 8263
IAST [baseline] (19.25 ms) : 0, 19250
IAST [candidate] (19.759 ms) : 0, 19759
section iast
BytebuddyAgent [baseline] (835.416 ms) : 0, 835416
BytebuddyAgent [candidate] (838.765 ms) : 0, 838765
GlobalTracer [baseline] (248.759 ms) : 0, 248759
GlobalTracer [candidate] (248.599 ms) : 0, 248599
AppSec [baseline] (58.003 ms) : 0, 58003
AppSec [candidate] (58.477 ms) : 0, 58477
Remote Config [baseline] (691.559 µs) : 0, 692
Remote Config [candidate] (688.059 µs) : 0, 688
Telemetry [baseline] (8.9 ms) : 0, 8900
Telemetry [candidate] (8.845 ms) : 0, 8845
IAST [baseline] (21.577 ms) : 0, 21577
IAST [candidate] (21.519 ms) : 0, 21519
section profiling
ProfilingAgent [baseline] (95.275 ms) : 0, 95275
ProfilingAgent [candidate] (95.944 ms) : 0, 95944
BytebuddyAgent [baseline] (703.084 ms) : 0, 703084
BytebuddyAgent [candidate] (704.707 ms) : 0, 704707
GlobalTracer [baseline] (350.442 ms) : 0, 350442
GlobalTracer [candidate] (351.69 ms) : 0, 351690
AppSec [baseline] (54.467 ms) : 0, 54467
AppSec [candidate] (53.725 ms) : 0, 53725
Remote Config [baseline] (656.122 µs) : 0, 656
Remote Config [candidate] (664.076 µs) : 0, 664
Telemetry [baseline] (8.849 ms) : 0, 8849
Telemetry [candidate] (8.859 ms) : 0, 8859
Profiling [baseline] (95.299 ms) : 0, 95299
Profiling [candidate] (95.967 ms) : 0, 95967
Loading
Startup time reports for insecure-bank
gantt
title insecure-bank - global startup overhead: candidate=1.46.0-SNAPSHOT~8c5291ee75, baseline=1.46.0-SNAPSHOT~692835e608
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.056 s) : 0, 1056165
Total [baseline] (8.648 s) : 0, 8648147
Agent [candidate] (1.06 s) : 0, 1060113
Total [candidate] (8.665 s) : 0, 8664888
section iast
Agent [baseline] (1.184 s) : 0, 1183939
Total [baseline] (9.203 s) : 0, 9203386
Agent [candidate] (1.186 s) : 0, 1185831
Total [candidate] (9.215 s) : 0, 9215057
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.182 s) : 0, 1181778
Total [baseline] (9.209 s) : 0, 9209189
Agent [candidate] (1.183 s) : 0, 1183434
Total [candidate] (9.17 s) : 0, 9169930
section iast_TELEMETRY_OFF
Agent [baseline] (1.185 s) : 0, 1184611
Total [baseline] (9.231 s) : 0, 9230611
Agent [candidate] (1.185 s) : 0, 1185281
Total [candidate] (9.252 s) : 0, 9251932
Loading
  • baseline results
ModuleVariantDurationΔ tracing
Agenttracing1.056 s-
Agentiast1.184 s127.774 ms (12.1%)
Agentiast_HARDCODED_SECRET_DISABLED1.182 s125.613 ms (11.9%)
Agentiast_TELEMETRY_OFF1.185 s128.446 ms (12.2%)
Totaltracing8.648 s-
Totaliast9.203 s555.239 ms (6.4%)
Totaliast_HARDCODED_SECRET_DISABLED9.209 s561.042 ms (6.5%)
Totaliast_TELEMETRY_OFF9.231 s582.465 ms (6.7%)
  • candidate results
ModuleVariantDurationΔ tracing
Agenttracing1.06 s-
Agentiast1.186 s125.718 ms (11.9%)
Agentiast_HARDCODED_SECRET_DISABLED1.183 s123.321 ms (11.6%)
Agentiast_TELEMETRY_OFF1.185 s125.167 ms (11.8%)
Totaltracing8.665 s-
Totaliast9.215 s550.169 ms (6.3%)
Totaliast_HARDCODED_SECRET_DISABLED9.17 s505.041 ms (5.8%)
Totaliast_TELEMETRY_OFF9.252 s587.044 ms (6.8%)
gantt
title insecure-bank - break down per module: candidate=1.46.0-SNAPSHOT~8c5291ee75, baseline=1.46.0-SNAPSHOT~692835e608
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (714.551 ms) : 0, 714551
BytebuddyAgent [candidate] (715.863 ms) : 0, 715863
GlobalTracer [baseline] (256.292 ms) : 0, 256292
GlobalTracer [candidate] (257.978 ms) : 0, 257978
AppSec [baseline] (55.163 ms) : 0, 55163
AppSec [candidate] (55.851 ms) : 0, 55851
Remote Config [baseline] (726.027 µs) : 0, 726
Remote Config [candidate] (723.257 µs) : 0, 723
Telemetry [baseline] (14.447 ms) : 0, 14447
Telemetry [candidate] (14.658 ms) : 0, 14658
section iast
BytebuddyAgent [baseline] (832.654 ms) : 0, 832654
BytebuddyAgent [candidate] (833.915 ms) : 0, 833915
GlobalTracer [baseline] (247.273 ms) : 0, 247273
GlobalTracer [candidate] (247.828 ms) : 0, 247828
AppSec [baseline] (57.888 ms) : 0, 57888
AppSec [candidate] (57.988 ms) : 0, 57988
IAST [baseline] (21.63 ms) : 0, 21630
IAST [candidate] (21.465 ms) : 0, 21465
Remote Config [baseline] (668.634 µs) : 0, 669
Remote Config [candidate] (669.299 µs) : 0, 669
Telemetry [baseline] (8.793 ms) : 0, 8793
Telemetry [candidate] (8.842 ms) : 0, 8842
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (831.446 ms) : 0, 831446
BytebuddyAgent [candidate] (832.549 ms) : 0, 832549
GlobalTracer [baseline] (246.526 ms) : 0, 246526
GlobalTracer [candidate] (246.954 ms) : 0, 246954
AppSec [baseline] (57.996 ms) : 0, 57996
AppSec [candidate] (58.007 ms) : 0, 58007
IAST [baseline] (21.421 ms) : 0, 21421
IAST [candidate] (21.374 ms) : 0, 21374
Remote Config [baseline] (675.894 µs) : 0, 676
Remote Config [candidate] (685.498 µs) : 0, 685
Telemetry [baseline] (8.746 ms) : 0, 8746
Telemetry [candidate] (8.73 ms) : 0, 8730
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (832.875 ms) : 0, 832875
BytebuddyAgent [candidate] (834.066 ms) : 0, 834066
GlobalTracer [baseline] (248.088 ms) : 0, 248088
GlobalTracer [candidate] (247.74 ms) : 0, 247740
AppSec [baseline] (58.146 ms) : 0, 58146
AppSec [candidate] (57.978 ms) : 0, 57978
IAST [baseline] (20.942 ms) : 0, 20942
IAST [candidate] (20.987 ms) : 0, 20987
Remote Config [baseline] (665.98 µs) : 0, 666
Remote Config [candidate] (682.105 µs) : 0, 682
Telemetry [baseline] (8.727 ms) : 0, 8727
Telemetry [candidate] (8.622 ms) : 0, 8622
Loading

Load

Parameters

BaselineCandidate
baseline_or_candidatebaselinecandidate
end_time2025-01-15T13:32:082025-01-15T13:39:08
git_branchmastermario.vidal/taint_db_values_iast
git_commit_date17369474941736947212
git_commit_sha692835e8c5291e
release_version1.46.0-SNAPSHOT~692835e6081.46.0-SNAPSHOT~8c5291ee75
start_time2025-01-15T13:31:542025-01-15T13:38:54
See matching parameters
BaselineCandidate
applicationinsecure-bankinsecure-bank
ci_job_date17369487041736948704
ci_job_id767203053767203053
ci_pipeline_id5306690253066902
cpu_modelIntel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHzIntel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
variantiastiast

Summary

Found 0 performance improvements and 1 performance regressions! Performance is the same for 10 metrics, 17 unstable metrics.

scenarioΔ mean http_req_durationΔ mean throughputcandidate mean http_req_durationcandidate mean throughputbaseline mean http_req_durationbaseline mean throughput
scenario:load:insecure-bank:iast_FULLworse
[+61.683µs; +108.640µs] or [+9.437%; +16.622%]
unstable
[-1727.666op/s; +1096.087op/s] or [-27.355%; +17.355%]
738.764µs6000.000op/s653.602µs6315.789op/s
Request duration reports for petclinic
gantt
title petclinic - request duration [CI 0.99] : candidate=1.46.0-SNAPSHOT~8c5291ee75, baseline=1.46.0-SNAPSHOT~692835e608
dateFormat X
axisFormat %s
section baseline
no_agent (1.353 ms) : 1333, 1374
. : milestone, 1353,
appsec (1.738 ms) : 1714, 1761
. : milestone, 1738,
appsec_no_iast (1.764 ms) : 1741, 1786
. : milestone, 1764,
iast (1.495 ms) : 1473, 1518
. : milestone, 1495,
profiling (1.495 ms) : 1471, 1519
. : milestone, 1495,
tracing (1.491 ms) : 1466, 1516
. : milestone, 1491,
section candidate
no_agent (1.372 ms) : 1352, 1392
. : milestone, 1372,
appsec (1.753 ms) : 1729, 1776
. : milestone, 1753,
appsec_no_iast (1.753 ms) : 1728, 1778
. : milestone, 1753,
iast (1.494 ms) : 1469, 1518
. : milestone, 1494,
profiling (1.498 ms) : 1475, 1521
. : milestone, 1498,
tracing (1.461 ms) : 1436, 1486
. : milestone, 1461,
Loading
  • baseline results
VariantRequest duration [CI 0.99]Δ no_agent
no_agent1.353 ms [1.333 ms, 1.374 ms]-
appsec1.738 ms [1.714 ms, 1.761 ms]384.297 µs (28.4%)
appsec_no_iast1.764 ms [1.741 ms, 1.786 ms]410.057 µs (30.3%)
iast1.495 ms [1.473 ms, 1.518 ms]141.957 µs (10.5%)
profiling1.495 ms [1.471 ms, 1.519 ms]141.593 µs (10.5%)
tracing1.491 ms [1.466 ms, 1.516 ms]137.662 µs (10.2%)
  • candidate results
VariantRequest duration [CI 0.99]Δ no_agent
no_agent1.372 ms [1.352 ms, 1.392 ms]-
appsec1.753 ms [1.729 ms, 1.776 ms]380.5 µs (27.7%)
appsec_no_iast1.753 ms [1.728 ms, 1.778 ms]381.05 µs (27.8%)
iast1.494 ms [1.469 ms, 1.518 ms]121.576 µs (8.9%)
profiling1.498 ms [1.475 ms, 1.521 ms]126.158 µs (9.2%)
tracing1.461 ms [1.436 ms, 1.486 ms]88.775 µs (6.5%)
Request duration reports for insecure-bank
gantt
title insecure-bank - request duration [CI 0.99] : candidate=1.46.0-SNAPSHOT~8c5291ee75, baseline=1.46.0-SNAPSHOT~692835e608
dateFormat X
axisFormat %s
section baseline
no_agent (373.531 µs) : 354, 393
. : milestone, 374,
iast (494.303 µs) : 472, 516
. : milestone, 494,
iast_FULL (653.602 µs) : 632, 675
. : milestone, 654,
iast_GLOBAL (527.917 µs) : 505, 551
. : milestone, 528,
iast_HARDCODED_SECRET_DISABLED (491.177 µs) : 470, 513
. : milestone, 491,
iast_INACTIVE (456.085 µs) : 435, 478
. : milestone, 456,
iast_TELEMETRY_OFF (484.391 µs) : 462, 506
. : milestone, 484,
tracing (440.413 µs) : 420, 461
. : milestone, 440,
section candidate
no_agent (369.885 µs) : 350, 389
. : milestone, 370,
iast (511.704 µs) : 489, 534
. : milestone, 512,
iast_FULL (738.764 µs) : 717, 761
. : milestone, 739,
iast_GLOBAL (555.711 µs) : 533, 578
. : milestone, 556,
iast_HARDCODED_SECRET_DISABLED (502.221 µs) : 481, 524
. : milestone, 502,
iast_INACTIVE (453.498 µs) : 432, 475
. : milestone, 453,
iast_TELEMETRY_OFF (492.632 µs) : 471, 514
. : milestone, 493,
tracing (448.696 µs) : 427, 470
. : milestone, 449,
Loading
  • baseline results
VariantRequest duration [CI 0.99]Δ no_agent
no_agent373.531 µs [353.999 µs, 393.063 µs]-
iast494.303 µs [472.155 µs, 516.451 µs]120.772 µs (32.3%)
iast_FULL653.602 µs [631.847 µs, 675.357 µs]280.071 µs (75.0%)
iast_GLOBAL527.917 µs [505.145 µs, 550.689 µs]154.386 µs (41.3%)
iast_HARDCODED_SECRET_DISABLED491.177 µs [469.583 µs, 512.77 µs]117.646 µs (31.5%)
iast_INACTIVE456.085 µs [434.514 µs, 477.656 µs]82.555 µs (22.1%)
iast_TELEMETRY_OFF484.391 µs [462.327 µs, 506.455 µs]110.86 µs (29.7%)
tracing440.413 µs [419.757 µs, 461.068 µs]66.882 µs (17.9%)
  • candidate results
VariantRequest duration [CI 0.99]Δ no_agent
no_agent369.885 µs [350.346 µs, 389.424 µs]-
iast511.704 µs [489.37 µs, 534.039 µs]141.819 µs (38.3%)
iast_FULL738.764 µs [716.882 µs, 760.645 µs]368.879 µs (99.7%)
iast_GLOBAL555.711 µs [533.419 µs, 578.002 µs]185.825 µs (50.2%)
iast_HARDCODED_SECRET_DISABLED502.221 µs [480.526 µs, 523.915 µs]132.336 µs (35.8%)
iast_INACTIVE453.498 µs [432.287 µs, 474.71 µs]83.613 µs (22.6%)
iast_TELEMETRY_OFF492.632 µs [470.895 µs, 514.369 µs]122.747 µs (33.2%)
tracing448.696 µs [427.475 µs, 469.916 µs]78.81 µs (21.3%)

Dacapo

Parameters

BaselineCandidate
baseline_or_candidatebaselinecandidate
git_branchmastermario.vidal/taint_db_values_iast
git_commit_date17369474941736947212
git_commit_sha692835e8c5291e
release_version1.46.0-SNAPSHOT~692835e6081.46.0-SNAPSHOT~8c5291ee75
See matching parameters
BaselineCandidate
applicationbiojavabiojava
ci_job_date17369492601736949260
ci_job_id767203054767203054
ci_pipeline_id5306690253066902
cpu_modelIntel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHzIntel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
variantappsecappsec

Summary

Found 0 performance improvements and 0 performance regressions! Performance is the same for 12 metrics, 0 unstable metrics.

Execution time for tomcat
gantt
title tomcat - execution time [CI 0.99] : candidate=1.46.0-SNAPSHOT~8c5291ee75, baseline=1.46.0-SNAPSHOT~692835e608
dateFormat X
axisFormat %s
section baseline
no_agent (1.462 ms) : 1451, 1474
. : milestone, 1462,
appsec (2.348 ms) : 2305, 2390
. : milestone, 2348,
iast (2.095 ms) : 2040, 2149
. : milestone, 2095,
iast_GLOBAL (2.134 ms) : 2080, 2189
. : milestone, 2134,
profiling (1.962 ms) : 1918, 2006
. : milestone, 1962,
tracing (1.928 ms) : 1887, 1970
. : milestone, 1928,
section candidate
no_agent (1.464 ms) : 1452, 1475
. : milestone, 1464,
appsec (2.349 ms) : 2307, 2392
. : milestone, 2349,
iast (2.099 ms) : 2045, 2154
. : milestone, 2099,
iast_GLOBAL (2.134 ms) : 2080, 2188
. : milestone, 2134,
profiling (1.961 ms) : 1918, 2004
. : milestone, 1961,
tracing (1.932 ms) : 1890, 1974
. : milestone, 1932,
Loading
  • baseline results
VariantExecution Time [CI 0.99]Δ no_agent
no_agent1.462 ms [1.451 ms, 1.474 ms]-
appsec2.348 ms [2.305 ms, 2.39 ms]885.345 µs (60.5%)
iast2.095 ms [2.04 ms, 2.149 ms]632.478 µs (43.3%)
iast_GLOBAL2.134 ms [2.08 ms, 2.189 ms]672.185 µs (46.0%)
profiling1.962 ms [1.918 ms, 2.006 ms]499.986 µs (34.2%)
tracing1.928 ms [1.887 ms, 1.97 ms]465.97 µs (31.9%)
  • candidate results
VariantExecution Time [CI 0.99]Δ no_agent
no_agent1.464 ms [1.452 ms, 1.475 ms]-
appsec2.349 ms [2.307 ms, 2.392 ms]885.874 µs (60.5%)
iast2.099 ms [2.045 ms, 2.154 ms]635.591 µs (43.4%)
iast_GLOBAL2.134 ms [2.08 ms, 2.188 ms]670.311 µs (45.8%)
profiling1.961 ms [1.918 ms, 2.004 ms]497.235 µs (34.0%)
tracing1.932 ms [1.89 ms, 1.974 ms]468.53 µs (32.0%)
Execution time for biojava
gantt
title biojava - execution time [CI 0.99] : candidate=1.46.0-SNAPSHOT~8c5291ee75, baseline=1.46.0-SNAPSHOT~692835e608
dateFormat X
axisFormat %s
section baseline
no_agent (15.008 s) : 15008000, 15008000
. : milestone, 15008000,
appsec (14.753 s) : 14753000, 14753000
. : milestone, 14753000,
iast (18.656 s) : 18656000, 18656000
. : milestone, 18656000,
iast_GLOBAL (18.103 s) : 18103000, 18103000
. : milestone, 18103000,
profiling (15.64 s) : 15640000, 15640000
. : milestone, 15640000,
tracing (14.758 s) : 14758000, 14758000
. : milestone, 14758000,
section candidate
no_agent (15.405 s) : 15405000, 15405000
. : milestone, 15405000,
appsec (15.242 s) : 15242000, 15242000
. : milestone, 15242000,
iast (18.91 s) : 18910000, 18910000
. : milestone, 18910000,
iast_GLOBAL (18.116 s) : 18116000, 18116000
. : milestone, 18116000,
profiling (15.0 s) : 15000000, 15000000
. : milestone, 15000000,
tracing (14.882 s) : 14882000, 14882000
. : milestone, 14882000,
Loading
  • baseline results
VariantExecution Time [CI 0.99]Δ no_agent
no_agent15.008 s [15.008 s, 15.008 s]-
appsec14.753 s [14.753 s, 14.753 s]-255.0 ms (-1.7%)
iast18.656 s [18.656 s, 18.656 s]3.648 s (24.3%)
iast_GLOBAL18.103 s [18.103 s, 18.103 s]3.095 s (20.6%)
profiling15.64 s [15.64 s, 15.64 s]632.0 ms (4.2%)
tracing14.758 s [14.758 s, 14.758 s]-250.0 ms (-1.7%)
  • candidate results
VariantExecution Time [CI 0.99]Δ no_agent
no_agent15.405 s [15.405 s, 15.405 s]-
appsec15.242 s [15.242 s, 15.242 s]-163.0 ms (-1.1%)
iast18.91 s [18.91 s, 18.91 s]3.505 s (22.8%)
iast_GLOBAL18.116 s [18.116 s, 18.116 s]2.711 s (17.6%)
profiling15.0 s [15.0 s, 15.0 s]-405.0 ms (-2.6%)
tracing14.882 s [14.882 s, 14.882 s]-523.0 ms (-3.4%)

@MariovidoMariovido changed the title [DRAFT] Taint DB valuesAdd IAST taint tracking for DB valuesDec 12, 2024
@Mariovido
Mariovido marked this pull request as ready for review December 12, 2024 15:09
@Mariovido
Mariovido requested review from a team as code ownersDecember 12, 2024 15:09
@jandro996

Copy link
Copy Markdown
Member

@Mariovido rebase the branch and resolve the conflicts in internal-api/src/main/java/datadog/trace/api/Config.java :)
Thanks!!!

@Mariovido

Copy link
Copy Markdown
ContributorAuthor

@Mariovido rebase the branch and resolve the conflicts in internal-api/src/main/java/datadog/trace/api/Config.java :) Thanks!!!

@jandro996 Solved the conflicts :)

Comment threaddd-trace-api/src/main/java/datadog/trace/api/config/IastConfig.java Outdated
Comment threaddd-java-agent/agent-iast/src/main/java/com/datadog/iast/taint/Ranges.java Outdated
@Mariovido
Mariovido merged commit 0b1e6ff into masterJan 15, 2025
@Mariovido
Mariovido deleted the mario.vidal/taint_db_values_iast branch January 15, 2025 14:44
@github-actionsgithub-actionsBot added this to the 1.46.0 milestone Jan 15, 2025
svc-squareup-copybara pushed a commit to cashapp/misk that referenced this pull request Jan 31, 2025
| Package | Type | Package file | Manager | Update | Change |
|---|---|---|---|---|---|
|
[com.google.cloud:google-cloud-datastore](https://github.com/googleapis/java-datastore)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`2.25.4` -> `2.26.0` |
| [com.datadoghq:dd-trace-api](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.45.2` -> `1.46.0` |
| [com.datadoghq:dd-trace-ot](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.45.2` -> `1.46.0` |
| [software.amazon.awssdk:sdk-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.9` -> `2.30.10` |
|
[software.amazon.awssdk:dynamodb-enhanced](https://aws.amazon.com/sdkforjava)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.9` -> `2.30.10` |
| [software.amazon.awssdk:dynamodb](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.9` -> `2.30.10` |
| [software.amazon.awssdk:aws-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.9` -> `2.30.10` |
| [software.amazon.awssdk:bom](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.9` -> `2.30.10` |
| [software.amazon.awssdk:auth](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.9` -> `2.30.10` |
---
### Release Notes
<details>
<summary>googleapis/java-datastore
(com.google.cloud:google-cloud-datastore)</summary>
###
[`v2.26.0`](https://github.com/googleapis/java-datastore/blob/HEAD/CHANGELOG.md#2260-2025-01-29)
##### Features
- Add firestoreInDatastoreMode for datastore emulator
([#&#8203;1698](googleapis/java-datastore#1698))
([50f106d](googleapis/java-datastore@50f106d))
##### Dependencies
- Update dependency com.google.cloud:sdk-platform-java-config to v3.42.0
([#&#8203;1725](googleapis/java-datastore#1725))
([1cbaf22](googleapis/java-datastore@1cbaf22))
</details>
<details>
<summary>datadog/dd-trace-java (com.datadoghq:dd-trace-api)</summary>
###
[`v1.46.0`](https://github.com/DataDog/dd-trace-java/releases/tag/v1.46.0):
1.46.0
##### Breaking Changes
> \[!WARNING]
> jnr-unixsocket is now an external dependency of dd-trace-ot and must
be included when deploying dd-trace-ot.
> \[!NOTE]
> The API `TracerScope.setAsync(boolean)`, used to manually control
asynchronous span propagation, does no more apply to the scope instance
but to the active span scope.
##### Components
##### Application Security Management (IAST)
- 🐛 Fix String.replace instrumentation for IAST
([#&#8203;8281](DataDog/dd-trace-java#8281) -
[@&#8203;Mariovido](https://github.com/Mariovido))
- ✨ Apply the standard nomenclature to the stacktrace configs
([#&#8203;8244](DataDog/dd-trace-java#8244) -
[@&#8203;jandro996](https://github.com/jandro996))
- 🐛 Exclude false positive weak randomness
([#&#8203;8232](DataDog/dd-trace-java#8232) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Propagation of translateEscapes of String class
([#&#8203;8186](DataDog/dd-trace-java#8186) -
[@&#8203;sezen-datadog](https://github.com/sezen-datadog))
- ✨ Add security control metrics
([#&#8203;8175](DataDog/dd-trace-java#8175) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Increase IAST propagation to StringBuffer setLength
([#&#8203;8128](DataDog/dd-trace-java#8128) -
[@&#8203;Mariovido](https://github.com/Mariovido))
- ✨ Add IAST taint tracking for DB values
([#&#8203;8072](DataDog/dd-trace-java#8072) -
[@&#8203;Mariovido](https://github.com/Mariovido))
##### Application Security Management (WAF)
- 🐛 Prevents a NPE when there is no subscriber for user events
([#&#8203;8258](DataDog/dd-trace-java#8258) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Apply the standard nomenclature to the stacktrace configs
([#&#8203;8244](DataDog/dd-trace-java#8244) -
[@&#8203;jandro996](https://github.com/jandro996))
- 🐛 Ensure cached subscriptions are cleared on reconfiguration via
RC ([#&#8203;8229](DataDog/dd-trace-java#8229)
-
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Add support for session tracking in Vertx
([#&#8203;8167](DataDog/dd-trace-java#8167) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Create span tag: \_dd.appsec.rasp.timeout
([#&#8203;8269](DataDog/dd-trace-java#8269) -
[@&#8203;Mariovido](https://github.com/Mariovido))
##### Build & Tooling
- 🐛 Ensure shaded helpers have unique names when injected into
class-loaders
([#&#8203;8192](DataDog/dd-trace-java#8192) -
[@&#8203;mcculls](https://github.com/mcculls))
##### Configuration at Runtime
- 🐛 Remove filtering of `DD_SERVICE` and `DD_ENV` from the tracer
([#&#8203;8176](DataDog/dd-trace-java#8176) -
[@&#8203;mhlidd](https://github.com/mhlidd))
##### Continuous Integration Visibility
- 🧹 Generalize TestRetryPolicy to TestExecutionPolicy
([#&#8203;8302](DataDog/dd-trace-java#8302) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🧹 Parallelize CI Visibility settings requests
([#&#8203;8299](DataDog/dd-trace-java#8299) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🧹 Generalize test retry logic
([#&#8203;8289](DataDog/dd-trace-java#8289) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🧹 Generalize tests skipping logic
([#&#8203;8288](DataDog/dd-trace-java#8288) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🧹 Remove skip and shouldBeSkipped methods from TestEventsHandler
in favor of isSkippable
([#&#8203;8286](DataDog/dd-trace-java#8286) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨⚡ Optimize Git repository information computation
([#&#8203;8270](DataDog/dd-trace-java#8270) -
[@&#8203;dougqh](https://github.com/dougqh))
- ✨ Always request known tests from the backend
([#&#8203;8268](DataDog/dd-trace-java#8268) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Fix NPE when trying to get retry analyzer in Test NG
([#&#8203;8253](DataDog/dd-trace-java#8253) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🐛 Set test framework and test framework version tags atomically
([#&#8203;8252](DataDog/dd-trace-java#8252) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Add debug logging to Android Gradle module layout logic
([#&#8203;8251](DataDog/dd-trace-java#8251) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🐛 Fix source and destination folders computation for Android
Gradle projects
([#&#8203;8190](DataDog/dd-trace-java#8190) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Add basic Scala Weaver sbt support
([#&#8203;8189](DataDog/dd-trace-java#8189) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Implement impacted tests detection
([#&#8203;8188](DataDog/dd-trace-java#8188) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
##### Data Streams Monitoring
- ✨ Change hash computation for protobuf to better represent
impacting changes + save proto number in schema
([#&#8203;8201](DataDog/dd-trace-java#8201) -
[@&#8203;vandonr](https://github.com/vandonr))
##### Database Monitoring
- Add peer service tag in dbm sql commenter
([#&#8203;7913](DataDog/dd-trace-java#7913) -
[@&#8203;jordan-wong](https://github.com/jordan-wong))
##### Dynamic Instrumentation
- ✨ Add support for SymDB to scan directories
([#&#8203;8306](DataDog/dd-trace-java#8306) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Add SymDB report for any jar scanning failures
([#&#8203;8300](DataDog/dd-trace-java#8300) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Use two budgets depending on type
([#&#8203;8283](DataDog/dd-trace-java#8283) -
[@&#8203;evanchooly](https://github.com/evanchooly))
- ✨ Institute a 10 snapshot per probe per trace budget
([#&#8203;8277](DataDog/dd-trace-java#8277) -
[@&#8203;evanchooly](https://github.com/evanchooly))
- 🐛 Avoid double snapshots for Exception Replay
([#&#8203;8273](DataDog/dd-trace-java#8273) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Simplify code origins. Separate out snapshot generation.
([#&#8203;8263](DataDog/dd-trace-java#8263) -
[@&#8203;evanchooly](https://github.com/evanchooly))
- ✨ Add Exception probe custom instrumentation
([#&#8203;8230](DataDog/dd-trace-java#8230) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Enhance log probes to honor debug session tags
([#&#8203;8215](DataDog/dd-trace-java#8215) -
[@&#8203;evanchooly](https://github.com/evanchooly))
- 🐛 Don't redact env tokens from debugger probe snapshots
([#&#8203;8211](DataDog/dd-trace-java#8211) -
[@&#8203;watson](https://github.com/watson))
- ✨⚡ Move Trace/SpanId capture at commit time
([#&#8203;8184](DataDog/dd-trace-java#8184) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Capture values at entry for method probe
([#&#8203;8169](DataDog/dd-trace-java#8169) -
[@&#8203;jpbempel](https://github.com/jpbempel))
##### JMX fetch
- 🐛 Mute JMXFetch Shutdown in progress error
([#&#8203;8068](DataDog/dd-trace-java#8068) -
[@&#8203;ygree](https://github.com/ygree))
##### OpenTracing
- ⚠️🧹 Make jnr-unixsocket an explicit dependency of
dd-trace-ot
([#&#8203;8307](DataDog/dd-trace-java#8307) -
[@&#8203;mcculls](https://github.com/mcculls))
##### Profiling
- 🐛 Avoid unsupported API call for creating folders on windows
([#&#8203;8304](DataDog/dd-trace-java#8304) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- ✨ Tag profiles for serverless
([#&#8203;8279](DataDog/dd-trace-java#8279) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- ✨ add queue type and length to queue events
([#&#8203;8242](DataDog/dd-trace-java#8242) -
[@&#8203;richardstartin](https://github.com/richardstartin))
- 🐛 TempLocationManager Fixes and Improvements
([#&#8203;8191](DataDog/dd-trace-java#8191) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- ✨ Bump ddprof to 1.18.0
([#&#8203;8173](DataDog/dd-trace-java#8173) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- ✨ Report profiler initialization and configuration errors to
telemetry
([#&#8203;8171](DataDog/dd-trace-java#8171) -
[@&#8203;jbachorik](https://github.com/jbachorik))
##### Telemetry
- ✨ Add pending traces report in tracer flares
([#&#8203;8053](DataDog/dd-trace-java#8053) -
[@&#8203;mhlidd](https://github.com/mhlidd))
##### Testing
- ✨ Test http server requests in parallel
([#&#8203;8222](DataDog/dd-trace-java#8222) -
[@&#8203;amarziali](https://github.com/amarziali))
##### Trace context propagation
- ✨ Add non default propagator registration
([#&#8203;8310](DataDog/dd-trace-java#8310) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
##### Tracer core
- ✨ Probe for existence of IBMSASL or ACCP security providers
([#&#8203;8276](DataDog/dd-trace-java#8276) -
[@&#8203;mcculls](https://github.com/mcculls))
- ✨⚡ Overhead improvement to agent feedback based sampling
([#&#8203;8265](DataDog/dd-trace-java#8265) -
[@&#8203;dougqh](https://github.com/dougqh))
- 🧹 Move async propagation API from scope to tracer
([#&#8203;8231](DataDog/dd-trace-java#8231) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- ✨ Introduce context propagation API
([#&#8203;8161](DataDog/dd-trace-java#8161) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- ✨🧪 Use env-entry to add tags per webapp deployment
([#&#8203;8138](DataDog/dd-trace-java#8138) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Introduce context helpers API
([#&#8203;8134](DataDog/dd-trace-java#8134) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- ✨ Support IPv6 values for `DD_AGENT_HOST` and
`DD_TRACE_AGENT_URL`
([#&#8203;7984](DataDog/dd-trace-java#7984) -
[@&#8203;mhlidd](https://github.com/mhlidd))
##### Instrumentations
##### Apache HttpComponents
- 🐛 Properly finish spans and support latest apache httpclient5
([#&#8203;8272](DataDog/dd-trace-java#8272) -
[@&#8203;amarziali](https://github.com/amarziali))
##### AWS Lambda instrumentation
- 🐛 Properly capture lambda payloads for all handler types.
([#&#8203;8264](DataDog/dd-trace-java#8264) -
[@&#8203;purple4reina](https://github.com/purple4reina))
##### AWS S3 instrumentation
- 💡 Create S3 instrumentation + add span pointers
([#&#8203;8075](DataDog/dd-trace-java#8075) -
[@&#8203;nhulston](https://github.com/nhulston))
##### AWS SDK instrumentation
- 🐛 Revert "Add avoid double instrumenting lambda non-streaming
handlers."
([#&#8203;8247](DataDog/dd-trace-java#8247) -
[@&#8203;nhulston](https://github.com/nhulston))
##### Cassandra
- ✨ Allow extracting keyspace from statement result
([#&#8203;8239](DataDog/dd-trace-java#8239) -
[@&#8203;amarziali](https://github.com/amarziali))
##### Core Java language instrumentation
- ✨ Propagation of translateEscapes of String class
([#&#8203;8186](DataDog/dd-trace-java#8186) -
[@&#8203;sezen-datadog](https://github.com/sezen-datadog))
##### Eclipse Vert.x instrumentation
- 🐛 Fix vertx worker propagation and error handling
([#&#8203;8237](DataDog/dd-trace-java#8237) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Support vertx 5
([#&#8203;8220](DataDog/dd-trace-java#8220) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Add support for session tracking in Vertx
([#&#8203;8167](DataDog/dd-trace-java#8167) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
##### Kafka instrumentation
- 🐛 Prevent possible NPE calculating Kafka record header size
([#&#8203;8292](DataDog/dd-trace-java#8292) -
[@&#8203;ygree](https://github.com/ygree))
##### Mule instrumentation
- 🐛 Fix crash using Mule with JPMS
([#&#8203;8187](DataDog/dd-trace-java#8187) -
[@&#8203;amarziali](https://github.com/amarziali))
##### Protocol Buffer instrumentation
- ✨ Change hash computation for protobuf to better represent
impacting changes + save proto number in schema
([#&#8203;8201](DataDog/dd-trace-java#8201) -
[@&#8203;vandonr](https://github.com/vandonr))
##### Spring instrumentation
- 🐛 Preserve getQualifier from spring scheduling runnables
([#&#8203;8293](DataDog/dd-trace-java#8293) -
[@&#8203;amarziali](https://github.com/amarziali))
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "after 6pm every weekday,before 2am
every weekday" in timezone Australia/Melbourne, Automerge - At any time
(no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://github.com/renovatebot/renovate/discussions) if
that's undesired.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR has been generated by [Renovate
Bot](https://github.com/renovatebot/renovate).
GitOrigin-RevId: bb09d47e4eed77a003f630273b4d0a84003eb899
eizus pushed a commit to cdrxyz/misk that referenced this pull request Jul 18, 2026
| Package | Type | Package file | Manager | Update | Change |
|---|---|---|---|---|---|
|
[com.google.cloud:google-cloud-datastore](https://github.com/googleapis/java-datastore)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`2.25.4` -> `2.26.0` |
| [com.datadoghq:dd-trace-api](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.45.2` -> `1.46.0` |
| [com.datadoghq:dd-trace-ot](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.45.2` -> `1.46.0` |
| [software.amazon.awssdk:sdk-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.9` -> `2.30.10` |
|
[software.amazon.awssdk:dynamodb-enhanced](https://aws.amazon.com/sdkforjava)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.9` -> `2.30.10` |
| [software.amazon.awssdk:dynamodb](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.9` -> `2.30.10` |
| [software.amazon.awssdk:aws-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.9` -> `2.30.10` |
| [software.amazon.awssdk:bom](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.9` -> `2.30.10` |
| [software.amazon.awssdk:auth](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.9` -> `2.30.10` |
---
### Release Notes
<details>
<summary>googleapis/java-datastore
(com.google.cloud:google-cloud-datastore)</summary>
###
[`v2.26.0`](https://github.com/googleapis/java-datastore/blob/HEAD/CHANGELOG.md#2260-2025-01-29)
##### Features
- Add firestoreInDatastoreMode for datastore emulator
([#&#8203;1698](googleapis/java-datastore#1698))
([50f106d](googleapis/java-datastore@50f106d))
##### Dependencies
- Update dependency com.google.cloud:sdk-platform-java-config to v3.42.0
([#&#8203;1725](googleapis/java-datastore#1725))
([1cbaf22](googleapis/java-datastore@1cbaf22))
</details>
<details>
<summary>datadog/dd-trace-java (com.datadoghq:dd-trace-api)</summary>
###
[`v1.46.0`](https://github.com/DataDog/dd-trace-java/releases/tag/v1.46.0):
1.46.0
##### Breaking Changes
> \[!WARNING]
> jnr-unixsocket is now an external dependency of dd-trace-ot and must
be included when deploying dd-trace-ot.
> \[!NOTE]
> The API `TracerScope.setAsync(boolean)`, used to manually control
asynchronous span propagation, does no more apply to the scope instance
but to the active span scope.
##### Components
##### Application Security Management (IAST)
- 🐛 Fix String.replace instrumentation for IAST
([#&#8203;8281](DataDog/dd-trace-java#8281) -
[@&#8203;Mariovido](https://github.com/Mariovido))
- ✨ Apply the standard nomenclature to the stacktrace configs
([#&#8203;8244](DataDog/dd-trace-java#8244) -
[@&#8203;jandro996](https://github.com/jandro996))
- 🐛 Exclude false positive weak randomness
([#&#8203;8232](DataDog/dd-trace-java#8232) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Propagation of translateEscapes of String class
([#&#8203;8186](DataDog/dd-trace-java#8186) -
[@&#8203;sezen-datadog](https://github.com/sezen-datadog))
- ✨ Add security control metrics
([#&#8203;8175](DataDog/dd-trace-java#8175) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Increase IAST propagation to StringBuffer setLength
([#&#8203;8128](DataDog/dd-trace-java#8128) -
[@&#8203;Mariovido](https://github.com/Mariovido))
- ✨ Add IAST taint tracking for DB values
([#&#8203;8072](DataDog/dd-trace-java#8072) -
[@&#8203;Mariovido](https://github.com/Mariovido))
##### Application Security Management (WAF)
- 🐛 Prevents a NPE when there is no subscriber for user events
([#&#8203;8258](DataDog/dd-trace-java#8258) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Apply the standard nomenclature to the stacktrace configs
([#&#8203;8244](DataDog/dd-trace-java#8244) -
[@&#8203;jandro996](https://github.com/jandro996))
- 🐛 Ensure cached subscriptions are cleared on reconfiguration via
RC ([#&#8203;8229](DataDog/dd-trace-java#8229)
-
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Add support for session tracking in Vertx
([#&#8203;8167](DataDog/dd-trace-java#8167) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Create span tag: \_dd.appsec.rasp.timeout
([#&#8203;8269](DataDog/dd-trace-java#8269) -
[@&#8203;Mariovido](https://github.com/Mariovido))
##### Build & Tooling
- 🐛 Ensure shaded helpers have unique names when injected into
class-loaders
([#&#8203;8192](DataDog/dd-trace-java#8192) -
[@&#8203;mcculls](https://github.com/mcculls))
##### Configuration at Runtime
- 🐛 Remove filtering of `DD_SERVICE` and `DD_ENV` from the tracer
([#&#8203;8176](DataDog/dd-trace-java#8176) -
[@&#8203;mhlidd](https://github.com/mhlidd))
##### Continuous Integration Visibility
- 🧹 Generalize TestRetryPolicy to TestExecutionPolicy
([#&#8203;8302](DataDog/dd-trace-java#8302) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🧹 Parallelize CI Visibility settings requests
([#&#8203;8299](DataDog/dd-trace-java#8299) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🧹 Generalize test retry logic
([#&#8203;8289](DataDog/dd-trace-java#8289) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🧹 Generalize tests skipping logic
([#&#8203;8288](DataDog/dd-trace-java#8288) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🧹 Remove skip and shouldBeSkipped methods from TestEventsHandler
in favor of isSkippable
([#&#8203;8286](DataDog/dd-trace-java#8286) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨⚡ Optimize Git repository information computation
([#&#8203;8270](DataDog/dd-trace-java#8270) -
[@&#8203;dougqh](https://github.com/dougqh))
- ✨ Always request known tests from the backend
([#&#8203;8268](DataDog/dd-trace-java#8268) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Fix NPE when trying to get retry analyzer in Test NG
([#&#8203;8253](DataDog/dd-trace-java#8253) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🐛 Set test framework and test framework version tags atomically
([#&#8203;8252](DataDog/dd-trace-java#8252) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Add debug logging to Android Gradle module layout logic
([#&#8203;8251](DataDog/dd-trace-java#8251) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🐛 Fix source and destination folders computation for Android
Gradle projects
([#&#8203;8190](DataDog/dd-trace-java#8190) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Add basic Scala Weaver sbt support
([#&#8203;8189](DataDog/dd-trace-java#8189) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Implement impacted tests detection
([#&#8203;8188](DataDog/dd-trace-java#8188) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
##### Data Streams Monitoring
- ✨ Change hash computation for protobuf to better represent
impacting changes + save proto number in schema
([#&#8203;8201](DataDog/dd-trace-java#8201) -
[@&#8203;vandonr](https://github.com/vandonr))
##### Database Monitoring
- Add peer service tag in dbm sql commenter
([#&#8203;7913](DataDog/dd-trace-java#7913) -
[@&#8203;jordan-wong](https://github.com/jordan-wong))
##### Dynamic Instrumentation
- ✨ Add support for SymDB to scan directories
([#&#8203;8306](DataDog/dd-trace-java#8306) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Add SymDB report for any jar scanning failures
([#&#8203;8300](DataDog/dd-trace-java#8300) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Use two budgets depending on type
([#&#8203;8283](DataDog/dd-trace-java#8283) -
[@&#8203;evanchooly](https://github.com/evanchooly))
- ✨ Institute a 10 snapshot per probe per trace budget
([#&#8203;8277](DataDog/dd-trace-java#8277) -
[@&#8203;evanchooly](https://github.com/evanchooly))
- 🐛 Avoid double snapshots for Exception Replay
([#&#8203;8273](DataDog/dd-trace-java#8273) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Simplify code origins. Separate out snapshot generation.
([#&#8203;8263](DataDog/dd-trace-java#8263) -
[@&#8203;evanchooly](https://github.com/evanchooly))
- ✨ Add Exception probe custom instrumentation
([#&#8203;8230](DataDog/dd-trace-java#8230) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Enhance log probes to honor debug session tags
([#&#8203;8215](DataDog/dd-trace-java#8215) -
[@&#8203;evanchooly](https://github.com/evanchooly))
- 🐛 Don't redact env tokens from debugger probe snapshots
([#&#8203;8211](DataDog/dd-trace-java#8211) -
[@&#8203;watson](https://github.com/watson))
- ✨⚡ Move Trace/SpanId capture at commit time
([#&#8203;8184](DataDog/dd-trace-java#8184) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Capture values at entry for method probe
([#&#8203;8169](DataDog/dd-trace-java#8169) -
[@&#8203;jpbempel](https://github.com/jpbempel))
##### JMX fetch
- 🐛 Mute JMXFetch Shutdown in progress error
([#&#8203;8068](DataDog/dd-trace-java#8068) -
[@&#8203;ygree](https://github.com/ygree))
##### OpenTracing
- ⚠️🧹 Make jnr-unixsocket an explicit dependency of
dd-trace-ot
([#&#8203;8307](DataDog/dd-trace-java#8307) -
[@&#8203;mcculls](https://github.com/mcculls))
##### Profiling
- 🐛 Avoid unsupported API call for creating folders on windows
([#&#8203;8304](DataDog/dd-trace-java#8304) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- ✨ Tag profiles for serverless
([#&#8203;8279](DataDog/dd-trace-java#8279) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- ✨ add queue type and length to queue events
([#&#8203;8242](DataDog/dd-trace-java#8242) -
[@&#8203;richardstartin](https://github.com/richardstartin))
- 🐛 TempLocationManager Fixes and Improvements
([#&#8203;8191](DataDog/dd-trace-java#8191) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- ✨ Bump ddprof to 1.18.0
([#&#8203;8173](DataDog/dd-trace-java#8173) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- ✨ Report profiler initialization and configuration errors to
telemetry
([#&#8203;8171](DataDog/dd-trace-java#8171) -
[@&#8203;jbachorik](https://github.com/jbachorik))
##### Telemetry
- ✨ Add pending traces report in tracer flares
([#&#8203;8053](DataDog/dd-trace-java#8053) -
[@&#8203;mhlidd](https://github.com/mhlidd))
##### Testing
- ✨ Test http server requests in parallel
([#&#8203;8222](DataDog/dd-trace-java#8222) -
[@&#8203;amarziali](https://github.com/amarziali))
##### Trace context propagation
- ✨ Add non default propagator registration
([#&#8203;8310](DataDog/dd-trace-java#8310) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
##### Tracer core
- ✨ Probe for existence of IBMSASL or ACCP security providers
([#&#8203;8276](DataDog/dd-trace-java#8276) -
[@&#8203;mcculls](https://github.com/mcculls))
- ✨⚡ Overhead improvement to agent feedback based sampling
([#&#8203;8265](DataDog/dd-trace-java#8265) -
[@&#8203;dougqh](https://github.com/dougqh))
- 🧹 Move async propagation API from scope to tracer
([#&#8203;8231](DataDog/dd-trace-java#8231) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- ✨ Introduce context propagation API
([#&#8203;8161](DataDog/dd-trace-java#8161) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- ✨🧪 Use env-entry to add tags per webapp deployment
([#&#8203;8138](DataDog/dd-trace-java#8138) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Introduce context helpers API
([#&#8203;8134](DataDog/dd-trace-java#8134) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- ✨ Support IPv6 values for `DD_AGENT_HOST` and
`DD_TRACE_AGENT_URL`
([#&#8203;7984](DataDog/dd-trace-java#7984) -
[@&#8203;mhlidd](https://github.com/mhlidd))
##### Instrumentations
##### Apache HttpComponents
- 🐛 Properly finish spans and support latest apache httpclient5
([#&#8203;8272](DataDog/dd-trace-java#8272) -
[@&#8203;amarziali](https://github.com/amarziali))
##### AWS Lambda instrumentation
- 🐛 Properly capture lambda payloads for all handler types.
([#&#8203;8264](DataDog/dd-trace-java#8264) -
[@&#8203;purple4reina](https://github.com/purple4reina))
##### AWS S3 instrumentation
- 💡 Create S3 instrumentation + add span pointers
([#&#8203;8075](DataDog/dd-trace-java#8075) -
[@&#8203;nhulston](https://github.com/nhulston))
##### AWS SDK instrumentation
- 🐛 Revert "Add avoid double instrumenting lambda non-streaming
handlers."
([#&#8203;8247](DataDog/dd-trace-java#8247) -
[@&#8203;nhulston](https://github.com/nhulston))
##### Cassandra
- ✨ Allow extracting keyspace from statement result
([#&#8203;8239](DataDog/dd-trace-java#8239) -
[@&#8203;amarziali](https://github.com/amarziali))
##### Core Java language instrumentation
- ✨ Propagation of translateEscapes of String class
([#&#8203;8186](DataDog/dd-trace-java#8186) -
[@&#8203;sezen-datadog](https://github.com/sezen-datadog))
##### Eclipse Vert.x instrumentation
- 🐛 Fix vertx worker propagation and error handling
([#&#8203;8237](DataDog/dd-trace-java#8237) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Support vertx 5
([#&#8203;8220](DataDog/dd-trace-java#8220) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Add support for session tracking in Vertx
([#&#8203;8167](DataDog/dd-trace-java#8167) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
##### Kafka instrumentation
- 🐛 Prevent possible NPE calculating Kafka record header size
([#&#8203;8292](DataDog/dd-trace-java#8292) -
[@&#8203;ygree](https://github.com/ygree))
##### Mule instrumentation
- 🐛 Fix crash using Mule with JPMS
([#&#8203;8187](DataDog/dd-trace-java#8187) -
[@&#8203;amarziali](https://github.com/amarziali))
##### Protocol Buffer instrumentation
- ✨ Change hash computation for protobuf to better represent
impacting changes + save proto number in schema
([#&#8203;8201](DataDog/dd-trace-java#8201) -
[@&#8203;vandonr](https://github.com/vandonr))
##### Spring instrumentation
- 🐛 Preserve getQualifier from spring scheduling runnables
([#&#8203;8293](DataDog/dd-trace-java#8293) -
[@&#8203;amarziali](https://github.com/amarziali))
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "after 6pm every weekday,before 2am
every weekday" in timezone Australia/Melbourne, Automerge - At any time
(no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://github.com/renovatebot/renovate/discussions) if
that's undesired.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR has been generated by [Renovate
Bot](https://github.com/renovatebot/renovate).
GitOrigin-RevId: bb09d47e4eed77a003f630273b4d0a84003eb899
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp: asm iastApplication Security Management (IAST)type: featureEnhancements and improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@Mariovido@jandro996@smola@manuel-alvarez-alvarez