-
Notifications
You must be signed in to change notification settings - Fork 457
Fix 3 SSRF static analysis issues in Django tests #14638
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?
Conversation
Bits AI Dev Agent Status: ✅ Done Status History (3 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: 267 ± 2 ms. The average import time from base is: 269 ± 2 ms. The import time difference between this PR and base is: -1.9 ± 0.1 ms. Import time breakdownThe following import paths have shrunk:
|
Performance SLOsComparing candidate dd/sanitize-ssrf-requests-in-django-tests (00135ea) with baseline main (e2bc7d1) 📈 Performance Regressions (2 suites)📈 iastaspects - 118/118✅ add_aspectTime: ✅ 0.403µs (SLO: <10.000µs 📉 -96.0%) vs baseline: +0.9% Memory: ✅ 37.415MB (SLO: <39.000MB -4.1%) vs baseline: +4.7% ✅ add_inplace_aspectTime: ✅ 0.405µs (SLO: <10.000µs 📉 -95.9%) vs baseline: -1.4% Memory: ✅ 37.532MB (SLO: <39.000MB -3.8%) vs baseline: +4.9% ✅ add_inplace_noaspectTime: ✅ 0.313µs (SLO: <10.000µs 📉 -96.9%) vs baseline: -0.9% Memory: ✅ 37.493MB (SLO: <39.000MB -3.9%) vs baseline: +5.0% ✅ add_noaspectTime: ✅ 0.274µs (SLO: <10.000µs 📉 -97.3%) vs baseline: -2.1% Memory: ✅ 37.513MB (SLO: <39.000MB -3.8%) vs baseline: +4.6% ✅ bytearray_aspectTime: ✅ 1.318µs (SLO: <10.000µs 📉 -86.8%) vs baseline: +0.2% Memory: ✅ 37.454MB (SLO: <39.000MB -4.0%) vs baseline: +5.0% ✅ bytearray_extend_aspectTime: ✅ 1.579µs (SLO: <10.000µs 📉 -84.2%) vs baseline: -0.4% Memory: ✅ 37.454MB (SLO: <39.000MB -4.0%) vs baseline: +4.6% ✅ bytearray_extend_noaspectTime: ✅ 0.609µs (SLO: <10.000µs 📉 -93.9%) vs baseline: -0.3% Memory: ✅ 37.395MB (SLO: <39.000MB -4.1%) vs baseline: +4.9% ✅ bytearray_noaspectTime: ✅ 0.478µs (SLO: <10.000µs 📉 -95.2%) vs baseline: -1.0% Memory: ✅ 37.473MB (SLO: <39.000MB -3.9%) vs baseline: +4.7% ✅ bytes_aspectTime: ✅ 1.314µs (SLO: <10.000µs 📉 -86.9%) vs baseline: +2.7% Memory: ✅ 37.552MB (SLO: <39.000MB -3.7%) vs baseline: +5.1% ✅ bytes_noaspectTime: ✅ 0.492µs (SLO: <10.000µs 📉 -95.1%) vs baseline: -0.2% Memory: ✅ 37.415MB (SLO: <39.000MB -4.1%) vs baseline: +4.6% ✅ bytesio_aspectTime: ✅ 1.332µs (SLO: <10.000µs 📉 -86.7%) vs baseline: +0.2% Memory: ✅ 37.493MB (SLO: <39.000MB -3.9%) vs baseline: +5.0% ✅ bytesio_noaspectTime: ✅ 0.488µs (SLO: <10.000µs 📉 -95.1%) vs baseline: -1.2% Memory: ✅ 37.591MB (SLO: <39.000MB -3.6%) vs baseline: +5.2% ✅ capitalize_aspectTime: ✅ 0.730µs (SLO: <10.000µs 📉 -92.7%) vs baseline: ~same Memory: ✅ 37.493MB (SLO: <39.000MB -3.9%) vs baseline: +4.8% ✅ capitalize_noaspectTime: ✅ 0.435µs (SLO: <10.000µs 📉 -95.7%) vs baseline: ~same Memory: ✅ 37.513MB (SLO: <39.000MB -3.8%) vs baseline: +5.1% ✅ casefold_aspectTime: ✅ 0.737µs (SLO: <10.000µs 📉 -92.6%) vs baseline: ~same Memory: ✅ 37.454MB (SLO: <39.000MB -4.0%) vs baseline: +4.7% ✅ casefold_noaspectTime: ✅ 0.372µs (SLO: <10.000µs 📉 -96.3%) vs baseline: +0.8% Memory: ✅ 37.473MB (SLO: <39.000MB -3.9%) vs baseline: +4.6% ✅ decode_aspectTime: ✅ 0.740µs (SLO: <10.000µs 📉 -92.6%) vs baseline: +2.6% Memory: ✅ 37.473MB (SLO: <39.000MB -3.9%) vs baseline: +4.7% ✅ decode_noaspectTime: ✅ 0.417µs (SLO: <10.000µs 📉 -95.8%) vs baseline: +0.7% Memory: ✅ 37.473MB (SLO: <39.000MB -3.9%) vs baseline: +4.9% ✅ encode_aspectTime: ✅ 0.706µs (SLO: <10.000µs 📉 -92.9%) vs baseline: -0.4% Memory: ✅ 37.552MB (SLO: <39.000MB -3.7%) vs baseline: +5.0% ✅ encode_noaspectTime: ✅ 0.397µs (SLO: <10.000µs 📉 -96.0%) vs baseline: -1.3% Memory: ✅ 37.415MB (SLO: <39.000MB -4.1%) vs baseline: +4.5% ✅ format_aspectTime: ✅ 3.403µs (SLO: <10.000µs 📉 -66.0%) vs baseline: +1.1% Memory: ✅ 37.473MB (SLO: <39.000MB -3.9%) vs baseline: +4.6% ✅ format_map_aspectTime: ✅ 4.250µs (SLO: <10.000µs 📉 -57.5%) vs baseline: 📈 +15.8% Memory: ✅ 37.473MB (SLO: <39.000MB -3.9%) vs baseline: +4.9% ✅ format_map_noaspectTime: ✅ 0.776µs (SLO: <10.000µs 📉 -92.2%) vs baseline: -0.2% Memory: ✅ 37.415MB (SLO: <39.000MB -4.1%) vs baseline: +4.6% ✅ format_noaspectTime: ✅ 0.595µs (SLO: <10.000µs 📉 -94.0%) vs baseline: ~same Memory: ✅ 37.395MB (SLO: <39.000MB -4.1%) vs baseline: +4.5% ✅ index_aspectTime: ✅ 0.356µs (SLO: <10.000µs 📉 -96.4%) vs baseline: +0.9% Memory: ✅ 37.454MB (SLO: <39.000MB -4.0%) vs baseline: +4.6% ✅ index_noaspectTime: ✅ 0.278µs (SLO: <10.000µs 📉 -97.2%) vs baseline: +0.5% Memory: ✅ 37.434MB (SLO: <39.000MB -4.0%) vs baseline: +4.7% ✅ join_aspectTime: ✅ 1.398µs (SLO: <10.000µs 📉 -86.0%) vs baseline: +1.2% Memory: ✅ 37.513MB (SLO: <39.000MB -3.8%) vs baseline: +4.9% ✅ join_noaspectTime: ✅ 0.490µs (SLO: <10.000µs 📉 -95.1%) vs baseline: -0.2% Memory: ✅ 37.473MB (SLO: <39.000MB -3.9%) vs baseline: +5.0% ✅ ljust_aspectTime: ✅ 2.885µs (SLO: <20.000µs 📉 -85.6%) vs baseline: 📈 +11.6% Memory: ✅ 37.434MB (SLO: <39.000MB -4.0%) vs baseline: +4.8% ✅ ljust_noaspectTime: ✅ 0.403µs (SLO: <10.000µs 📉 -96.0%) vs baseline: +0.6% Memory: ✅ 37.415MB (SLO: <39.000MB -4.1%) vs baseline: +4.8% ✅ lower_aspectTime: ✅ 2.185µs (SLO: <10.000µs 📉 -78.1%) vs baseline: -0.4% Memory: ✅ 37.473MB (SLO: <39.000MB -3.9%) vs baseline: +4.5% ✅ lower_noaspectTime: ✅ 0.367µs (SLO: <10.000µs 📉 -96.3%) vs baseline: -0.2% Memory: ✅ 37.415MB (SLO: <39.000MB -4.1%) vs baseline: +4.8% ✅ lstrip_aspectTime: ✅ 2.239µs (SLO: <20.000µs 📉 -88.8%) vs baseline: +0.7% Memory: ✅ 37.395MB (SLO: <39.000MB -4.1%) vs baseline: +4.6% ✅ lstrip_noaspectTime: ✅ 0.386µs (SLO: <10.000µs 📉 -96.1%) vs baseline: +2.3% Memory: ✅ 37.434MB (SLO: <39.000MB -4.0%) vs baseline: +4.9% ✅ modulo_aspectTime: ✅ 1.014µs (SLO: <10.000µs 📉 -89.9%) vs baseline: +2.3% Memory: ✅ 37.434MB (SLO: <39.000MB -4.0%) vs baseline: +4.7% ✅ modulo_aspect_for_bytearray_bytearrayTime: ✅ 1.565µs (SLO: <10.000µs 📉 -84.4%) vs baseline: +1.4% Memory: ✅ 37.454MB (SLO: <39.000MB -4.0%) vs baseline: +4.7% ✅ modulo_aspect_for_bytesTime: ✅ 0.983µs (SLO: <10.000µs 📉 -90.2%) vs baseline: +0.8% Memory: ✅ 37.513MB (SLO: <39.000MB -3.8%) vs baseline: +4.9% ✅ modulo_aspect_for_bytes_bytearrayTime: ✅ 1.233µs (SLO: <10.000µs 📉 -87.7%) vs baseline: +1.9% Memory: ✅ 37.434MB (SLO: <39.000MB -4.0%) vs baseline: +4.9% ✅ modulo_noaspectTime: ✅ 0.630µs (SLO: <10.000µs 📉 -93.7%) vs baseline: +0.5% Memory: ✅ 37.591MB (SLO: <39.000MB -3.6%) vs baseline: +5.1% ✅ replace_aspectTime: ✅ 4.932µs (SLO: <10.000µs 📉 -50.7%) vs baseline: ~same Memory: ✅ 37.454MB (SLO: <39.000MB -4.0%) vs baseline: +4.9% ✅ replace_noaspectTime: ✅ 0.465µs (SLO: <10.000µs 📉 -95.4%) vs baseline: +1.5% Memory: ✅ 37.434MB (SLO: <39.000MB -4.0%) vs baseline: +4.8% ✅ repr_aspectTime: ✅ 0.908µs (SLO: <10.000µs 📉 -90.9%) vs baseline: +0.8% Memory: ✅ 37.454MB (SLO: <39.000MB -4.0%) vs baseline: +4.9% ✅ repr_noaspectTime: ✅ 0.420µs (SLO: <10.000µs 📉 -95.8%) vs baseline: +0.8% Memory: ✅ 37.434MB (SLO: <39.000MB -4.0%) vs baseline: +4.6% ✅ rstrip_aspectTime: ✅ 1.918µs (SLO: <20.000µs 📉 -90.4%) vs baseline: +0.4% Memory: ✅ 37.513MB (SLO: <39.000MB -3.8%) vs baseline: +5.0% ✅ rstrip_noaspectTime: ✅ 0.380µs (SLO: <10.000µs 📉 -96.2%) vs baseline: +1.1% Memory: ✅ 37.552MB (SLO: <39.000MB -3.7%) vs baseline: +5.1% ✅ slice_aspectTime: ✅ 0.496µs (SLO: <10.000µs 📉 -95.0%) vs baseline: ~same Memory: ✅ 37.591MB (SLO: <39.000MB -3.6%) vs baseline: +5.4% ✅ slice_noaspectTime: ✅ 0.452µs (SLO: <10.000µs 📉 -95.5%) vs baseline: +1.2% Memory: ✅ 37.493MB (SLO: <39.000MB -3.9%) vs baseline: +4.9% ✅ stringio_aspectTime: ✅ 1.526µs (SLO: <10.000µs 📉 -84.7%) vs baseline: -0.8% Memory: ✅ 37.454MB (SLO: <39.000MB -4.0%) vs baseline: +5.0% ✅ stringio_noaspectTime: ✅ 0.712µs (SLO: <10.000µs 📉 -92.9%) vs baseline: -0.7% Memory: ✅ 37.513MB (SLO: <39.000MB -3.8%) vs baseline: +4.6% ✅ strip_aspectTime: ✅ 2.296µs (SLO: <20.000µs 📉 -88.5%) vs baseline: +3.8% Memory: ✅ 37.454MB (SLO: <39.000MB -4.0%) vs baseline: +4.9% ✅ strip_noaspectTime: ✅ 0.383µs (SLO: <10.000µs 📉 -96.2%) vs baseline: ~same Memory: ✅ 37.532MB (SLO: <39.000MB -3.8%) vs baseline: +4.9% ✅ swapcase_aspectTime: ✅ 2.560µs (SLO: <10.000µs 📉 -74.4%) vs baseline: +5.7% Memory: ✅ 37.552MB (SLO: <39.000MB -3.7%) vs baseline: +5.0% ✅ swapcase_noaspectTime: ✅ 0.538µs (SLO: <10.000µs 📉 -94.6%) vs baseline: +0.4% Memory: ✅ 37.552MB (SLO: <39.000MB -3.7%) vs baseline: +5.0% ✅ title_aspectTime: ✅ 2.343µs (SLO: <10.000µs 📉 -76.6%) vs baseline: -0.2% Memory: ✅ 37.513MB (SLO: <39.000MB -3.8%) vs baseline: +5.0% ✅ title_noaspectTime: ✅ 0.504µs (SLO: <10.000µs 📉 -95.0%) vs baseline: +0.9% Memory: ✅ 37.532MB (SLO: <39.000MB -3.8%) vs baseline: +5.0% ✅ translate_aspectTime: ✅ 3.232µs (SLO: <10.000µs 📉 -67.7%) vs baseline: +0.3% Memory: ✅ 37.454MB (SLO: <39.000MB -4.0%) vs baseline: +4.6% ✅ translate_noaspectTime: ✅ 1.042µs (SLO: <10.000µs 📉 -89.6%) vs baseline: +0.5% Memory: ✅ 37.493MB (SLO: <39.000MB -3.9%) vs baseline: +4.9% ✅ upper_aspectTime: ✅ 2.207µs (SLO: <10.000µs 📉 -77.9%) vs baseline: -0.6% Memory: ✅ 37.493MB (SLO: <39.000MB -3.9%) vs baseline: +4.6% ✅ upper_noaspectTime: ✅ 0.370µs (SLO: <10.000µs 📉 -96.3%) vs baseline: +0.9% Memory: ✅ 37.473MB (SLO: <39.000MB -3.9%) vs baseline: +4.9% 📈 iastaspectsospath - 24/24✅ ospathbasename_aspectTime: ✅ 5.091µs (SLO: <10.000µs 📉 -49.1%) vs baseline: 📈 +22.1% Memory: ✅ 37.493MB (SLO: <39.000MB -3.9%) vs baseline: +4.8% ✅ ospathbasename_noaspectTime: ✅ 1.081µs (SLO: <10.000µs 📉 -89.2%) vs baseline: +0.2% Memory: ✅ 37.473MB (SLO: <39.000MB -3.9%) vs baseline: +4.7% ✅ ospathjoin_aspectTime: ✅ 6.148µs (SLO: <10.000µs 📉 -38.5%) vs baseline: -0.1% Memory: ✅ 37.434MB (SLO: <39.000MB -4.0%) vs baseline: +4.6% ✅ ospathjoin_noaspectTime: ✅ 2.293µs (SLO: <10.000µs 📉 -77.1%) vs baseline: +0.9% Memory: ✅ 37.454MB (SLO: <39.000MB -4.0%) vs baseline: +4.8% ✅ ospathnormcase_aspectTime: ✅ 4.120µs (SLO: <10.000µs 📉 -58.8%) vs baseline: 📈 +17.7% Memory: ✅ 37.473MB (SLO: <39.000MB -3.9%) vs baseline: +5.0% ✅ ospathnormcase_noaspectTime: ✅ 0.561µs (SLO: <10.000µs 📉 -94.4%) vs baseline: -1.2% Memory: ✅ 37.513MB (SLO: <39.000MB -3.8%) vs baseline: +5.0% ✅ ospathsplit_aspectTime: ✅ 5.840µs (SLO: <10.000µs 📉 -41.6%) vs baseline: 📈 +22.2% Memory: ✅ 37.434MB (SLO: <39.000MB -4.0%) vs baseline: +4.9% ✅ ospathsplit_noaspectTime: ✅ 1.592µs (SLO: <10.000µs 📉 -84.1%) vs baseline: +1.2% Memory: ✅ 37.532MB (SLO: <39.000MB -3.8%) vs baseline: +5.1% ✅ ospathsplitdrive_aspectTime: ✅ 3.683µs (SLO: <10.000µs 📉 -63.2%) vs baseline: ~same Memory: ✅ 37.493MB (SLO: <39.000MB -3.9%) vs baseline: +4.9% ✅ ospathsplitdrive_noaspectTime: ✅ 0.689µs (SLO: <10.000µs 📉 -93.1%) vs baseline: -0.4% Memory: ✅ 37.434MB (SLO: <39.000MB -4.0%) vs baseline: +4.6% ✅ ospathsplitext_aspectTime: ✅ 4.559µs (SLO: <10.000µs 📉 -54.4%) vs baseline: -0.7% Memory: ✅ 37.493MB (SLO: <39.000MB -3.9%) vs baseline: +5.0% ✅ ospathsplitext_noaspectTime: ✅ 1.382µs (SLO: <10.000µs 📉 -86.2%) vs baseline: -0.1% Memory: ✅ 37.532MB (SLO: <39.000MB -3.8%) vs baseline: +4.9% 🟡 Near SLO Breach (5 suites)🟡 djangosimple - 28/28✅ appsecTime: ✅ 20.484ms (SLO: <22.300ms -8.1%) vs baseline: -0.3% Memory: ✅ 64.507MB (SLO: <66.000MB -2.3%) vs baseline: +4.8% ✅ exception-replay-enabledTime: ✅ 1.348ms (SLO: <1.450ms -7.1%) vs baseline: -0.9% Memory: ✅ 63.506MB (SLO: <66.000MB -3.8%) vs baseline: +4.8% ✅ iastTime: ✅ 20.526ms (SLO: <22.250ms -7.7%) vs baseline: ~same Memory: ✅ 64.444MB (SLO: <66.000MB -2.4%) vs baseline: +4.8% ✅ profilerTime: ✅ 15.233ms (SLO: <16.550ms -8.0%) vs baseline: -0.2% Memory: ✅ 52.947MB (SLO: <53.500MB 🟡 -1.0%) vs baseline: +4.7% ✅ span-code-originTime: ✅ 26.167ms (SLO: <28.200ms -7.2%) vs baseline: -0.3% Memory: ✅ 66.732MB (SLO: <68.500MB -2.6%) vs baseline: +4.9% ✅ tracerTime: ✅ 20.524ms (SLO: <21.750ms -5.6%) vs baseline: +0.3% Memory: ✅ 64.468MB (SLO: <66.000MB -2.3%) vs baseline: +4.9% ✅ tracer-and-profilerTime: ✅ 22.114ms (SLO: <23.500ms -5.9%) vs baseline: ~same Memory: ✅ 66.028MB (SLO: <67.000MB 🟡 -1.5%) vs baseline: +5.0% ✅ tracer-dont-create-db-spansTime: ✅ 19.342ms (SLO: <21.500ms 📉 -10.0%) vs baseline: -0.4% Memory: ✅ 64.487MB (SLO: <66.000MB -2.3%) vs baseline: +4.7% ✅ tracer-minimalTime: ✅ 16.742ms (SLO: <17.500ms -4.3%) vs baseline: +0.4% Memory: ✅ 64.566MB (SLO: <66.000MB -2.2%) vs baseline: +5.0% ✅ tracer-nativeTime: ✅ 20.447ms (SLO: <21.750ms -6.0%) vs baseline: -0.4% Memory: ✅ 65.759MB (SLO: <66.000MB 🟡 -0.4%) vs baseline: +4.8% ✅ tracer-no-cachesTime: ✅ 18.429ms (SLO: <19.650ms -6.2%) vs baseline: -0.3% Memory: ✅ 64.507MB (SLO: <66.000MB -2.3%) vs baseline: +4.9% ✅ tracer-no-databasesTime: ✅ 18.806ms (SLO: <20.100ms -6.4%) vs baseline: ~same Memory: ✅ 64.487MB (SLO: <66.000MB -2.3%) vs baseline: +4.9% ✅ tracer-no-middlewareTime: ✅ 20.160ms (SLO: <21.500ms -6.2%) vs baseline: ~same Memory: ✅ 64.566MB (SLO: <66.000MB -2.2%) vs baseline: +5.0% ✅ tracer-no-templatesTime: ✅ 20.421ms (SLO: <22.000ms -7.2%) vs baseline: +0.4% Memory: ✅ 64.527MB (SLO: <66.000MB -2.2%) vs baseline: +4.9% 🟡 errortrackingdjangosimple - 6/6✅ errortracking-enabled-allTime: ✅ 18.180ms (SLO: <19.850ms -8.4%) vs baseline: +0.7% Memory: ✅ 64.586MB (SLO: <65.500MB 🟡 -1.4%) vs baseline: +5.0% ✅ errortracking-enabled-userTime: ✅ 18.093ms (SLO: <19.400ms -6.7%) vs baseline: ~same Memory: ✅ 64.506MB (SLO: <65.500MB 🟡 -1.5%) vs baseline: +4.9% ✅ tracer-enabledTime: ✅ 18.024ms (SLO: <19.450ms -7.3%) vs baseline: ~same Memory: ✅ 64.464MB (SLO: <65.500MB 🟡 -1.6%) vs baseline: +4.8% 🟡 flasksimple - 17/17✅ appsec-getTime: ✅ 4.586ms (SLO: <4.750ms -3.5%) vs baseline: -0.3% Memory: ✅ 62.364MB (SLO: <64.500MB -3.3%) vs baseline: +5.0% ✅ appsec-postTime: ✅ 6.588ms (SLO: <6.750ms -2.4%) vs baseline: ~same Memory: ✅ 62.364MB (SLO: <64.500MB -3.3%) vs baseline: +4.8% ✅ appsec-telemetryTime: ✅ 4.572ms (SLO: <4.750ms -3.7%) vs baseline: -0.5% Memory: ✅ 62.403MB (SLO: <64.500MB -3.3%) vs baseline: +4.9% ✅ debuggerTime: ✅ 1.852ms (SLO: <2.000ms -7.4%) vs baseline: ~same Memory: ✅ 44.787MB (SLO: <45.000MB 🟡 -0.5%) vs baseline: +4.9% ✅ iast-getTime: ✅ 1.851ms (SLO: <2.000ms -7.4%) vs baseline: -0.1% Memory: ✅ 41.819MB (SLO: <49.000MB 📉 -14.7%) vs baseline: +5.1% ✅ profilerTime: ✅ 1.917ms (SLO: <2.100ms -8.7%) vs baseline: +0.3% Memory: ✅ 44.394MB (SLO: <46.500MB -4.5%) vs baseline: +4.8% ✅ tracerTime: ✅ 3.377ms (SLO: <3.650ms -7.5%) vs baseline: ~same Memory: ✅ 51.393MB (SLO: <53.500MB -3.9%) vs baseline: +4.8% ✅ tracer-nativeTime: ✅ 3.373ms (SLO: <3.650ms -7.6%) vs baseline: +0.2% Memory: ✅ 52.711MB (SLO: <53.500MB 🟡 -1.5%) vs baseline: +4.9% 🟡 flasksqli - 6/6✅ appsec-enabledTime: ✅ 3.948ms (SLO: <4.200ms -6.0%) vs baseline: -0.5% Memory: ✅ 62.536MB (SLO: <66.000MB -5.2%) vs baseline: +4.6% ✅ iast-enabledTime: ✅ 2.446ms (SLO: <2.800ms 📉 -12.6%) vs baseline: -0.2% Memory: ✅ 58.090MB (SLO: <59.000MB 🟡 -1.5%) vs baseline: +4.8% ✅ tracer-enabledTime: ✅ 2.078ms (SLO: <2.250ms -7.6%) vs baseline: -0.2% Memory: ✅ 51.250MB (SLO: <53.500MB -4.2%) vs baseline: +4.8% 🟡 otelspan - 22/22✅ add-eventTime: ✅ 45.109ms (SLO: <47.150ms -4.3%) vs baseline: -0.3% Memory: ✅ 44.611MB (SLO: <46.500MB -4.1%) vs baseline: +4.8% ✅ add-metricsTime: ✅ 323.826ms (SLO: <344.800ms -6.1%) vs baseline: ~same Memory: ✅ 552.706MB (SLO: <562.000MB 🟡 -1.7%) vs baseline: +4.9% ✅ add-tagsTime: ✅ 293.041ms (SLO: <314.000ms -6.7%) vs baseline: +0.5% Memory: ✅ 554.643MB (SLO: <563.500MB 🟡 -1.6%) vs baseline: +4.9% ✅ get-contextTime: ✅ 82.593ms (SLO: <92.350ms 📉 -10.6%) vs baseline: -0.3% Memory: ✅ 39.891MB (SLO: <46.500MB 📉 -14.2%) vs baseline: +5.0% ✅ is-recordingTime: ✅ 42.749ms (SLO: <44.500ms -3.9%) vs baseline: -0.3% Memory: ✅ 44.137MB (SLO: <46.500MB -5.1%) vs baseline: +4.8% ✅ record-exceptionTime: ✅ 61.643ms (SLO: <67.650ms -8.9%) vs baseline: ~same Memory: ✅ 40.190MB (SLO: <46.500MB 📉 -13.6%) vs baseline: +5.1% ✅ set-statusTime: ✅ 48.650ms (SLO: <50.400ms -3.5%) vs baseline: -0.5% Memory: ✅ 44.111MB (SLO: <46.500MB -5.1%) vs baseline: +4.9% ✅ startTime: ✅ 42.299ms (SLO: <43.450ms -2.6%) vs baseline: +0.4% Memory: ✅ 44.065MB (SLO: <46.500MB -5.2%) vs baseline: +4.8% ✅ start-finishTime: ✅ 83.143ms (SLO: <88.000ms -5.5%) vs baseline: +0.2% Memory: ✅ 33.935MB (SLO: <46.500MB 📉 -27.0%) vs baseline: +4.5% ✅ start-finish-telemetryTime: ✅ 84.600ms (SLO: <89.000ms -4.9%) vs baseline: +0.1% Memory: ✅ 34.013MB (SLO: <46.500MB 📉 -26.9%) vs baseline: +4.9% ✅ update-nameTime: ✅ 44.168ms (SLO: <45.150ms -2.2%) vs baseline: +0.2% Memory: ✅ 44.352MB (SLO: <46.500MB -4.6%) vs baseline: +4.8%
|
PR by Bits for Dev Agent Session identified by campaign Campaign for python-flask/ssrf-requests Sep. 03 2025 created by Tanishq Dubey.
You can ask for changes by mentioning @DataDog in a comment.
Feedback (especially what can be better) welcome in #code-gen-feedback!
This change sanitizes user-supplied URL parts in the Django test view ssrf_requests to address static analysis violations for potential SSRF patterns. Specifically:
Motivation: Resolve python-flask/ssrf-requests findings by avoiding direct interpolation of request-derived data into URLs, even within tests, and improve overall test safety and maintainability.
Testing strategy: Rely on the existing appsec Django integration tests; these changes preserve request semantics while ensuring proper encoding/validation. Manually exercised the modified options locally to confirm behavior (e.g., special characters in path are encoded; unsupported schemes fall back to http; multiple params are correctly encoded). No user-facing behavior in the library is affected.
Risks: Low. Changes are isolated to test code. Potential for behavior differences if tests implicitly relied on unencoded paths or arbitrary schemes; validated that primary test flows remain intact.
No release notes or documentation updates are required as this only affects test code.
Checklist
Reviewer Checklist