Preserve original types before passing data to the WAF#7220
Merged
Conversation
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 53 metrics, 10 unstable metrics. Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.36.0-SNAPSHOT~ca5aa26267, baseline=1.36.0-SNAPSHOT~01fd984c16
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.059 s) : 0, 1059485
Total [baseline] (10.427 s) : 0, 10426566
Agent [candidate] (1.06 s) : 0, 1060327
Total [candidate] (10.329 s) : 0, 10329011
section appsec
Agent [baseline] (1.184 s) : 0, 1184353
Total [baseline] (10.49 s) : 0, 10490431
Agent [candidate] (1.185 s) : 0, 1184627
Total [candidate] (10.448 s) : 0, 10448153
section iast
Agent [baseline] (1.169 s) : 0, 1169094
Total [baseline] (10.67 s) : 0, 10670286
Agent [candidate] (1.174 s) : 0, 1174457
Total [candidate] (10.68 s) : 0, 10679600
section profiling
Agent [baseline] (1.259 s) : 0, 1259367
Total [baseline] (10.588 s) : 0, 10588448
Agent [candidate] (1.261 s) : 0, 1260853
Total [candidate] (10.635 s) : 0, 10635176
gantt
title petclinic - break down per module: candidate=1.36.0-SNAPSHOT~ca5aa26267, baseline=1.36.0-SNAPSHOT~01fd984c16
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (664.004 ms) : 0, 664004
BytebuddyAgent [candidate] (664.366 ms) : 0, 664366
GlobalTracer [baseline] (303.011 ms) : 0, 303011
GlobalTracer [candidate] (303.521 ms) : 0, 303521
AppSec [baseline] (49.947 ms) : 0, 49947
AppSec [candidate] (49.898 ms) : 0, 49898
Remote Config [baseline] (680.774 µs) : 0, 681
Remote Config [candidate] (681.995 µs) : 0, 682
Telemetry [baseline] (7.548 ms) : 0, 7548
Telemetry [candidate] (7.494 ms) : 0, 7494
section appsec
BytebuddyAgent [baseline] (679.27 ms) : 0, 679270
BytebuddyAgent [candidate] (677.546 ms) : 0, 677546
GlobalTracer [baseline] (297.184 ms) : 0, 297184
GlobalTracer [candidate] (298.269 ms) : 0, 298269
AppSec [baseline] (154.098 ms) : 0, 154098
AppSec [candidate] (154.236 ms) : 0, 154236
Remote Config [baseline] (631.634 µs) : 0, 632
Remote Config [candidate] (640.692 µs) : 0, 641
Telemetry [baseline] (7.77 ms) : 0, 7770
Telemetry [candidate] (9.415 ms) : 0, 9415
IAST [baseline] (21.701 ms) : 0, 21701
IAST [candidate] (19.867 ms) : 0, 19867
section iast
BytebuddyAgent [baseline] (779.157 ms) : 0, 779157
BytebuddyAgent [candidate] (783.683 ms) : 0, 783683
GlobalTracer [baseline] (292.921 ms) : 0, 292921
GlobalTracer [candidate] (294.838 ms) : 0, 294838
AppSec [baseline] (47.131 ms) : 0, 47131
AppSec [candidate] (47.105 ms) : 0, 47105
Remote Config [baseline] (636.787 µs) : 0, 637
Remote Config [candidate] (638.233 µs) : 0, 638
Telemetry [baseline] (6.864 ms) : 0, 6864
Telemetry [candidate] (7.694 ms) : 0, 7694
IAST [baseline] (29.064 ms) : 0, 29064
IAST [candidate] (27.159 ms) : 0, 27159
section profiling
BytebuddyAgent [baseline] (661.714 ms) : 0, 661714
BytebuddyAgent [candidate] (662.285 ms) : 0, 662285
GlobalTracer [baseline] (385.273 ms) : 0, 385273
GlobalTracer [candidate] (385.319 ms) : 0, 385319
AppSec [baseline] (51.491 ms) : 0, 51491
AppSec [candidate] (51.458 ms) : 0, 51458
Remote Config [baseline] (730.856 µs) : 0, 731
Remote Config [candidate] (737.625 µs) : 0, 738
Telemetry [baseline] (7.36 ms) : 0, 7360
Telemetry [candidate] (7.376 ms) : 0, 7376
ProfilingAgent [baseline] (95.939 ms) : 0, 95939
ProfilingAgent [candidate] (96.623 ms) : 0, 96623
Profiling [baseline] (95.964 ms) : 0, 95964
Profiling [candidate] (96.648 ms) : 0, 96648
Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.36.0-SNAPSHOT~ca5aa26267, baseline=1.36.0-SNAPSHOT~01fd984c16
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.062 s) : 0, 1061589
Total [baseline] (8.594 s) : 0, 8594110
Agent [candidate] (1.059 s) : 0, 1059211
Total [candidate] (8.532 s) : 0, 8531923
section iast
Agent [baseline] (1.181 s) : 0, 1180853
Total [baseline] (9.024 s) : 0, 9024189
Agent [candidate] (1.168 s) : 0, 1167786
Total [candidate] (9.004 s) : 0, 9004110
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.166 s) : 0, 1165906
Total [baseline] (8.986 s) : 0, 8986161
Agent [candidate] (1.167 s) : 0, 1166872
Total [candidate] (8.996 s) : 0, 8995891
section iast_TELEMETRY_OFF
Agent [baseline] (1.17 s) : 0, 1170300
Total [baseline] (8.972 s) : 0, 8971954
Agent [candidate] (1.162 s) : 0, 1162455
Total [candidate] (8.985 s) : 0, 8984763
gantt
title insecure-bank - break down per module: candidate=1.36.0-SNAPSHOT~ca5aa26267, baseline=1.36.0-SNAPSHOT~01fd984c16
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (665.138 ms) : 0, 665138
BytebuddyAgent [candidate] (663.584 ms) : 0, 663584
GlobalTracer [baseline] (303.542 ms) : 0, 303542
GlobalTracer [candidate] (302.902 ms) : 0, 302902
AppSec [baseline] (50.219 ms) : 0, 50219
AppSec [candidate] (50.195 ms) : 0, 50195
Remote Config [baseline] (688.552 µs) : 0, 689
Remote Config [candidate] (677.789 µs) : 0, 678
Telemetry [baseline] (7.634 ms) : 0, 7634
Telemetry [candidate] (7.564 ms) : 0, 7564
section iast
BytebuddyAgent [baseline] (789.184 ms) : 0, 789184
BytebuddyAgent [candidate] (778.599 ms) : 0, 778599
GlobalTracer [baseline] (294.745 ms) : 0, 294745
GlobalTracer [candidate] (292.648 ms) : 0, 292648
AppSec [baseline] (47.107 ms) : 0, 47107
AppSec [candidate] (46.895 ms) : 0, 46895
IAST [baseline] (28.952 ms) : 0, 28952
IAST [candidate] (28.871 ms) : 0, 28871
Remote Config [baseline] (588.381 µs) : 0, 588
Remote Config [candidate] (593.129 µs) : 0, 593
Telemetry [baseline] (6.878 ms) : 0, 6878
Telemetry [candidate] (6.908 ms) : 0, 6908
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (777.067 ms) : 0, 777067
BytebuddyAgent [candidate] (777.235 ms) : 0, 777235
GlobalTracer [baseline] (292.955 ms) : 0, 292955
GlobalTracer [candidate] (292.787 ms) : 0, 292787
AppSec [baseline] (47.001 ms) : 0, 47001
AppSec [candidate] (46.99 ms) : 0, 46990
IAST [baseline] (27.367 ms) : 0, 27367
IAST [candidate] (29.056 ms) : 0, 29056
Remote Config [baseline] (597.928 µs) : 0, 598
Remote Config [candidate] (590.389 µs) : 0, 590
Telemetry [baseline] (7.644 ms) : 0, 7644
Telemetry [candidate] (6.906 ms) : 0, 6906
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (779.792 ms) : 0, 779792
BytebuddyAgent [candidate] (775.083 ms) : 0, 775083
GlobalTracer [baseline] (293.699 ms) : 0, 293699
GlobalTracer [candidate] (292.778 ms) : 0, 292778
AppSec [baseline] (47.201 ms) : 0, 47201
AppSec [candidate] (47.082 ms) : 0, 47082
IAST [baseline] (27.269 ms) : 0, 27269
IAST [candidate] (24.455 ms) : 0, 24455
Remote Config [baseline] (604.944 µs) : 0, 605
Remote Config [candidate] (594.49 µs) : 0, 594
Telemetry [baseline] (8.349 ms) : 0, 8349
Telemetry [candidate] (9.135 ms) : 0, 9135
LoadParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 12 metrics, 16 unstable metrics. Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.36.0-SNAPSHOT~ca5aa26267, baseline=1.36.0-SNAPSHOT~01fd984c16
dateFormat X
axisFormat %s
section baseline
no_agent (370.494 µs) : 351, 390
. : milestone, 370,
iast (492.333 µs) : 471, 514
. : milestone, 492,
iast_FULL (559.117 µs) : 538, 580
. : milestone, 559,
iast_GLOBAL (513.756 µs) : 492, 535
. : milestone, 514,
iast_HARDCODED_SECRET_DISABLED (492.216 µs) : 471, 514
. : milestone, 492,
iast_INACTIVE (457.235 µs) : 436, 478
. : milestone, 457,
iast_TELEMETRY_OFF (484.3 µs) : 462, 506
. : milestone, 484,
tracing (448.831 µs) : 427, 470
. : milestone, 449,
section candidate
no_agent (376.224 µs) : 356, 397
. : milestone, 376,
iast (486.442 µs) : 465, 508
. : milestone, 486,
iast_FULL (558.345 µs) : 537, 579
. : milestone, 558,
iast_GLOBAL (515.317 µs) : 494, 537
. : milestone, 515,
iast_HARDCODED_SECRET_DISABLED (487.378 µs) : 466, 509
. : milestone, 487,
iast_INACTIVE (459.401 µs) : 438, 480
. : milestone, 459,
iast_TELEMETRY_OFF (484.06 µs) : 462, 506
. : milestone, 484,
tracing (447.832 µs) : 427, 468
. : milestone, 448,
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.36.0-SNAPSHOT~ca5aa26267, baseline=1.36.0-SNAPSHOT~01fd984c16
dateFormat X
axisFormat %s
section baseline
no_agent (1.368 ms) : 1348, 1388
. : milestone, 1368,
appsec (1.743 ms) : 1719, 1767
. : milestone, 1743,
appsec_no_iast (1.733 ms) : 1707, 1758
. : milestone, 1733,
iast (1.481 ms) : 1458, 1505
. : milestone, 1481,
profiling (1.51 ms) : 1485, 1535
. : milestone, 1510,
tracing (1.499 ms) : 1475, 1523
. : milestone, 1499,
section candidate
no_agent (1.37 ms) : 1351, 1390
. : milestone, 1370,
appsec (1.72 ms) : 1695, 1744
. : milestone, 1720,
appsec_no_iast (1.749 ms) : 1725, 1773
. : milestone, 1749,
iast (1.482 ms) : 1460, 1505
. : milestone, 1482,
profiling (1.561 ms) : 1536, 1585
. : milestone, 1561,
tracing (1.485 ms) : 1461, 1508
. : milestone, 1485,
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.36.0-SNAPSHOT~ca5aa26267, baseline=1.36.0-SNAPSHOT~01fd984c16
dateFormat X
axisFormat %s
section baseline
no_agent (1.459 ms) : 1447, 1470
. : milestone, 1459,
appsec (2.195 ms) : 2161, 2229
. : milestone, 2195,
iast (1.956 ms) : 1915, 1997
. : milestone, 1956,
iast_GLOBAL (1.998 ms) : 1957, 2039
. : milestone, 1998,
profiling (1.853 ms) : 1819, 1886
. : milestone, 1853,
tracing (1.823 ms) : 1791, 1855
. : milestone, 1823,
section candidate
no_agent (1.46 ms) : 1448, 1471
. : milestone, 1460,
appsec (2.194 ms) : 2160, 2228
. : milestone, 2194,
iast (1.963 ms) : 1922, 2004
. : milestone, 1963,
iast_GLOBAL (1.994 ms) : 1954, 2035
. : milestone, 1994,
profiling (1.843 ms) : 1810, 1876
. : milestone, 1843,
tracing (1.814 ms) : 1783, 1846
. : milestone, 1814,
Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.36.0-SNAPSHOT~ca5aa26267, baseline=1.36.0-SNAPSHOT~01fd984c16
dateFormat X
axisFormat %s
section baseline
no_agent (14.985 s) : 14985000, 14985000
. : milestone, 14985000,
appsec (15.206 s) : 15206000, 15206000
. : milestone, 15206000,
iast (18.755 s) : 18755000, 18755000
. : milestone, 18755000,
iast_GLOBAL (17.831 s) : 17831000, 17831000
. : milestone, 17831000,
profiling (15.465 s) : 15465000, 15465000
. : milestone, 15465000,
tracing (15.114 s) : 15114000, 15114000
. : milestone, 15114000,
section candidate
no_agent (15.039 s) : 15039000, 15039000
. : milestone, 15039000,
appsec (14.81 s) : 14810000, 14810000
. : milestone, 14810000,
iast (18.872 s) : 18872000, 18872000
. : milestone, 18872000,
iast_GLOBAL (17.837 s) : 17837000, 17837000
. : milestone, 17837000,
profiling (15.133 s) : 15133000, 15133000
. : milestone, 15133000,
tracing (15.04 s) : 15040000, 15040000
. : milestone, 15040000,
|
smola
force-pushed
the
smola/waf-serialization-improvements
branch
from
June 19, 2024 16:01
2594133 to
90db8f6
Compare
smola
marked this pull request as ready for review
June 19, 2024 16:09
smola
force-pushed
the
smola/waf-serialization-improvements
branch
from
June 20, 2024 09:00
90db8f6 to
80780dc
Compare
manuel-alvarez-alvarez
approved these changes
Jun 20, 2024
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What Does This Do
invalid_key:$istringmemoizedHashCodeandmemoizedSizein protobuf.Motivation
Originally motivated by spurious matches of internal protobuf fields, then also realized there are several cases where we are doing unnecessary work. This turns out to be the first of a possible series of performance optimizations.
Additional Notes
Jira ticket: APPSEC-53469
Future work:
MyClass@1234). Fall back should to be an invalid object, which is a well defined type in the WAF. We'll need to change libddwaf-java a bit to expose the invalid object type.