-
Notifications
You must be signed in to change notification settings - Fork 292
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
Increase IAST propagation to StringBuilder append #8010
Open
Mariovido
wants to merge
1
commit into
master
Choose a base branch
from
mario.vidal/taint_tracking_string_builder_append
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains 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
…rinbBuilder.append with buffer
Mariovido
added
type: enhancement
comp: asm iast
Application Security Management (IAST)
inst: java
Core Java language instrumentation
labels
Nov 25, 2024
smola
changed the title
Increase propagation to StringBuilder append
Increase IAST propagation to StringBuilder append
Nov 25, 2024
BenchmarksStartupParameters
See matching parameters
SummaryFound 1 performance improvements and 0 performance regressions! Performance is the same for 52 metrics, 10 unstable metrics.
Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.43.0-SNAPSHOT~ad752ecd40, baseline=1.43.0-SNAPSHOT~b0553764bc
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.094 s) : 0, 1093910
Total [baseline] (10.449 s) : 0, 10448675
Agent [candidate] (1.097 s) : 0, 1097248
Total [candidate] (10.471 s) : 0, 10471290
section appsec
Agent [baseline] (1.224 s) : 0, 1224166
Total [baseline] (10.71 s) : 0, 10709506
Agent [candidate] (1.227 s) : 0, 1227445
Total [candidate] (10.764 s) : 0, 10763550
section iast
Agent [baseline] (1.22 s) : 0, 1220441
Total [baseline] (11.046 s) : 0, 11045573
Agent [candidate] (1.218 s) : 0, 1217882
Total [candidate] (10.923 s) : 0, 10922997
section profiling
Agent [baseline] (1.319 s) : 0, 1318550
Total [baseline] (10.857 s) : 0, 10856751
Agent [candidate] (1.289 s) : 0, 1288851
Total [candidate] (10.782 s) : 0, 10782351
gantt
title petclinic - break down per module: candidate=1.43.0-SNAPSHOT~ad752ecd40, baseline=1.43.0-SNAPSHOT~b0553764bc
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (693.42 ms) : 0, 693420
BytebuddyAgent [candidate] (697.798 ms) : 0, 697798
GlobalTracer [baseline] (319.545 ms) : 0, 319545
GlobalTracer [candidate] (319.812 ms) : 0, 319812
AppSec [baseline] (55.094 ms) : 0, 55094
AppSec [candidate] (54.954 ms) : 0, 54954
Remote Config [baseline] (688.852 µs) : 0, 689
Remote Config [candidate] (687.165 µs) : 0, 687
Telemetry [baseline] (11.387 ms) : 0, 11387
Telemetry [candidate] (10.132 ms) : 0, 10132
section appsec
BytebuddyAgent [baseline] (710.277 ms) : 0, 710277
BytebuddyAgent [candidate] (710.615 ms) : 0, 710615
GlobalTracer [baseline] (314.882 ms) : 0, 314882
GlobalTracer [candidate] (316.584 ms) : 0, 316584
AppSec [baseline] (166.15 ms) : 0, 166150
AppSec [candidate] (166.966 ms) : 0, 166966
Remote Config [baseline] (642.576 µs) : 0, 643
Remote Config [candidate] (640.073 µs) : 0, 640
Telemetry [baseline] (8.26 ms) : 0, 8260
Telemetry [candidate] (8.906 ms) : 0, 8906
IAST [baseline] (20.524 ms) : 0, 20524
IAST [candidate] (19.969 ms) : 0, 19969
section iast
BytebuddyAgent [baseline] (812.299 ms) : 0, 812299
BytebuddyAgent [candidate] (810.363 ms) : 0, 810363
GlobalTracer [baseline] (307.278 ms) : 0, 307278
GlobalTracer [candidate] (306.863 ms) : 0, 306863
AppSec [baseline] (58.328 ms) : 0, 58328
AppSec [candidate] (57.452 ms) : 0, 57452
Remote Config [baseline] (615.859 µs) : 0, 616
Remote Config [candidate] (597.52 µs) : 0, 598
Telemetry [baseline] (7.454 ms) : 0, 7454
Telemetry [candidate] (7.389 ms) : 0, 7389
IAST [baseline] (20.732 ms) : 0, 20732
IAST [candidate] (21.435 ms) : 0, 21435
section profiling
BytebuddyAgent [baseline] (687.356 ms) : 0, 687356
BytebuddyAgent [candidate] (687.481 ms) : 0, 687481
GlobalTracer [baseline] (436.226 ms) : 0, 436226
GlobalTracer [candidate] (401.521 ms) : 0, 401521
AppSec [baseline] (53.933 ms) : 0, 53933
AppSec [candidate] (55.369 ms) : 0, 55369
Remote Config [baseline] (676.542 µs) : 0, 677
Remote Config [candidate] (681.151 µs) : 0, 681
Telemetry [baseline] (7.789 ms) : 0, 7789
Telemetry [candidate] (10.718 ms) : 0, 10718
ProfilingAgent [baseline] (93.44 ms) : 0, 93440
ProfilingAgent [candidate] (93.899 ms) : 0, 93899
Profiling [baseline] (93.463 ms) : 0, 93463
Profiling [candidate] (93.922 ms) : 0, 93922
Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.43.0-SNAPSHOT~ad752ecd40, baseline=1.43.0-SNAPSHOT~b0553764bc
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.092 s) : 0, 1092217
Total [baseline] (8.669 s) : 0, 8668589
Agent [candidate] (1.091 s) : 0, 1090973
Total [candidate] (8.646 s) : 0, 8646030
section iast
Agent [baseline] (1.226 s) : 0, 1225711
Total [baseline] (9.189 s) : 0, 9189162
Agent [candidate] (1.217 s) : 0, 1217167
Total [candidate] (9.216 s) : 0, 9216080
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.22 s) : 0, 1219532
Total [baseline] (9.201 s) : 0, 9200990
Agent [candidate] (1.217 s) : 0, 1216777
Total [candidate] (9.156 s) : 0, 9156320
section iast_TELEMETRY_OFF
Agent [baseline] (1.213 s) : 0, 1213057
Total [baseline] (9.179 s) : 0, 9179480
Agent [candidate] (1.228 s) : 0, 1227610
Total [candidate] (9.224 s) : 0, 9224181
gantt
title insecure-bank - break down per module: candidate=1.43.0-SNAPSHOT~ad752ecd40, baseline=1.43.0-SNAPSHOT~b0553764bc
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (694.131 ms) : 0, 694131
BytebuddyAgent [candidate] (693.763 ms) : 0, 693763
GlobalTracer [baseline] (318.191 ms) : 0, 318191
GlobalTracer [candidate] (318.035 ms) : 0, 318035
AppSec [baseline] (54.753 ms) : 0, 54753
AppSec [candidate] (54.678 ms) : 0, 54678
Remote Config [baseline] (688.05 µs) : 0, 688
Remote Config [candidate] (680.487 µs) : 0, 680
Telemetry [baseline] (10.714 ms) : 0, 10714
Telemetry [candidate] (10.099 ms) : 0, 10099
section iast
BytebuddyAgent [baseline] (816.292 ms) : 0, 816292
BytebuddyAgent [candidate] (809.293 ms) : 0, 809293
GlobalTracer [baseline] (308.541 ms) : 0, 308541
GlobalTracer [candidate] (306.319 ms) : 0, 306319
AppSec [baseline] (58.17 ms) : 0, 58170
AppSec [candidate] (58.532 ms) : 0, 58532
Remote Config [baseline] (628.76 µs) : 0, 629
Remote Config [candidate] (633.499 µs) : 0, 633
Telemetry [baseline] (7.514 ms) : 0, 7514
Telemetry [candidate] (7.622 ms) : 0, 7622
IAST [baseline] (20.724 ms) : 0, 20724
IAST [candidate] (21.064 ms) : 0, 21064
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (811.586 ms) : 0, 811586
BytebuddyAgent [candidate] (809.023 ms) : 0, 809023
GlobalTracer [baseline] (307.251 ms) : 0, 307251
GlobalTracer [candidate] (307.472 ms) : 0, 307472
AppSec [baseline] (57.029 ms) : 0, 57029
AppSec [candidate] (57.648 ms) : 0, 57648
Remote Config [baseline] (623.139 µs) : 0, 623
Remote Config [candidate] (622.803 µs) : 0, 623
Telemetry [baseline] (7.487 ms) : 0, 7487
Telemetry [candidate] (7.529 ms) : 0, 7529
IAST [baseline] (21.796 ms) : 0, 21796
IAST [candidate] (20.759 ms) : 0, 20759
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (805.921 ms) : 0, 805921
BytebuddyAgent [candidate] (816.927 ms) : 0, 816927
GlobalTracer [baseline] (306.606 ms) : 0, 306606
GlobalTracer [candidate] (309.537 ms) : 0, 309537
AppSec [baseline] (58.346 ms) : 0, 58346
AppSec [candidate] (57.028 ms) : 0, 57028
Remote Config [baseline] (642.784 µs) : 0, 643
Remote Config [candidate] (613.958 µs) : 0, 614
Telemetry [baseline] (7.423 ms) : 0, 7423
Telemetry [candidate] (7.371 ms) : 0, 7371
IAST [baseline] (20.462 ms) : 0, 20462
IAST [candidate] (22.221 ms) : 0, 22221
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 petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.43.0-SNAPSHOT~ad752ecd40, baseline=1.43.0-SNAPSHOT~b0553764bc
dateFormat X
axisFormat %s
section baseline
no_agent (1.379 ms) : 1360, 1399
. : milestone, 1379,
appsec (1.746 ms) : 1721, 1771
. : milestone, 1746,
appsec_no_iast (1.743 ms) : 1718, 1769
. : milestone, 1743,
iast (1.496 ms) : 1473, 1519
. : milestone, 1496,
profiling (1.529 ms) : 1505, 1552
. : milestone, 1529,
tracing (1.48 ms) : 1455, 1504
. : milestone, 1480,
section candidate
no_agent (1.365 ms) : 1345, 1385
. : milestone, 1365,
appsec (1.779 ms) : 1754, 1803
. : milestone, 1779,
appsec_no_iast (1.739 ms) : 1713, 1764
. : milestone, 1739,
iast (1.51 ms) : 1488, 1532
. : milestone, 1510,
profiling (1.551 ms) : 1526, 1576
. : milestone, 1551,
tracing (1.498 ms) : 1473, 1523
. : milestone, 1498,
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.43.0-SNAPSHOT~ad752ecd40, baseline=1.43.0-SNAPSHOT~b0553764bc
dateFormat X
axisFormat %s
section baseline
no_agent (390.838 µs) : 371, 411
. : milestone, 391,
iast (490.737 µs) : 469, 512
. : milestone, 491,
iast_FULL (657.11 µs) : 636, 679
. : milestone, 657,
iast_GLOBAL (522.066 µs) : 501, 543
. : milestone, 522,
iast_HARDCODED_SECRET_DISABLED (493.388 µs) : 472, 515
. : milestone, 493,
iast_INACTIVE (456.39 µs) : 435, 478
. : milestone, 456,
iast_TELEMETRY_OFF (488.829 µs) : 467, 511
. : milestone, 489,
tracing (455.251 µs) : 434, 476
. : milestone, 455,
section candidate
no_agent (375.495 µs) : 355, 396
. : milestone, 375,
iast (497.435 µs) : 476, 519
. : milestone, 497,
iast_FULL (657.326 µs) : 636, 679
. : milestone, 657,
iast_GLOBAL (532.82 µs) : 510, 555
. : milestone, 533,
iast_HARDCODED_SECRET_DISABLED (493.092 µs) : 472, 514
. : milestone, 493,
iast_INACTIVE (454.109 µs) : 433, 475
. : milestone, 454,
iast_TELEMETRY_OFF (484.866 µs) : 464, 506
. : milestone, 485,
tracing (456.724 µs) : 436, 478
. : milestone, 457,
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 biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.43.0-SNAPSHOT~ad752ecd40, baseline=1.43.0-SNAPSHOT~b0553764bc
dateFormat X
axisFormat %s
section baseline
no_agent (15.314 s) : 15314000, 15314000
. : milestone, 15314000,
appsec (14.927 s) : 14927000, 14927000
. : milestone, 14927000,
iast (18.762 s) : 18762000, 18762000
. : milestone, 18762000,
iast_GLOBAL (18.055 s) : 18055000, 18055000
. : milestone, 18055000,
profiling (15.06 s) : 15060000, 15060000
. : milestone, 15060000,
tracing (14.946 s) : 14946000, 14946000
. : milestone, 14946000,
section candidate
no_agent (15.436 s) : 15436000, 15436000
. : milestone, 15436000,
appsec (14.835 s) : 14835000, 14835000
. : milestone, 14835000,
iast (18.801 s) : 18801000, 18801000
. : milestone, 18801000,
iast_GLOBAL (18.334 s) : 18334000, 18334000
. : milestone, 18334000,
profiling (15.579 s) : 15579000, 15579000
. : milestone, 15579000,
tracing (15.205 s) : 15205000, 15205000
. : milestone, 15205000,
Execution time for tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.43.0-SNAPSHOT~ad752ecd40, baseline=1.43.0-SNAPSHOT~b0553764bc
dateFormat X
axisFormat %s
section baseline
no_agent (1.475 ms) : 1463, 1486
. : milestone, 1475,
appsec (2.354 ms) : 2312, 2395
. : milestone, 2354,
iast (2.095 ms) : 2042, 2148
. : milestone, 2095,
iast_GLOBAL (2.146 ms) : 2094, 2199
. : milestone, 2146,
profiling (1.961 ms) : 1919, 2003
. : milestone, 1961,
tracing (1.931 ms) : 1891, 1972
. : milestone, 1931,
section candidate
no_agent (1.472 ms) : 1461, 1484
. : milestone, 1472,
appsec (2.349 ms) : 2308, 2390
. : milestone, 2349,
iast (2.091 ms) : 2039, 2144
. : milestone, 2091,
iast_GLOBAL (2.137 ms) : 2084, 2189
. : milestone, 2137,
profiling (1.949 ms) : 1907, 1991
. : milestone, 1949,
tracing (1.928 ms) : 1888, 1968
. : milestone, 1928,
|
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
This adds the instrumentation to propagate the taint values through the following methods of
StringBuilder
:append(CharSequence, int, int)
append(StringBuffer)
Motivation
Increase propagation of
StringBuilder
methods.Additional Notes
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-55358