-
Notifications
You must be signed in to change notification settings - Fork 304
Add appsec.waf.input_truncated metric #8791
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add appsec.waf.input_truncated metric #8791
Conversation
7f96081
to
88bc8d4
Compare
BenchmarksStartupParameters
See matching parameters
SummaryFound 4 performance improvements and 2 performance regressions! Performance is the same for 57 metrics, 8 unstable metrics.
Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.49.0-SNAPSHOT~7f96081b09, baseline=1.50.0-SNAPSHOT~c94e3ce8db
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.026 s) : 0, 1025864
Total [baseline] (10.475 s) : 0, 10475208
Agent [candidate] (1.008 s) : 0, 1008399
Total [candidate] (10.531 s) : 0, 10531159
section appsec
Agent [baseline] (1.159 s) : 0, 1159187
Total [baseline] (10.684 s) : 0, 10684301
Agent [candidate] (1.153 s) : 0, 1152500
Total [candidate] (10.747 s) : 0, 10746558
section iast
Agent [baseline] (1.146 s) : 0, 1146066
Total [baseline] (10.862 s) : 0, 10862245
Agent [candidate] (1.138 s) : 0, 1137872
Total [candidate] (10.878 s) : 0, 10878105
section profiling
Agent [baseline] (1.281 s) : 0, 1281332
Total [baseline] (10.945 s) : 0, 10944951
Agent [candidate] (1.257 s) : 0, 1257207
Total [candidate] (10.818 s) : 0, 10817696
gantt
title petclinic - break down per module: candidate=1.49.0-SNAPSHOT~7f96081b09, baseline=1.50.0-SNAPSHOT~c94e3ce8db
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (686.096 ms) : 0, 686096
BytebuddyAgent [candidate] (672.363 ms) : 0, 672363
GlobalTracer [baseline] (241.228 ms) : 0, 241228
GlobalTracer [candidate] (240.359 ms) : 0, 240359
AppSec [baseline] (54.638 ms) : 0, 54638
AppSec [candidate] (54.738 ms) : 0, 54738
Debugger [baseline] (8.319 ms) : 0, 8319
Debugger [candidate] (6.165 ms) : 0, 6165
Remote Config [baseline] (696.6 µs) : 0, 697
Remote Config [candidate] (708.355 µs) : 0, 708
Telemetry [baseline] (11.316 ms) : 0, 11316
Telemetry [candidate] (10.555 ms) : 0, 10555
section appsec
BytebuddyAgent [baseline] (699.11 ms) : 0, 699110
BytebuddyAgent [candidate] (690.482 ms) : 0, 690482
GlobalTracer [baseline] (236.179 ms) : 0, 236179
GlobalTracer [candidate] (236.982 ms) : 0, 236982
IAST [baseline] (21.587 ms) : 0, 21587
IAST [candidate] (21.857 ms) : 0, 21857
AppSec [baseline] (175.347 ms) : 0, 175347
AppSec [candidate] (175.601 ms) : 0, 175601
Debugger [baseline] (5.937 ms) : 0, 5937
Debugger [candidate] (6.285 ms) : 0, 6285
Remote Config [baseline] (627.818 µs) : 0, 628
Remote Config [candidate] (635.428 µs) : 0, 635
Telemetry [baseline] (7.724 ms) : 0, 7724
Telemetry [candidate] (8.189 ms) : 0, 8189
section iast
BytebuddyAgent [baseline] (800.09 ms) : 0, 800090
BytebuddyAgent [candidate] (790.425 ms) : 0, 790425
GlobalTracer [baseline] (229.895 ms) : 0, 229895
GlobalTracer [candidate] (230.101 ms) : 0, 230101
IAST [baseline] (29.754 ms) : 0, 29754
IAST [candidate] (22.789 ms) : 0, 22789
AppSec [baseline] (48.599 ms) : 0, 48599
AppSec [candidate] (56.681 ms) : 0, 56681
Debugger [baseline] (5.893 ms) : 0, 5893
Debugger [candidate] (5.967 ms) : 0, 5967
Remote Config [baseline] (595.889 µs) : 0, 596
Remote Config [candidate] (593.191 µs) : 0, 593
Telemetry [baseline] (7.807 ms) : 0, 7807
Telemetry [candidate] (7.944 ms) : 0, 7944
section profiling
BytebuddyAgent [baseline] (673.696 ms) : 0, 673696
BytebuddyAgent [candidate] (661.349 ms) : 0, 661349
GlobalTracer [baseline] (378.274 ms) : 0, 378274
GlobalTracer [candidate] (378.358 ms) : 0, 378358
AppSec [baseline] (54.716 ms) : 0, 54716
AppSec [candidate] (54.225 ms) : 0, 54225
Debugger [baseline] (6.111 ms) : 0, 6111
Debugger [candidate] (6.132 ms) : 0, 6132
Remote Config [baseline] (663.145 µs) : 0, 663
Remote Config [candidate] (642.443 µs) : 0, 642
Telemetry [baseline] (8.084 ms) : 0, 8084
Telemetry [candidate] (8.204 ms) : 0, 8204
ProfilingAgent [baseline] (109.279 ms) : 0, 109279
ProfilingAgent [candidate] (98.163 ms) : 0, 98163
Profiling [baseline] (109.304 ms) : 0, 109304
Profiling [candidate] (98.186 ms) : 0, 98186
Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.49.0-SNAPSHOT~7f96081b09, baseline=1.50.0-SNAPSHOT~c94e3ce8db
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.034 s) : 0, 1034058
Total [baseline] (8.698 s) : 0, 8697600
Agent [candidate] (1.012 s) : 0, 1012223
Total [candidate] (8.658 s) : 0, 8657852
section iast
Agent [baseline] (1.149 s) : 0, 1149153
Total [baseline] (9.233 s) : 0, 9233297
Agent [candidate] (1.137 s) : 0, 1137038
Total [candidate] (9.19 s) : 0, 9190335
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.152 s) : 0, 1152330
Total [baseline] (9.208 s) : 0, 9208212
Agent [candidate] (1.138 s) : 0, 1137966
Total [candidate] (9.173 s) : 0, 9173154
section iast_TELEMETRY_OFF
Agent [baseline] (1.153 s) : 0, 1153273
Total [baseline] (9.219 s) : 0, 9219435
Agent [candidate] (1.131 s) : 0, 1131196
Total [candidate] (9.182 s) : 0, 9181601
gantt
title insecure-bank - break down per module: candidate=1.49.0-SNAPSHOT~7f96081b09, baseline=1.50.0-SNAPSHOT~c94e3ce8db
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (691.261 ms) : 0, 691261
BytebuddyAgent [candidate] (674.691 ms) : 0, 674691
GlobalTracer [baseline] (243.667 ms) : 0, 243667
GlobalTracer [candidate] (240.884 ms) : 0, 240884
AppSec [baseline] (56.264 ms) : 0, 56264
AppSec [candidate] (54.831 ms) : 0, 54831
Debugger [baseline] (9.326 ms) : 0, 9326
Debugger [candidate] (6.15 ms) : 0, 6150
Remote Config [baseline] (700.76 µs) : 0, 701
Remote Config [candidate] (719.868 µs) : 0, 720
Telemetry [baseline] (9.163 ms) : 0, 9163
Telemetry [candidate] (11.425 ms) : 0, 11425
section iast
BytebuddyAgent [baseline] (801.888 ms) : 0, 801888
BytebuddyAgent [candidate] (789.346 ms) : 0, 789346
GlobalTracer [baseline] (230.793 ms) : 0, 230793
GlobalTracer [candidate] (230.186 ms) : 0, 230186
IAST [baseline] (27.501 ms) : 0, 27501
IAST [candidate] (22.935 ms) : 0, 22935
AppSec [baseline] (51.234 ms) : 0, 51234
AppSec [candidate] (56.77 ms) : 0, 56770
Debugger [baseline] (5.898 ms) : 0, 5898
Debugger [candidate] (5.971 ms) : 0, 5971
Remote Config [baseline] (595.729 µs) : 0, 596
Remote Config [candidate] (598.42 µs) : 0, 598
Telemetry [baseline] (7.822 ms) : 0, 7822
Telemetry [candidate] (7.926 ms) : 0, 7926
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (805.466 ms) : 0, 805466
BytebuddyAgent [candidate] (790.865 ms) : 0, 790865
GlobalTracer [baseline] (230.274 ms) : 0, 230274
GlobalTracer [candidate] (229.998 ms) : 0, 229998
IAST [baseline] (30.685 ms) : 0, 30685
IAST [candidate] (22.879 ms) : 0, 22879
AppSec [baseline] (47.866 ms) : 0, 47866
AppSec [candidate] (56.348 ms) : 0, 56348
Debugger [baseline] (5.928 ms) : 0, 5928
Debugger [candidate] (5.908 ms) : 0, 5908
Remote Config [baseline] (603.68 µs) : 0, 604
Remote Config [candidate] (585.518 µs) : 0, 586
Telemetry [baseline] (7.887 ms) : 0, 7887
Telemetry [candidate] (7.968 ms) : 0, 7968
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (804.129 ms) : 0, 804129
BytebuddyAgent [candidate] (785.644 ms) : 0, 785644
GlobalTracer [baseline] (231.839 ms) : 0, 231839
GlobalTracer [candidate] (229.421 ms) : 0, 229421
IAST [baseline] (22.553 ms) : 0, 22553
IAST [candidate] (22.279 ms) : 0, 22279
AppSec [baseline] (56.604 ms) : 0, 56604
AppSec [candidate] (56.268 ms) : 0, 56268
Debugger [baseline] (6.024 ms) : 0, 6024
Debugger [candidate] (5.93 ms) : 0, 5930
Remote Config [baseline] (612.239 µs) : 0, 612
Remote Config [candidate] (592.637 µs) : 0, 593
Telemetry [baseline] (7.855 ms) : 0, 7855
Telemetry [candidate] (7.715 ms) : 0, 7715
LoadParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 12 metrics, 18 unstable metrics. Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.49.0-SNAPSHOT~7f96081b09, baseline=1.50.0-SNAPSHOT~c94e3ce8db
dateFormat X
axisFormat %s
section baseline
no_agent (1.366 ms) : 1346, 1386
. : milestone, 1366,
appsec (1.742 ms) : 1719, 1766
. : milestone, 1742,
appsec_no_iast (1.733 ms) : 1710, 1757
. : milestone, 1733,
code_origins (1.67 ms) : 1643, 1697
. : milestone, 1670,
iast (1.526 ms) : 1502, 1551
. : milestone, 1526,
profiling (1.534 ms) : 1511, 1557
. : milestone, 1534,
tracing (1.511 ms) : 1486, 1536
. : milestone, 1511,
section candidate
no_agent (1.374 ms) : 1355, 1394
. : milestone, 1374,
appsec (1.753 ms) : 1730, 1777
. : milestone, 1753,
appsec_no_iast (1.731 ms) : 1708, 1754
. : milestone, 1731,
code_origins (1.687 ms) : 1660, 1713
. : milestone, 1687,
iast (1.523 ms) : 1498, 1547
. : milestone, 1523,
profiling (1.515 ms) : 1490, 1539
. : milestone, 1515,
tracing (1.497 ms) : 1472, 1522
. : milestone, 1497,
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.49.0-SNAPSHOT~7f96081b09, baseline=1.50.0-SNAPSHOT~c94e3ce8db
dateFormat X
axisFormat %s
section baseline
no_agent (392.904 µs) : 373, 413
. : milestone, 393,
iast (523.966 µs) : 502, 546
. : milestone, 524,
iast_FULL (752.628 µs) : 731, 775
. : milestone, 753,
iast_GLOBAL (582.048 µs) : 560, 604
. : milestone, 582,
iast_HARDCODED_SECRET_DISABLED (542.913 µs) : 520, 566
. : milestone, 543,
iast_INACTIVE (479.06 µs) : 456, 502
. : milestone, 479,
iast_TELEMETRY_OFF (521.031 µs) : 498, 544
. : milestone, 521,
tracing (472.79 µs) : 451, 495
. : milestone, 473,
section candidate
no_agent (387.387 µs) : 368, 407
. : milestone, 387,
iast (524.262 µs) : 501, 548
. : milestone, 524,
iast_FULL (746.482 µs) : 723, 770
. : milestone, 746,
iast_GLOBAL (578.383 µs) : 555, 602
. : milestone, 578,
iast_HARDCODED_SECRET_DISABLED (529.36 µs) : 505, 554
. : milestone, 529,
iast_INACTIVE (476.835 µs) : 454, 500
. : milestone, 477,
iast_TELEMETRY_OFF (525.507 µs) : 503, 548
. : milestone, 526,
tracing (469.876 µs) : 448, 492
. : milestone, 470,
DacapoParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 12 metrics, 0 unstable metrics. Execution time for tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.49.0-SNAPSHOT~7f96081b09, baseline=1.50.0-SNAPSHOT~c94e3ce8db
dateFormat X
axisFormat %s
section baseline
no_agent (1.476 ms) : 1464, 1488
. : milestone, 1476,
appsec (2.409 ms) : 2360, 2458
. : milestone, 2409,
iast (2.184 ms) : 2121, 2246
. : milestone, 2184,
iast_GLOBAL (2.239 ms) : 2176, 2301
. : milestone, 2239,
profiling (2.045 ms) : 1994, 2095
. : milestone, 2045,
tracing (2.012 ms) : 1964, 2060
. : milestone, 2012,
section candidate
no_agent (1.474 ms) : 1463, 1486
. : milestone, 1474,
appsec (2.405 ms) : 2356, 2455
. : milestone, 2405,
iast (2.196 ms) : 2134, 2258
. : milestone, 2196,
iast_GLOBAL (2.238 ms) : 2175, 2300
. : milestone, 2238,
profiling (2.036 ms) : 1986, 2086
. : milestone, 2036,
tracing (2.022 ms) : 1974, 2070
. : milestone, 2022,
Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.49.0-SNAPSHOT~7f96081b09, baseline=1.50.0-SNAPSHOT~c94e3ce8db
dateFormat X
axisFormat %s
section baseline
no_agent (15.038 s) : 15038000, 15038000
. : milestone, 15038000,
appsec (15.171 s) : 15171000, 15171000
. : milestone, 15171000,
iast (18.756 s) : 18756000, 18756000
. : milestone, 18756000,
iast_GLOBAL (18.028 s) : 18028000, 18028000
. : milestone, 18028000,
profiling (15.483 s) : 15483000, 15483000
. : milestone, 15483000,
tracing (15.074 s) : 15074000, 15074000
. : milestone, 15074000,
section candidate
no_agent (14.972 s) : 14972000, 14972000
. : milestone, 14972000,
appsec (15.242 s) : 15242000, 15242000
. : milestone, 15242000,
iast (18.504 s) : 18504000, 18504000
. : milestone, 18504000,
iast_GLOBAL (18.243 s) : 18243000, 18243000
. : milestone, 18243000,
profiling (15.475 s) : 15475000, 15475000
. : milestone, 15475000,
tracing (15.22 s) : 15220000, 15220000
. : milestone, 15220000,
|
Datadog Summary✅ Code Quality ✅ Code Security ✅ Dependencies Was this helpful? Give us feedback! |
What Does This Do
This PR adds support for a new telemetry metric:
appsec.waf.input_truncated
. This is a count metric that tracks the number of times a WAF input was truncated, which may happen multiple times per request. The metric includes a truncation_reason tag, represented as a bitfield, with the following values:Motivation
RFC
Additional Notes
For every call to WAF, if truncation occurred during serialization, we should emit the metric. This will increment the count for each run where truncation was detected, and each metric will include the bitfield indicating the types of truncation that occurred.
This metric should also be triggered when ObjectInstrospector truncates the object send to the WAF. This corner case affects parsed request body and grpc. This should be fixed after #8748
Contributor Checklist
type:
and (comp:
orinst:
) labels in addition to any usefull labelsclose
,fix
or any linking keywords when referencing an issue.Use
solves
instead, and assign the PR milestone to the issueJira ticket: APPSEC-56479