-
Notifications
You must be signed in to change notification settings - Fork 457
Fix ssrf-requests violations in dd-trace-py Django tests #14576
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: main
Are you sure you want to change the base?
Fix ssrf-requests violations in dd-trace-py Django tests #14576
Conversation
Bits AI Dev Agent Status: ✅ Done Status History (7 entries)
You can ask for changes by mentioning @DataDog in a comment. |
|
Bootstrap import analysisComparison of import times between this PR and base. SummaryThe average import time from this PR is: 270 ± 2 ms. The average import time from base is: 273 ± 3 ms. The import time difference between this PR and base is: -2.1 ± 0.1 ms. Import time breakdownThe following import paths have shrunk:
|
Performance SLOsComparing candidate dd/use-safe-params-avoid-ssrf-django-tests (b05bcb6) with baseline main (d41bdb5) 📈 Performance Regressions (2 suites)📈 iastaspects - 118/118✅ add_aspectTime: ✅ 0.329µs (SLO: <10.000µs 📉 -96.7%) vs baseline: +0.4% Memory: ✅ 37.415MB (SLO: <39.000MB -4.1%) vs baseline: +4.9% ✅ add_inplace_aspectTime: ✅ 0.334µs (SLO: <10.000µs 📉 -96.7%) vs baseline: +0.8% Memory: ✅ 37.415MB (SLO: <39.000MB -4.1%) vs baseline: +5.0% ✅ add_inplace_noaspectTime: ✅ 0.317µs (SLO: <10.000µs 📉 -96.8%) vs baseline: ~same Memory: ✅ 37.434MB (SLO: <39.000MB -4.0%) vs baseline: +5.1% ✅ add_noaspectTime: ✅ 0.278µs (SLO: <10.000µs 📉 -97.2%) vs baseline: +0.7% Memory: ✅ 37.395MB (SLO: <39.000MB -4.1%) vs baseline: +4.9% ✅ bytearray_aspectTime: ✅ 1.319µs (SLO: <10.000µs 📉 -86.8%) vs baseline: -0.7% Memory: ✅ 37.395MB (SLO: <39.000MB -4.1%) vs baseline: +4.9% ✅ bytearray_extend_aspectTime: ✅ 1.367µs (SLO: <10.000µs 📉 -86.3%) vs baseline: -1.1% Memory: ✅ 37.434MB (SLO: <39.000MB -4.0%) vs baseline: +4.9% ✅ bytearray_extend_noaspectTime: ✅ 0.611µs (SLO: <10.000µs 📉 -93.9%) vs baseline: -0.4% Memory: ✅ 37.415MB (SLO: <39.000MB -4.1%) vs baseline: +4.9% ✅ bytearray_noaspectTime: ✅ 0.480µs (SLO: <10.000µs 📉 -95.2%) vs baseline: -0.8% Memory: ✅ 37.375MB (SLO: <39.000MB -4.2%) vs baseline: +4.7% ✅ bytes_aspectTime: ✅ 1.469µs (SLO: <10.000µs 📉 -85.3%) vs baseline: 📈 +14.1% Memory: ✅ 37.473MB (SLO: <39.000MB -3.9%) vs baseline: +5.1% ✅ bytes_noaspectTime: ✅ 0.494µs (SLO: <10.000µs 📉 -95.1%) vs baseline: -0.9% Memory: ✅ 37.415MB (SLO: <39.000MB -4.1%) vs baseline: +4.9% ✅ bytesio_aspectTime: ✅ 1.356µs (SLO: <10.000µs 📉 -86.4%) vs baseline: +1.5% Memory: ✅ 37.375MB (SLO: <39.000MB -4.2%) vs baseline: +4.8% ✅ bytesio_noaspectTime: ✅ 0.493µs (SLO: <10.000µs 📉 -95.1%) vs baseline: -0.6% Memory: ✅ 37.415MB (SLO: <39.000MB -4.1%) vs baseline: +4.8% ✅ capitalize_aspectTime: ✅ 0.737µs (SLO: <10.000µs 📉 -92.6%) vs baseline: ~same Memory: ✅ 37.434MB (SLO: <39.000MB -4.0%) vs baseline: +5.0% ✅ capitalize_noaspectTime: ✅ 0.432µs (SLO: <10.000µs 📉 -95.7%) vs baseline: -0.8% Memory: ✅ 37.454MB (SLO: <39.000MB -4.0%) vs baseline: +4.9% ✅ casefold_aspectTime: ✅ 0.733µs (SLO: <10.000µs 📉 -92.7%) vs baseline: -0.4% Memory: ✅ 37.434MB (SLO: <39.000MB -4.0%) vs baseline: +5.0% ✅ casefold_noaspectTime: ✅ 0.368µs (SLO: <10.000µs 📉 -96.3%) vs baseline: -0.2% Memory: ✅ 37.415MB (SLO: <39.000MB -4.1%) vs baseline: +4.9% ✅ decode_aspectTime: ✅ 0.732µs (SLO: <10.000µs 📉 -92.7%) vs baseline: +1.3% Memory: ✅ 37.434MB (SLO: <39.000MB -4.0%) vs baseline: +4.9% ✅ decode_noaspectTime: ✅ 0.415µs (SLO: <10.000µs 📉 -95.8%) vs baseline: -0.7% Memory: ✅ 37.415MB (SLO: <39.000MB -4.1%) vs baseline: +4.7% ✅ encode_aspectTime: ✅ 0.708µs (SLO: <10.000µs 📉 -92.9%) vs baseline: -0.1% Memory: ✅ 37.415MB (SLO: <39.000MB -4.1%) vs baseline: +4.8% ✅ encode_noaspectTime: ✅ 0.402µs (SLO: <10.000µs 📉 -96.0%) vs baseline: +0.3% Memory: ✅ 37.395MB (SLO: <39.000MB -4.1%) vs baseline: +4.9% ✅ format_aspectTime: ✅ 3.372µs (SLO: <10.000µs 📉 -66.3%) vs baseline: -0.3% Memory: ✅ 37.375MB (SLO: <39.000MB -4.2%) vs baseline: +4.8% ✅ format_map_aspectTime: ✅ 3.255µs (SLO: <10.000µs 📉 -67.4%) vs baseline: +2.4% Memory: ✅ 37.395MB (SLO: <39.000MB -4.1%) vs baseline: +5.0% ✅ format_map_noaspectTime: ✅ 0.779µs (SLO: <10.000µs 📉 -92.2%) vs baseline: +0.4% Memory: ✅ 37.415MB (SLO: <39.000MB -4.1%) vs baseline: +4.9% ✅ format_noaspectTime: ✅ 0.595µs (SLO: <10.000µs 📉 -94.1%) vs baseline: +0.2% Memory: ✅ 37.395MB (SLO: <39.000MB -4.1%) vs baseline: +4.8% ✅ index_aspectTime: ✅ 0.345µs (SLO: <10.000µs 📉 -96.5%) vs baseline: +1.1% Memory: ✅ 37.473MB (SLO: <39.000MB -3.9%) vs baseline: +5.0% ✅ index_noaspectTime: ✅ 0.278µs (SLO: <10.000µs 📉 -97.2%) vs baseline: +0.5% Memory: ✅ 37.454MB (SLO: <39.000MB -4.0%) vs baseline: +5.0% ✅ join_aspectTime: ✅ 1.232µs (SLO: <10.000µs 📉 -87.7%) vs baseline: -0.3% Memory: ✅ 37.395MB (SLO: <39.000MB -4.1%) vs baseline: +4.9% ✅ join_noaspectTime: ✅ 0.488µs (SLO: <10.000µs 📉 -95.1%) vs baseline: -0.7% Memory: ✅ 37.375MB (SLO: <39.000MB -4.2%) vs baseline: +4.9% ✅ ljust_aspectTime: ✅ 11.666µs (SLO: <20.000µs 📉 -41.7%) vs baseline: 📈 +10.1% Memory: ✅ 37.670MB (SLO: <39.000MB -3.4%) vs baseline: +4.7% ✅ ljust_noaspectTime: ✅ 0.401µs (SLO: <10.000µs 📉 -96.0%) vs baseline: -0.8% Memory: ✅ 37.454MB (SLO: <39.000MB -4.0%) vs baseline: +5.0% ✅ lower_aspectTime: ✅ 2.261µs (SLO: <10.000µs 📉 -77.4%) vs baseline: +0.2% Memory: ✅ 37.375MB (SLO: <39.000MB -4.2%) vs baseline: +4.9% ✅ lower_noaspectTime: ✅ 0.367µs (SLO: <10.000µs 📉 -96.3%) vs baseline: +1.0% Memory: ✅ 37.415MB (SLO: <39.000MB -4.1%) vs baseline: +4.9% ✅ lstrip_aspectTime: ✅ 11.047µs (SLO: <20.000µs 📉 -44.8%) vs baseline: +2.0% Memory: ✅ 37.611MB (SLO: <39.000MB -3.6%) vs baseline: +4.7% ✅ lstrip_noaspectTime: ✅ 0.380µs (SLO: <10.000µs 📉 -96.2%) vs baseline: -0.6% Memory: ✅ 37.356MB (SLO: <39.000MB -4.2%) vs baseline: +4.7% ✅ modulo_aspectTime: ✅ 0.924µs (SLO: <10.000µs 📉 -90.8%) vs baseline: -0.7% Memory: ✅ 37.415MB (SLO: <39.000MB -4.1%) vs baseline: +5.0% ✅ modulo_aspect_for_bytearray_bytearrayTime: ✅ 1.433µs (SLO: <10.000µs 📉 -85.7%) vs baseline: +1.1% Memory: ✅ 37.375MB (SLO: <39.000MB -4.2%) vs baseline: +4.6% ✅ modulo_aspect_for_bytesTime: ✅ 0.916µs (SLO: <10.000µs 📉 -90.8%) vs baseline: ~same Memory: ✅ 37.395MB (SLO: <39.000MB -4.1%) vs baseline: +4.9% ✅ modulo_aspect_for_bytes_bytearrayTime: ✅ 1.129µs (SLO: <10.000µs 📉 -88.7%) vs baseline: -0.6% Memory: ✅ 37.473MB (SLO: <39.000MB -3.9%) vs baseline: +5.0% ✅ modulo_noaspectTime: ✅ 0.626µs (SLO: <10.000µs 📉 -93.7%) vs baseline: -0.4% Memory: ✅ 37.375MB (SLO: <39.000MB -4.2%) vs baseline: +4.5% ✅ replace_aspectTime: ✅ 4.501µs (SLO: <10.000µs 📉 -55.0%) vs baseline: ~same Memory: ✅ 37.395MB (SLO: <39.000MB -4.1%) vs baseline: +4.7% ✅ replace_noaspectTime: ✅ 0.456µs (SLO: <10.000µs 📉 -95.4%) vs baseline: -1.4% Memory: ✅ 37.434MB (SLO: <39.000MB -4.0%) vs baseline: +4.8% ✅ repr_aspectTime: ✅ 0.909µs (SLO: <10.000µs 📉 -90.9%) vs baseline: -0.2% Memory: ✅ 37.356MB (SLO: <39.000MB -4.2%) vs baseline: +4.7% ✅ repr_noaspectTime: ✅ 0.415µs (SLO: <10.000µs 📉 -95.9%) vs baseline: +0.2% Memory: ✅ 37.415MB (SLO: <39.000MB -4.1%) vs baseline: +4.7% ✅ rstrip_aspectTime: ✅ 10.605µs (SLO: <20.000µs 📉 -47.0%) vs baseline: -0.1% Memory: ✅ 37.611MB (SLO: <39.000MB -3.6%) vs baseline: +4.6% ✅ rstrip_noaspectTime: ✅ 0.379µs (SLO: <10.000µs 📉 -96.2%) vs baseline: -0.3% Memory: ✅ 37.375MB (SLO: <39.000MB -4.2%) vs baseline: +4.7% ✅ slice_aspectTime: ✅ 0.483µs (SLO: <10.000µs 📉 -95.2%) vs baseline: -0.7% Memory: ✅ 37.454MB (SLO: <39.000MB -4.0%) vs baseline: +5.1% ✅ slice_noaspectTime: ✅ 0.445µs (SLO: <10.000µs 📉 -95.6%) vs baseline: -1.3% Memory: ✅ 37.395MB (SLO: <39.000MB -4.1%) vs baseline: +4.8% ✅ stringio_aspectTime: ✅ 1.677µs (SLO: <10.000µs 📉 -83.2%) vs baseline: +6.4% Memory: ✅ 37.375MB (SLO: <39.000MB -4.2%) vs baseline: +4.8% ✅ stringio_noaspectTime: ✅ 0.723µs (SLO: <10.000µs 📉 -92.8%) vs baseline: -0.2% Memory: ✅ 37.356MB (SLO: <39.000MB -4.2%) vs baseline: +4.7% ✅ strip_aspectTime: ✅ 11.634µs (SLO: <20.000µs 📉 -41.8%) vs baseline: +7.9% Memory: ✅ 37.572MB (SLO: <39.000MB -3.7%) vs baseline: +4.6% ✅ strip_noaspectTime: ✅ 0.382µs (SLO: <10.000µs 📉 -96.2%) vs baseline: -1.1% Memory: ✅ 37.415MB (SLO: <39.000MB -4.1%) vs baseline: +4.8% ✅ swapcase_aspectTime: ✅ 2.468µs (SLO: <10.000µs 📉 -75.3%) vs baseline: +0.2% Memory: ✅ 37.375MB (SLO: <39.000MB -4.2%) vs baseline: +4.6% ✅ swapcase_noaspectTime: ✅ 0.532µs (SLO: <10.000µs 📉 -94.7%) vs baseline: -0.7% Memory: ✅ 37.415MB (SLO: <39.000MB -4.1%) vs baseline: +4.8% ✅ title_aspectTime: ✅ 2.503µs (SLO: <10.000µs 📉 -75.0%) vs baseline: +4.7% Memory: ✅ 37.395MB (SLO: <39.000MB -4.1%) vs baseline: +4.9% ✅ title_noaspectTime: ✅ 0.499µs (SLO: <10.000µs 📉 -95.0%) vs baseline: -0.7% Memory: ✅ 37.375MB (SLO: <39.000MB -4.2%) vs baseline: +4.8% ✅ translate_aspectTime: ✅ 3.288µs (SLO: <10.000µs 📉 -67.1%) vs baseline: +0.8% Memory: ✅ 37.434MB (SLO: <39.000MB -4.0%) vs baseline: +4.9% ✅ translate_noaspectTime: ✅ 1.040µs (SLO: <10.000µs 📉 -89.6%) vs baseline: ~same Memory: ✅ 37.415MB (SLO: <39.000MB -4.1%) vs baseline: +4.9% ✅ upper_aspectTime: ✅ 2.352µs (SLO: <10.000µs 📉 -76.5%) vs baseline: +3.2% Memory: ✅ 37.395MB (SLO: <39.000MB -4.1%) vs baseline: +4.9% ✅ upper_noaspectTime: ✅ 0.370µs (SLO: <10.000µs 📉 -96.3%) vs baseline: -0.1% Memory: ✅ 37.434MB (SLO: <39.000MB -4.0%) vs baseline: +5.0% 📈 iastaspectsospath - 24/24✅ ospathbasename_aspectTime: ✅ 4.121µs (SLO: <10.000µs 📉 -58.8%) vs baseline: -1.0% Memory: ✅ 37.473MB (SLO: <39.000MB -3.9%) vs baseline: +5.0% ✅ ospathbasename_noaspectTime: ✅ 1.073µs (SLO: <10.000µs 📉 -89.3%) vs baseline: +0.2% Memory: ✅ 37.513MB (SLO: <39.000MB -3.8%) vs baseline: +5.1% ✅ ospathjoin_aspectTime: ✅ 6.756µs (SLO: <10.000µs 📉 -32.4%) vs baseline: 📈 +12.3% Memory: ✅ 37.454MB (SLO: <39.000MB -4.0%) vs baseline: +5.0% ✅ ospathjoin_noaspectTime: ✅ 2.287µs (SLO: <10.000µs 📉 -77.1%) vs baseline: -0.2% Memory: ✅ 37.473MB (SLO: <39.000MB -3.9%) vs baseline: +4.7% ✅ ospathnormcase_aspectTime: ✅ 3.994µs (SLO: <10.000µs 📉 -60.1%) vs baseline: 📈 +17.6% Memory: ✅ 37.473MB (SLO: <39.000MB -3.9%) vs baseline: +5.1% ✅ ospathnormcase_noaspectTime: ✅ 0.572µs (SLO: <10.000µs 📉 -94.3%) vs baseline: +0.8% Memory: ✅ 37.434MB (SLO: <39.000MB -4.0%) vs baseline: +4.9% ✅ ospathsplit_aspectTime: ✅ 4.829µs (SLO: <10.000µs 📉 -51.7%) vs baseline: +1.2% Memory: ✅ 37.434MB (SLO: <39.000MB -4.0%) vs baseline: +4.9% ✅ ospathsplit_noaspectTime: ✅ 1.590µs (SLO: <10.000µs 📉 -84.1%) vs baseline: +0.2% Memory: ✅ 37.454MB (SLO: <39.000MB -4.0%) vs baseline: +5.0% ✅ ospathsplitdrive_aspectTime: ✅ 3.575µs (SLO: <10.000µs 📉 -64.3%) vs baseline: -1.1% Memory: ✅ 37.473MB (SLO: <39.000MB -3.9%) vs baseline: +4.8% ✅ ospathsplitdrive_noaspectTime: ✅ 0.698µs (SLO: <10.000µs 📉 -93.0%) vs baseline: +0.3% Memory: ✅ 37.415MB (SLO: <39.000MB -4.1%) vs baseline: +4.9% ✅ ospathsplitext_aspectTime: ✅ 5.119µs (SLO: <10.000µs 📉 -48.8%) vs baseline: 📈 +14.0% Memory: ✅ 37.395MB (SLO: <39.000MB -4.1%) vs baseline: +4.5% ✅ ospathsplitext_noaspectTime: ✅ 1.384µs (SLO: <10.000µs 📉 -86.2%) vs baseline: +1.6% Memory: ✅ 37.434MB (SLO: <39.000MB -4.0%) vs baseline: +4.6% 🟡 Near SLO Breach (7 suites)🟡 djangosimple - 26/26✅ appsecTime: ✅ 20.480ms (SLO: <22.300ms -8.2%) vs baseline: -0.2% Memory: ✅ 64.527MB (SLO: <66.000MB -2.2%) vs baseline: +4.9% ✅ exception-replay-enabledTime: ✅ 1.347ms (SLO: <1.450ms -7.1%) vs baseline: +0.5% Memory: ✅ 63.514MB (SLO: <66.000MB -3.8%) vs baseline: +4.8% ✅ iastTime: ✅ 20.495ms (SLO: <22.250ms -7.9%) vs baseline: +0.1% Memory: ✅ 64.487MB (SLO: <66.000MB -2.3%) vs baseline: +4.9% ✅ profilerTime: ✅ 15.192ms (SLO: <16.550ms -8.2%) vs baseline: ~same Memory: ✅ 52.848MB (SLO: <53.500MB 🟡 -1.2%) vs baseline: +4.9% ✅ span-code-originTime: ✅ 26.047ms (SLO: <28.200ms -7.6%) vs baseline: -0.3% Memory: ✅ 66.737MB (SLO: <68.500MB -2.6%) vs baseline: +4.6% ✅ tracerTime: ✅ 20.531ms (SLO: <21.750ms -5.6%) vs baseline: +0.1% Memory: ✅ 64.516MB (SLO: <66.000MB -2.2%) vs baseline: +4.9% ✅ tracer-and-profilerTime: ✅ 22.073ms (SLO: <23.500ms -6.1%) vs baseline: -0.1% Memory: ✅ 65.763MB (SLO: <67.000MB 🟡 -1.8%) vs baseline: +4.9% ✅ tracer-dont-create-db-spansTime: ✅ 19.387ms (SLO: <21.500ms -9.8%) vs baseline: +0.2% Memory: ✅ 64.507MB (SLO: <66.000MB -2.3%) vs baseline: +4.8% ✅ tracer-nativeTime: ✅ 20.460ms (SLO: <21.750ms -5.9%) vs baseline: ~same Memory: ✅ 65.785MB (SLO: <66.000MB 🟡 -0.3%) vs baseline: +4.8% ✅ tracer-no-cachesTime: ✅ 18.476ms (SLO: <19.650ms -6.0%) vs baseline: +0.5% Memory: ✅ 64.468MB (SLO: <66.000MB -2.3%) vs baseline: +4.8% ✅ tracer-no-databasesTime: ✅ 18.811ms (SLO: <20.100ms -6.4%) vs baseline: +0.5% Memory: ✅ 64.468MB (SLO: <66.000MB -2.3%) vs baseline: +4.8% ✅ tracer-no-middlewareTime: ✅ 20.145ms (SLO: <21.500ms -6.3%) vs baseline: -0.2% Memory: ✅ 64.482MB (SLO: <66.000MB -2.3%) vs baseline: +4.8% ✅ tracer-no-templatesTime: ✅ 20.272ms (SLO: <22.000ms -7.9%) vs baseline: ~same Memory: ✅ 64.527MB (SLO: <66.000MB -2.2%) vs baseline: +4.9% 🟡 errortrackingdjangosimple - 6/6✅ errortracking-enabled-allTime: ✅ 18.319ms (SLO: <19.850ms -7.7%) vs baseline: +1.5% Memory: ✅ 64.527MB (SLO: <65.500MB 🟡 -1.5%) vs baseline: +4.9% ✅ errortracking-enabled-userTime: ✅ 18.116ms (SLO: <19.400ms -6.6%) vs baseline: +0.2% Memory: ✅ 64.507MB (SLO: <65.500MB 🟡 -1.5%) vs baseline: +4.9% ✅ tracer-enabledTime: ✅ 18.202ms (SLO: <19.450ms -6.4%) vs baseline: +0.8% Memory: ✅ 64.484MB (SLO: <65.500MB 🟡 -1.6%) vs baseline: +4.8% 🟡 flasksimple - 17/17✅ appsec-getTime: ✅ 4.582ms (SLO: <4.750ms -3.5%) vs baseline: +0.2% Memory: ✅ 62.443MB (SLO: <64.500MB -3.2%) vs baseline: +5.1% ✅ appsec-postTime: ✅ 6.582ms (SLO: <6.750ms -2.5%) vs baseline: ~same Memory: ✅ 62.266MB (SLO: <64.500MB -3.5%) vs baseline: +4.7% ✅ appsec-telemetryTime: ✅ 4.582ms (SLO: <4.750ms -3.5%) vs baseline: ~same Memory: ✅ 62.226MB (SLO: <64.500MB -3.5%) vs baseline: +4.7% ✅ debuggerTime: ✅ 1.858ms (SLO: <2.000ms -7.1%) vs baseline: +0.3% Memory: ✅ 44.728MB (SLO: <45.000MB 🟡 -0.6%) vs baseline: +4.7% ✅ iast-getTime: ✅ 1.858ms (SLO: <2.000ms -7.1%) vs baseline: +0.3% Memory: ✅ 41.681MB (SLO: <49.000MB 📉 -14.9%) vs baseline: +4.9% ✅ profilerTime: ✅ 1.914ms (SLO: <2.100ms -8.9%) vs baseline: ~same Memory: ✅ 44.394MB (SLO: <46.500MB -4.5%) vs baseline: +5.0% ✅ tracerTime: ✅ 3.374ms (SLO: <3.650ms -7.6%) vs baseline: ~same Memory: ✅ 51.472MB (SLO: <53.500MB -3.8%) vs baseline: +4.9% ✅ tracer-nativeTime: ✅ 3.375ms (SLO: <3.650ms -7.5%) vs baseline: ~same Memory: ✅ 52.711MB (SLO: <53.500MB 🟡 -1.5%) vs baseline: +4.9% 🟡 flasksqli - 6/6✅ appsec-enabledTime: ✅ 3.940ms (SLO: <4.200ms -6.2%) vs baseline: -0.5% Memory: ✅ 62.666MB (SLO: <66.000MB -5.1%) vs baseline: +4.9% ✅ iast-enabledTime: ✅ 2.521ms (SLO: <2.800ms -10.0%) vs baseline: +0.2% Memory: ✅ 58.147MB (SLO: <59.000MB 🟡 -1.4%) vs baseline: +4.8% ✅ tracer-enabledTime: ✅ 2.077ms (SLO: <2.250ms -7.7%) vs baseline: ~same Memory: ✅ 51.166MB (SLO: <53.500MB -4.4%) vs baseline: +4.5% 🟡 otelsdkspan - 24/24✅ add-eventTime: ✅ 40.519ms (SLO: <42.000ms -3.5%) vs baseline: +0.7% Memory: ✅ 34.308MB (SLO: <39.000MB 📉 -12.0%) vs baseline: +4.9% ✅ add-linkTime: ✅ 36.277ms (SLO: <38.550ms -5.9%) vs baseline: +0.4% Memory: ✅ 34.269MB (SLO: <39.000MB 📉 -12.1%) vs baseline: +4.8% ✅ add-metricsTime: ✅ 219.021ms (SLO: <232.000ms -5.6%) vs baseline: -0.4% Memory: ✅ 34.308MB (SLO: <39.000MB 📉 -12.0%) vs baseline: +4.7% ✅ add-tagsTime: ✅ 212.059ms (SLO: <221.600ms -4.3%) vs baseline: +0.3% Memory: ✅ 34.288MB (SLO: <39.000MB 📉 -12.1%) vs baseline: +5.0% ✅ get-contextTime: ✅ 29.344ms (SLO: <31.300ms -6.2%) vs baseline: +0.7% Memory: ✅ 34.308MB (SLO: <39.000MB 📉 -12.0%) vs baseline: +4.8% ✅ is-recordingTime: ✅ 29.925ms (SLO: <31.000ms -3.5%) vs baseline: +2.4% Memory: ✅ 34.308MB (SLO: <39.000MB 📉 -12.0%) vs baseline: +5.1% ✅ record-exceptionTime: ✅ 64.628ms (SLO: <65.850ms 🟡 -1.9%) vs baseline: +2.4% Memory: ✅ 34.229MB (SLO: <39.000MB 📉 -12.2%) vs baseline: +4.6% ✅ set-statusTime: ✅ 32.369ms (SLO: <34.150ms -5.2%) vs baseline: +2.0% Memory: ✅ 34.308MB (SLO: <39.000MB 📉 -12.0%) vs baseline: +5.0% ✅ startTime: ✅ 29.287ms (SLO: <30.150ms -2.9%) vs baseline: +1.4% Memory: ✅ 34.347MB (SLO: <39.000MB 📉 -11.9%) vs baseline: +5.0% ✅ start-finishTime: ✅ 33.981ms (SLO: <35.350ms -3.9%) vs baseline: +0.8% Memory: ✅ 34.249MB (SLO: <39.000MB 📉 -12.2%) vs baseline: +4.9% ✅ start-finish-telemetryTime: ✅ 34.101ms (SLO: <35.450ms -3.8%) vs baseline: +0.1% Memory: ✅ 34.328MB (SLO: <39.000MB 📉 -12.0%) vs baseline: +5.2% ✅ update-nameTime: ✅ 31.053ms (SLO: <33.400ms -7.0%) vs baseline: +0.3% Memory: ✅ 34.347MB (SLO: <39.000MB 📉 -11.9%) vs baseline: +5.0% 🟡 otelspan - 22/22✅ add-eventTime: ✅ 45.372ms (SLO: <47.150ms -3.8%) vs baseline: +0.2% Memory: ✅ 44.667MB (SLO: <46.500MB -3.9%) vs baseline: +5.1% ✅ add-metricsTime: ✅ 320.018ms (SLO: <344.800ms -7.2%) vs baseline: ~same Memory: ✅ 552.587MB (SLO: <562.000MB 🟡 -1.7%) vs baseline: +4.7% ✅ add-tagsTime: ✅ 291.246ms (SLO: <314.000ms -7.2%) vs baseline: -0.2% Memory: ✅ 554.140MB (SLO: <563.500MB 🟡 -1.7%) vs baseline: +4.8% ✅ get-contextTime: ✅ 82.437ms (SLO: <92.350ms 📉 -10.7%) vs baseline: -0.4% Memory: ✅ 39.686MB (SLO: <46.500MB 📉 -14.7%) vs baseline: +4.8% ✅ is-recordingTime: ✅ 43.954ms (SLO: <44.500ms 🟡 -1.2%) vs baseline: +2.3% Memory: ✅ 44.113MB (SLO: <46.500MB -5.1%) vs baseline: +4.9% ✅ record-exceptionTime: ✅ 62.293ms (SLO: <67.650ms -7.9%) vs baseline: +0.8% Memory: ✅ 40.128MB (SLO: <46.500MB 📉 -13.7%) vs baseline: +4.9% ✅ set-statusTime: ✅ 48.710ms (SLO: <50.400ms -3.4%) vs baseline: -0.6% Memory: ✅ 44.091MB (SLO: <46.500MB -5.2%) vs baseline: +4.8% ✅ startTime: ✅ 42.175ms (SLO: <43.450ms -2.9%) vs baseline: -0.1% Memory: ✅ 43.982MB (SLO: <46.500MB -5.4%) vs baseline: +4.6% ✅ start-finishTime: ✅ 82.246ms (SLO: <88.000ms -6.5%) vs baseline: -0.3% Memory: ✅ 33.895MB (SLO: <46.500MB 📉 -27.1%) vs baseline: +4.9% ✅ start-finish-telemetryTime: ✅ 85.499ms (SLO: <89.000ms -3.9%) vs baseline: +2.1% Memory: ✅ 33.935MB (SLO: <46.500MB 📉 -27.0%) vs baseline: +4.7% ✅ update-nameTime: ✅ 44.002ms (SLO: <45.150ms -2.5%) vs baseline: -0.8% Memory: ✅ 44.346MB (SLO: <46.500MB -4.6%) vs baseline: +5.0% 🟡 packagespackageforrootmodulemapping - 4/4✅ cache_offTime: ✅ 342.026ms (SLO: <354.300ms -3.5%) vs baseline: -0.7% Memory: ✅ 39.217MB (SLO: <40.000MB 🟡 -2.0%) vs baseline: +5.2% ✅ cache_onTime: ✅ 0.383µs (SLO: <10.000µs 📉 -96.2%) vs baseline: +1.1% Memory: ✅ 36.851MB (SLO: <39.000MB -5.5%) vs baseline: +4.6%
|
PR by Bits for Dev Agent Session identified by campaign julien/bahartest created by Julien Delange.
You can ask for changes by mentioning @DataDog in a comment.
Feedback (especially what can be better) welcome in #code-gen-feedback!
Overview
This PR resolves five static analysis findings for python-flask/ssrf-requests in tests/appsec/integrations/django_tests/django_app/views.py within the ssrf_requests view. The issue was direct interpolation of user-supplied input into URLs (scheme, query, fragment, and path), which can lead to SSRF. The fix replaces unsafe string interpolation with safe construction via requests.get(..., params=...) and removes user-controlled data from sensitive URL components.
Motivation
Static analysis flagged the following unsafe patterns:
These were remediated to prevent SSRF while preserving test intent.
What changed
Testing strategy
Risks
Release notes
Documentation
Backporting
Checklist
Reviewer Checklist