-
Notifications
You must be signed in to change notification settings - Fork 312
Add support for API Security Custom Data Classification #9710
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
base: master
Are you sure you want to change the base?
Add support for API Security Custom Data Classification #9710
Conversation
🎯 Code Coverage 🔗 Commit SHA: e9130db | Docs | Was this helpful? Give us feedback! |
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 60 metrics, 5 unstable metrics. Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.55.0-SNAPSHOT~e9130db8b9, baseline=1.55.0-SNAPSHOT~24adc9a61e
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.021 s) : 0, 1021059
Total [baseline] (10.751 s) : 0, 10750922
Agent [candidate] (1.017 s) : 0, 1016946
Total [candidate] (10.821 s) : 0, 10820753
section appsec
Agent [baseline] (1.204 s) : 0, 1204105
Total [baseline] (11.069 s) : 0, 11069362
Agent [candidate] (1.207 s) : 0, 1207372
Total [candidate] (11.188 s) : 0, 11187887
section iast
Agent [baseline] (1.161 s) : 0, 1161048
Total [baseline] (10.984 s) : 0, 10983681
Agent [candidate] (1.151 s) : 0, 1150522
Total [candidate] (10.955 s) : 0, 10955322
section profiling
Agent [baseline] (1.161 s) : 0, 1160718
Total [baseline] (11.045 s) : 0, 11044625
Agent [candidate] (1.167 s) : 0, 1166722
Total [candidate] (11.018 s) : 0, 11018326
gantt
title petclinic - break down per module: candidate=1.55.0-SNAPSHOT~e9130db8b9, baseline=1.55.0-SNAPSHOT~24adc9a61e
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.467 ms) : 0, 1467
crashtracking [candidate] (1.467 ms) : 0, 1467
BytebuddyAgent [baseline] (693.913 ms) : 0, 693913
BytebuddyAgent [candidate] (693.105 ms) : 0, 693105
GlobalTracer [baseline] (243.525 ms) : 0, 243525
GlobalTracer [candidate] (241.934 ms) : 0, 241934
AppSec [baseline] (32.679 ms) : 0, 32679
AppSec [candidate] (32.479 ms) : 0, 32479
Debugger [baseline] (6.455 ms) : 0, 6455
Debugger [candidate] (6.441 ms) : 0, 6441
Remote Config [baseline] (709.608 µs) : 0, 710
Remote Config [candidate] (705.907 µs) : 0, 706
Telemetry [baseline] (9.331 ms) : 0, 9331
Telemetry [candidate] (9.336 ms) : 0, 9336
Flare Poller [baseline] (11.723 ms) : 0, 11723
Flare Poller [candidate] (10.231 ms) : 0, 10231
section appsec
crashtracking [baseline] (1.486 ms) : 0, 1486
crashtracking [candidate] (1.48 ms) : 0, 1480
BytebuddyAgent [baseline] (724.566 ms) : 0, 724566
BytebuddyAgent [candidate] (727.043 ms) : 0, 727043
GlobalTracer [baseline] (235.603 ms) : 0, 235603
GlobalTracer [candidate] (237.429 ms) : 0, 237429
AppSec [baseline] (176.753 ms) : 0, 176753
AppSec [candidate] (175.856 ms) : 0, 175856
Debugger [baseline] (6.184 ms) : 0, 6184
Debugger [candidate] (6.095 ms) : 0, 6095
Remote Config [baseline] (631.116 µs) : 0, 631
Remote Config [candidate] (629.369 µs) : 0, 629
Telemetry [baseline] (8.51 ms) : 0, 8510
Telemetry [candidate] (8.391 ms) : 0, 8391
Flare Poller [baseline] (3.993 ms) : 0, 3993
Flare Poller [candidate] (3.992 ms) : 0, 3992
IAST [baseline] (25.031 ms) : 0, 25031
IAST [candidate] (25.099 ms) : 0, 25099
section iast
crashtracking [baseline] (1.479 ms) : 0, 1479
crashtracking [candidate] (1.459 ms) : 0, 1459
BytebuddyAgent [baseline] (823.024 ms) : 0, 823024
BytebuddyAgent [candidate] (814.618 ms) : 0, 814618
GlobalTracer [baseline] (233.486 ms) : 0, 233486
GlobalTracer [candidate] (231.746 ms) : 0, 231746
AppSec [baseline] (35.273 ms) : 0, 35273
AppSec [candidate] (35.2 ms) : 0, 35200
Debugger [baseline] (6.17 ms) : 0, 6170
Debugger [candidate] (6.126 ms) : 0, 6126
Remote Config [baseline] (610.725 µs) : 0, 611
Remote Config [candidate] (635.493 µs) : 0, 635
Telemetry [baseline] (8.612 ms) : 0, 8612
Telemetry [candidate] (8.54 ms) : 0, 8540
Flare Poller [baseline] (4.258 ms) : 0, 4258
Flare Poller [candidate] (4.308 ms) : 0, 4308
IAST [baseline] (26.668 ms) : 0, 26668
IAST [candidate] (26.475 ms) : 0, 26475
section profiling
ProfilingAgent [baseline] (106.571 ms) : 0, 106571
ProfilingAgent [candidate] (106.679 ms) : 0, 106679
crashtracking [baseline] (1.428 ms) : 0, 1428
crashtracking [candidate] (1.456 ms) : 0, 1456
BytebuddyAgent [baseline] (721.321 ms) : 0, 721321
BytebuddyAgent [candidate] (725.448 ms) : 0, 725448
GlobalTracer [baseline] (217.18 ms) : 0, 217180
GlobalTracer [candidate] (218.484 ms) : 0, 218484
AppSec [baseline] (32.663 ms) : 0, 32663
AppSec [candidate] (32.968 ms) : 0, 32968
Debugger [baseline] (6.442 ms) : 0, 6442
Debugger [candidate] (8.061 ms) : 0, 8061
Remote Config [baseline] (704.829 µs) : 0, 705
Remote Config [candidate] (705.927 µs) : 0, 706
Telemetry [baseline] (16.864 ms) : 0, 16864
Telemetry [candidate] (15.019 ms) : 0, 15019
Flare Poller [baseline] (4.216 ms) : 0, 4216
Flare Poller [candidate] (4.204 ms) : 0, 4204
Profiling [baseline] (107.934 ms) : 0, 107934
Profiling [candidate] (108.158 ms) : 0, 108158
Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.55.0-SNAPSHOT~e9130db8b9, baseline=1.55.0-SNAPSHOT~24adc9a61e
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.017 s) : 0, 1017323
Total [baseline] (8.736 s) : 0, 8735941
Agent [candidate] (1.02 s) : 0, 1019776
Total [candidate] (8.669 s) : 0, 8669266
section iast
Agent [baseline] (1.15 s) : 0, 1150064
Total [baseline] (9.304 s) : 0, 9303887
Agent [candidate] (1.151 s) : 0, 1150997
Total [candidate] (9.344 s) : 0, 9344155
gantt
title insecure-bank - break down per module: candidate=1.55.0-SNAPSHOT~e9130db8b9, baseline=1.55.0-SNAPSHOT~24adc9a61e
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.47 ms) : 0, 1470
crashtracking [candidate] (1.478 ms) : 0, 1478
BytebuddyAgent [baseline] (693.896 ms) : 0, 693896
BytebuddyAgent [candidate] (696.283 ms) : 0, 696283
GlobalTracer [baseline] (242.108 ms) : 0, 242108
GlobalTracer [candidate] (241.657 ms) : 0, 241657
AppSec [baseline] (32.492 ms) : 0, 32492
AppSec [candidate] (32.158 ms) : 0, 32158
Debugger [baseline] (6.389 ms) : 0, 6389
Debugger [candidate] (6.376 ms) : 0, 6376
Remote Config [baseline] (723.379 µs) : 0, 723
Remote Config [candidate] (698.194 µs) : 0, 698
Telemetry [baseline] (9.395 ms) : 0, 9395
Telemetry [candidate] (9.331 ms) : 0, 9331
Flare Poller [baseline] (9.582 ms) : 0, 9582
Flare Poller [candidate] (10.622 ms) : 0, 10622
section iast
crashtracking [baseline] (1.464 ms) : 0, 1464
crashtracking [candidate] (1.474 ms) : 0, 1474
BytebuddyAgent [baseline] (814.277 ms) : 0, 814277
BytebuddyAgent [candidate] (815.548 ms) : 0, 815548
GlobalTracer [baseline] (231.999 ms) : 0, 231999
GlobalTracer [candidate] (231.694 ms) : 0, 231694
AppSec [baseline] (35.075 ms) : 0, 35075
AppSec [candidate] (34.956 ms) : 0, 34956
Debugger [baseline] (6.082 ms) : 0, 6082
Debugger [candidate] (6.145 ms) : 0, 6145
Remote Config [baseline] (607.13 µs) : 0, 607
Remote Config [candidate] (609.975 µs) : 0, 610
Telemetry [baseline] (8.559 ms) : 0, 8559
Telemetry [candidate] (8.621 ms) : 0, 8621
Flare Poller [baseline] (4.275 ms) : 0, 4275
Flare Poller [candidate] (4.243 ms) : 0, 4243
IAST [baseline] (26.478 ms) : 0, 26478
IAST [candidate] (26.329 ms) : 0, 26329
LoadParameters
See matching parameters
SummaryFound 4 performance improvements and 3 performance regressions! Performance is the same for 5 metrics, 12 unstable metrics.
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.55.0-SNAPSHOT~e9130db8b9, baseline=1.55.0-SNAPSHOT~24adc9a61e
dateFormat X
axisFormat %s
section baseline
no_agent (4.266 ms) : 4209, 4323
. : milestone, 4266,
iast (9.459 ms) : 9295, 9623
. : milestone, 9459,
iast_FULL (14.119 ms) : 13832, 14406
. : milestone, 14119,
iast_GLOBAL (10.318 ms) : 10127, 10508
. : milestone, 10318,
profiling (9.171 ms) : 9003, 9340
. : milestone, 9171,
tracing (7.723 ms) : 7609, 7836
. : milestone, 7723,
section candidate
no_agent (4.347 ms) : 4297, 4397
. : milestone, 4347,
iast (10.002 ms) : 9836, 10168
. : milestone, 10002,
iast_FULL (14.195 ms) : 13917, 14473
. : milestone, 14195,
iast_GLOBAL (10.462 ms) : 10275, 10650
. : milestone, 10462,
profiling (9.287 ms) : 9134, 9441
. : milestone, 9287,
tracing (7.444 ms) : 7338, 7549
. : milestone, 7444,
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.55.0-SNAPSHOT~e9130db8b9, baseline=1.55.0-SNAPSHOT~24adc9a61e
dateFormat X
axisFormat %s
section baseline
no_agent (38.161 ms) : 37853, 38469
. : milestone, 38161,
appsec (51.767 ms) : 51280, 52254
. : milestone, 51767,
code_origins (43.427 ms) : 43044, 43810
. : milestone, 43427,
iast (45.609 ms) : 45238, 45981
. : milestone, 45609,
profiling (51.337 ms) : 50827, 51846
. : milestone, 51337,
tracing (44.294 ms) : 43913, 44675
. : milestone, 44294,
section candidate
no_agent (36.122 ms) : 35823, 36421
. : milestone, 36122,
appsec (48.046 ms) : 47619, 48472
. : milestone, 48046,
code_origins (44.831 ms) : 44427, 45235
. : milestone, 44831,
iast (45.938 ms) : 45534, 46343
. : milestone, 45938,
profiling (49.186 ms) : 48751, 49621
. : milestone, 49186,
tracing (45.811 ms) : 45412, 46210
. : milestone, 45811,
DacapoParameters
See matching parameters
SummaryFound 1 performance improvements and 0 performance regressions! Performance is the same for 11 metrics, 0 unstable metrics.
Execution time for tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.55.0-SNAPSHOT~e9130db8b9, baseline=1.55.0-SNAPSHOT~24adc9a61e
dateFormat X
axisFormat %s
section baseline
no_agent (1.474 ms) : 1462, 1485
. : milestone, 1474,
appsec (3.648 ms) : 3434, 3862
. : milestone, 3648,
iast (2.209 ms) : 2145, 2273
. : milestone, 2209,
iast_GLOBAL (2.255 ms) : 2191, 2319
. : milestone, 2255,
profiling (2.042 ms) : 1992, 2093
. : milestone, 2042,
tracing (2.035 ms) : 1985, 2085
. : milestone, 2035,
section candidate
no_agent (1.472 ms) : 1460, 1483
. : milestone, 1472,
appsec (2.459 ms) : 2408, 2510
. : milestone, 2459,
iast (2.202 ms) : 2138, 2266
. : milestone, 2202,
iast_GLOBAL (2.251 ms) : 2187, 2316
. : milestone, 2251,
profiling (2.044 ms) : 1993, 2095
. : milestone, 2044,
tracing (2.028 ms) : 1979, 2078
. : milestone, 2028,
Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.55.0-SNAPSHOT~e9130db8b9, baseline=1.55.0-SNAPSHOT~24adc9a61e
dateFormat X
axisFormat %s
section baseline
no_agent (15.393 s) : 15393000, 15393000
. : milestone, 15393000,
appsec (15.054 s) : 15054000, 15054000
. : milestone, 15054000,
iast (18.687 s) : 18687000, 18687000
. : milestone, 18687000,
iast_GLOBAL (17.882 s) : 17882000, 17882000
. : milestone, 17882000,
profiling (15.429 s) : 15429000, 15429000
. : milestone, 15429000,
tracing (15.039 s) : 15039000, 15039000
. : milestone, 15039000,
section candidate
no_agent (15.274 s) : 15274000, 15274000
. : milestone, 15274000,
appsec (15.033 s) : 15033000, 15033000
. : milestone, 15033000,
iast (18.47 s) : 18470000, 18470000
. : milestone, 18470000,
iast_GLOBAL (17.727 s) : 17727000, 17727000
. : milestone, 17727000,
profiling (15.776 s) : 15776000, 15776000
. : milestone, 15776000,
tracing (15.177 s) : 15177000, 15177000
. : milestone, 15177000,
|
What Does This Do
Adding remote configuration capabilities:
CAPABILITY_ASM_PROCESSOR_OVERRIDES
(16)CAPABILITY_ASM_CUSTOM_DATA_SCANNERS
(17)These capabilities inform remote config that this tracer version supports processor overrides and custom data scanners, allowing remote config to send these configurations.
Upgrading libddwaf from 17.1.0 to 17.2.0
This version of libddwaf can process the
processor_overrides
andscanners
configuration keys. The existing configuration forwarding mechanism (already present in the codebase) passes these keys to libddwaf without modification.Updated tests to verify new capabilities are properly registered and removed
Added smoke test (
ProcessorOverridesSmokeTest
) that verifies end-to-end functionality:- Creates a custom configuration with a custom scanner and processor overrides
- Verifies that both
processor_overrides
andscanners
keys are forwarded to libddwaf without alteration- Confirms libddwaf 18.0.0 correctly processes the custom configuration
- Tests positive case (pattern detected) and negative case (pattern not detected)
Motivation
RFC establish that:
ASM_PROCESSOR_OVERRIDES (16)
andASM_CUSTOM_DATA_SCANNERS (17)
capabilities through remote configuration.Additional Notes
The tracer already forwards all ASM configuration to libddwaf via
wafBuilder.addOrUpdateConfig()
. This PR enables the complete flow by:Contributor Checklist
type:
and (comp:
orinst:
) labels in addition to any useful labelsclose
,fix
or any linking keywords when referencing an issue.Use
solves
instead, and assign the PR milestone to the issueJira ticket: [PROJ-IDENT]