Skip to content

Commit 5e36d1b

Browse files
authored
APMRP-360 set cold case JIRA for old bug declarations (#3065)
* APMRP-360 set cold case JIRA for old bug declarations * Add Test_RemoteConfigurationUpdateSequenceFeatures
1 parent 53fe59b commit 5e36d1b

15 files changed

+26
-43
lines changed

pyproject.toml

-17
Original file line numberDiff line numberDiff line change
@@ -52,14 +52,8 @@ allow_no_feature_nodes = [
5252

5353
allow_no_jira_ticket_for_bugs = [
5454
"tests/apm_tracing_e2e/test_otel.py::Test_Otel_Span.test_datadog_otel_span",
55-
"tests/appsec/iast/sink/test_insecure_cookie.py::TestInsecureCookie.test_secure",
56-
"tests/appsec/iast/sink/test_no_httponly_cookie.py::TestNoHttponlyCookie.test_secure",
57-
"tests/appsec/iast/sink/test_no_samesite_cookie.py::TestNoSamesiteCookie.test_secure",
5855
"tests/appsec/iast/sink/test_sql_injection.py::TestSqlInjection.test_insecure",
59-
"tests/appsec/iast/sink/test_ssrf.py::TestSSRF.test_insecure",
6056
"tests/appsec/iast/source/test_body.py::TestRequestBody.test_source_reported",
61-
"tests/appsec/iast/source/test_body.py::TestRequestBody.test_telemetry_metric_instrumented_source",
62-
"tests/appsec/iast/source/test_cookie_name.py::TestCookieName.test_telemetry_metric_instrumented_source",
6357
"tests/appsec/iast/source/test_parameter_name.py::TestParameterName.test_source_get_reported",
6458
"tests/appsec/iast/source/test_parameter_name.py::TestParameterName.test_source_post_reported",
6559
"tests/appsec/iast/source/test_parameter_name.py::TestParameterName.test_source_reported",
@@ -89,30 +83,21 @@ allow_no_jira_ticket_for_bugs = [
8983
"tests/appsec/test_shell_execution.py::Test_ShellExecution.test_truncate_1st_argument",
9084
"tests/appsec/test_shell_execution.py::Test_ShellExecution.test_truncate_blank_2nd_argument",
9185
"tests/appsec/test_traces.py::Test_AppSecEventSpanTags.test_header_collection",
92-
"tests/appsec/test_traces.py::Test_AppSecEventSpanTags.test_root_span_coherence",
9386
"tests/appsec/test_traces.py::Test_RetainTraces",
9487
"tests/appsec/test_user_blocking_full_denylist.py::Test_UserBlocking_FullDenylist.test_blocking_test",
9588
"tests/appsec/waf/test_addresses.py::Test_BodyJson",
9689
"tests/appsec/waf/test_addresses.py::Test_BodyUrlEncoded",
9790
"tests/appsec/waf/test_addresses.py::Test_BodyXml",
9891
"tests/appsec/waf/test_addresses.py::Test_BodyXml.test_xml_attr_value",
9992
"tests/appsec/waf/test_addresses.py::Test_BodyXml.test_xml_content",
100-
"tests/appsec/waf/test_addresses.py::Test_Cookies.test_cookies_with_special_chars2",
101-
"tests/appsec/waf/test_addresses.py::Test_Cookies.test_cookies_with_special_chars2_custom_rules",
10293
"tests/appsec/waf/test_blocking.py::Test_Blocking.test_accept_all",
10394
"tests/appsec/waf/test_blocking.py::Test_Blocking.test_accept_full_json",
10495
"tests/appsec/waf/test_blocking.py::Test_Blocking.test_accept_partial_json",
105-
"tests/appsec/waf/test_blocking.py::Test_Blocking.test_no_accept",
10696
"tests/appsec/waf/test_exclusions.py::Test_Exclusions.test_input_exclusion_negative_test",
10797
"tests/appsec/waf/test_exclusions.py::Test_Exclusions.test_rule_exclusion_positive_test",
10898
"tests/appsec/waf/test_miscs.py::Test_404",
109-
"tests/appsec/waf/test_rules.py::Test_DiscoveryScan.test_security_scan",
110-
"tests/appsec/waf/test_rules.py::Test_HttpProtocol.test_http_protocol",
111-
"tests/appsec/waf/test_rules.py::Test_LFI.test_lfi_in_path",
11299
"tests/appsec/waf/test_rules.py::Test_SQLI.test_sqli2",
113100
"tests/appsec/waf/test_rules.py::Test_SQLI.test_sqli3",
114-
"tests/appsec/waf/test_telemetry.py::Test_TelemetryMetrics.test_headers_are_correct",
115-
"tests/appsec/waf/test_telemetry.py::Test_TelemetryMetrics.test_metric_waf_requests",
116101
"tests/auto_inject/test_auto_inject_install.py::TestContainerAutoInjectInstallScript.test_install",
117102
"tests/auto_inject/test_auto_inject_install.py::TestInstallerAutoInjectManual.test_install_uninstall",
118103
"tests/auto_inject/test_auto_inject_install.py::TestSimpleInstallerAutoInjectManual.test_install",
@@ -165,9 +150,7 @@ allow_no_jira_ticket_for_bugs = [
165150
"tests/parametric/test_trace_sampling.py::Test_Trace_Sampling_Tags_Feb2024_Revision.test_globs_different_casing",
166151
"tests/parametric/test_trace_sampling.py::Test_Trace_Sampling_Tags_Feb2024_Revision.test_metric_existence",
167152
"tests/parametric/test_trace_sampling.py::Test_Trace_Sampling_Tags_Feb2024_Revision.test_metric_matching",
168-
"tests/remote_config/test_remote_configuration.py::Test_RemoteConfigurationUpdateSequenceASMDD.test_tracer_update_sequence",
169153
"tests/remote_config/test_remote_configuration.py::Test_RemoteConfigurationUpdateSequenceFeatures.test_tracer_update_sequence",
170-
"tests/remote_config/test_remote_configuration.py::Test_RemoteConfigurationUpdateSequenceLiveDebugging.test_tracer_update_sequence",
171154
"tests/stats/test_miscs.py::Test_Miscs.test_request_headers",
172155
"tests/test_data_integrity.py::Test_TraceHeaders.test_trace_header_container_tags",
173156
"tests/test_data_integrity.py::Test_TraceHeaders.test_traces_header_present",

tests/appsec/iast/sink/test_insecure_cookie.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class TestInsecureCookie(BaseSinkTest):
1717
data = {}
1818
location_map = {"nodejs": {"express4": "iast/index.js", "express4-typescript": "iast.ts"}}
1919

20-
@bug(context.library < "[email protected]", reason="Incorrect handling of HttpOnly flag")
20+
@bug(context.library < "[email protected]", reason="APMRP-360")
2121
def test_secure(self):
2222
super().test_secure()
2323

tests/appsec/iast/sink/test_no_httponly_cookie.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class TestNoHttponlyCookie(BaseSinkTest):
1717
data = {}
1818
location_map = {"nodejs": {"express4": "iast/index.js", "express4-typescript": "iast.ts"}}
1919

20-
@bug(context.library < "[email protected]", reason="Incorrect handling of HttpOnly flag")
20+
@bug(context.library < "[email protected]", reason="APMRP-360")
2121
def test_secure(self):
2222
super().test_secure()
2323

tests/appsec/iast/sink/test_no_samesite_cookie.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class TestNoSamesiteCookie(BaseSinkTest):
1717
data = {}
1818
location_map = {"nodejs": {"express4": "iast/index.js", "express4-typescript": "iast.ts"}}
1919

20-
@bug(context.library < "[email protected]", reason="Incorrect handling of HttpOnly flag")
20+
@bug(context.library < "[email protected]", reason="APMRP-360")
2121
def test_secure(self):
2222
super().test_secure()
2323

tests/appsec/iast/sink/test_ssrf.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ class TestSSRF(BaseSinkTest):
2121
"python": {"flask-poc": "app.py", "django-poc": "app/urls.py"},
2222
}
2323

24-
@bug(context.library < "[email protected]", reason="https://github.com/DataDog/dd-trace-java/pull/5172")
24+
@bug(context.library < "[email protected]", reason="APMRP-360")
2525
def test_insecure(self):
2626
super().test_insecure()
2727

tests/appsec/iast/source/test_body.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ def test_source_reported(self):
2525
context.library < "[email protected]" and "spring-boot" not in context.weblog_variant,
2626
reason="Metrics not implemented",
2727
)
28-
@bug(context.library >= "[email protected]" and context.library < "[email protected]", reason="Not reported")
28+
@bug(context.library >= "[email protected]" and context.library < "[email protected]", reason="APMRP-360")
2929
@missing_feature(library="dotnet", reason="Not implemented yet")
3030
def test_telemetry_metric_instrumented_source(self):
3131
super().test_telemetry_metric_instrumented_source()

tests/appsec/iast/source/test_cookie_name.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ class TestCookieName(BaseSourceTest):
2222
context.library < "[email protected]" and "spring-boot" not in context.weblog_variant,
2323
reason="Metrics not implemented",
2424
)
25-
@bug(context.library >= "[email protected]" and context.library < "[email protected]", reason="Not working as expected")
25+
@bug(context.library >= "[email protected]" and context.library < "[email protected]", reason="APMRP-360")
2626
@missing_feature(weblog_variant="akka-http", reason="Not working as expected")
2727
def test_telemetry_metric_instrumented_source(self):
2828
super().test_telemetry_metric_instrumented_source()

tests/appsec/test_traces.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ def test_header_collection(self):
9898
missing_response_headers = set(required_response_headers) - set(span.get("meta", {}).keys())
9999
assert not missing_response_headers, f"Missing response headers: {missing_response_headers}"
100100

101-
@bug(context.library < "[email protected]")
101+
@bug(context.library < "[email protected]", reason="APMRP-360")
102102
def test_root_span_coherence(self):
103103
"""Appsec tags are not on span where type is not web, http or rpc"""
104104
valid_appsec_span_types = ["web", "http", "rpc"]

tests/appsec/waf/test_addresses.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ def setup_cookies_with_special_chars2(self):
181181

182182
@irrelevant(library="golang", reason="not handled by the Go standard cookie parser")
183183
@irrelevant(library="dotnet", reason="Quotation marks cause kestrel to erase the whole value")
184-
@bug(context.library < "[email protected]")
184+
@bug(context.library < "[email protected]", reason="APMRP-360")
185185
@irrelevant(context.appsec_rules_version >= "1.2.7", reason="cookies were disabled for the time being")
186186
def test_cookies_with_special_chars2(self):
187187
"""Other cookies patterns"""
@@ -225,7 +225,7 @@ def setup_cookies_with_special_chars2_custom_rules(self):
225225

226226
@irrelevant(library="golang", reason="Not handled by the Go standard cookie parser")
227227
@irrelevant(library="dotnet", reason="Quotation marks cause kestrel to erase the whole value")
228-
@bug(context.library < "[email protected]")
228+
@bug(context.library < "[email protected]", reason="APMRP-360")
229229
@scenarios.appsec_custom_rules
230230
def test_cookies_with_special_chars2_custom_rules(self):
231231
"""Other cookies patterns"""

tests/appsec/waf/test_blocking.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -52,10 +52,10 @@ class Test_Blocking:
5252
def setup_no_accept(self):
5353
self.r_na = weblog.get("/waf/", headers={"User-Agent": "Arachni/v1"})
5454

55-
@bug(context.library < "[email protected]" and context.weblog_variant == "spring-boot-undertow", reason="npe")
56-
@bug(context.library < "[email protected]" and context.weblog_variant == "spring-boot-wildfly", reason="npe")
57-
@bug(context.library < "[email protected]", reason="Bug, minify and remove new line characters")
58-
@bug(context.library < "[email protected]", reason="wrong default content-type")
55+
@bug(context.library < "[email protected]" and context.weblog_variant == "spring-boot-undertow", reason="APMRP-360")
56+
@bug(context.library < "[email protected]" and context.weblog_variant == "spring-boot-wildfly", reason="APMRP-360")
57+
@bug(context.library < "[email protected]", reason="APMRP-360")
58+
@bug(context.library < "[email protected]", reason="APMRP-360")
5959
def test_no_accept(self):
6060
"""Blocking without an accept header"""
6161
assert self.r_na.status_code == 403

tests/appsec/waf/test_rules.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@ class Test_HttpProtocol:
3030
def setup_http_protocol(self):
3131
self.r_1 = weblog.get("/waf/", params={"key": ".cookie;domain="})
3232

33-
@bug(context.library < "[email protected]")
34-
@bug(context.library < "[email protected]")
33+
@bug(context.library < "[email protected]", reason="APMRP-360")
34+
@bug(context.library < "[email protected]", reason="APMRP-360")
3535
def test_http_protocol(self):
3636
""" AppSec catches attacks by violation of HTTP protocol in encoded cookie value"""
3737
interfaces.library.assert_waf_attack(self.r_1, waf_rules.http_protocol_violation.crs_943_100)
@@ -74,7 +74,7 @@ def test_lfi_percent_2f(self):
7474
def setup_lfi_in_path(self):
7575
self.r_5 = weblog.get("/waf/..")
7676

77-
@bug(context.library < "[email protected]")
77+
@bug(context.library < "[email protected]", reason="APMRP-360")
7878
@irrelevant(library="python", weblog_variant="django-poc")
7979
@irrelevant(library="dotnet", reason="lfi patterns are always filtered by the host web-server")
8080
@irrelevant(
@@ -322,7 +322,7 @@ def setup_security_scan(self):
322322
self.r10 = weblog.get("/administrator/components/component.php")
323323
self.r11 = weblog.get("/login.pwd")
324324

325-
@bug(context.library < "[email protected]" and context.weblog_variant == "spring-boot-undertow")
325+
@bug(context.library < "[email protected]" and context.weblog_variant == "spring-boot-undertow", reason="APMRP-360")
326326
@bug(library="java", weblog_variant="spring-boot-openliberty", reason="APPSEC-6583")
327327
def test_security_scan(self):
328328
"""AppSec WAF catches Discovery scan"""

tests/appsec/waf/test_telemetry.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ class Test_TelemetryMetrics:
3232

3333
setup_headers_are_correct = _setup
3434

35-
@bug(context.library < "[email protected]", reason="Missing two headers")
35+
@bug(context.library < "[email protected]", reason="APMRP-360")
3636
def test_headers_are_correct(self):
3737
"""Tests that all telemetry requests have correct headers."""
3838
for data in interfaces.library.get_telemetry_data(flatten_message_batches=False):
@@ -77,7 +77,7 @@ def test_metric_waf_init(self):
7777

7878
setup_metric_waf_requests = _setup
7979

80-
@bug(context.library < "[email protected]", reason="Missing tags")
80+
@bug(context.library < "[email protected]", reason="APMRP-360")
8181
def test_metric_waf_requests(self):
8282
"""Test waf.requests metric."""
8383
expected_metric_name = "waf.requests"

tests/remote_config/test_remote_configuration.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ def setup_tracer_update_sequence(self):
193193
reason="ASM_FEATURES was not subscribed when a custom rules file was present",
194194
)
195195
@bug(library="golang", reason="missing update file datadog/2/ASM_FEATURES/ASM_FEATURES-third/config")
196-
@bug(context.library < "[email protected]", reason="id reported for config state is not the expected one")
196+
@bug(context.library < "[email protected]", reason="APMRP-360")
197197
def test_tracer_update_sequence(self):
198198
"""test update sequence, based on a scenario mocked in the proxy"""
199199

@@ -285,7 +285,7 @@ def setup_tracer_update_sequence(self):
285285

286286
remote_config.send_sequential_commands(payloads)
287287

288-
@bug(context.library < "[email protected]", reason="id reported for config state is not the expected one")
288+
@bug(context.library < "[email protected]", reason="APMRP-360")
289289
def test_tracer_update_sequence(self):
290290
"""test update sequence, based on a scenario mocked in the proxy"""
291291

@@ -334,13 +334,13 @@ def setup_tracer_update_sequence(self):
334334

335335
remote_config.send_sequential_commands(payloads)
336336

337-
@bug(context.library >= "[email protected]" and context.library < "[email protected]", reason="?")
337+
@bug(context.library >= "[email protected]" and context.library < "[email protected]", reason="APMRP-360")
338338
@irrelevant(
339339
context.library >= "[email protected]" and context.appsec_rules_file is not None,
340340
reason="ASM_DD not subscribed with custom rules. This is the compliant behavior",
341341
)
342342
@bug(context.weblog_variant == "spring-boot-openliberty", reason="APPSEC-6721")
343-
@bug(context.library <= "[email protected]", reason="config state id value was wrong")
343+
@bug(context.library <= "[email protected]", reason="APMRP-360")
344344
def test_tracer_update_sequence(self):
345345
"""test update sequence, based on a scenario mocked in the proxy"""
346346

tests/test_sampling_rates.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -134,8 +134,8 @@ def setup_sampling_decision(self):
134134

135135
@irrelevant(context.library in ("nodejs", "php", "dotnet"), reason="AIT-374")
136136
@missing_feature(library="cpp", reason="https://github.com/DataDog/dd-opentracing-cpp/issues/173")
137-
@bug(context.library < "[email protected]")
138-
@flaky(context.library < "[email protected]")
137+
@bug(context.library < "[email protected]", reason="APMRP-360")
138+
@flaky(context.library < "[email protected]", reason="APMRP-360")
139139
@flaky(context.library >= "[email protected]", reason="APMJAVA-743")
140140
@flaky(
141141
context.library == "ruby" and context.weblog_variant in ("sinatra14", "sinatra20", "sinatra21", "uds-sinatra"),

tests/test_semantic_conventions.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,7 @@ def validator(span):
232232

233233
@bug(library="php", reason="language tag not implemented")
234234
# TODO: Versions previous to 1.1.0 might be ok, but were not tested so far.
235-
@bug(context.library < "[email protected]", reason="language tag implemented but not for all spans")
235+
@bug(context.library < "[email protected]", reason="APMRP-360")
236236
@bug(library="dotnet", reason="AIT-8735")
237237
@missing_feature(context.library < "[email protected]")
238238
def test_meta_language_tag(self):

0 commit comments

Comments
 (0)