Skip to content

[DI] Sanitize instanceof class in probe conditions#5520

Merged
watson merged 2 commits intomasterfrom
watson/DEBUG-2626/probe-condition-instanceof
Apr 4, 2025
Merged

[DI] Sanitize instanceof class in probe conditions#5520
watson merged 2 commits intomasterfrom
watson/DEBUG-2626/probe-condition-instanceof

Conversation

@watson
Copy link
Copy Markdown
Collaborator

@watson watson commented Apr 2, 2025

What does this PR do?

Santize the content on the right side of the instanceof operator (i.e. the constructor part).

Motivation

Otherwise this could lead to code injection. You could for example in our UI write foo instanceof "(Object.prototype.foo = 42, Object)".

Plugin Checklist

Additional Notes

@watson watson self-assigned this Apr 2, 2025
Copy link
Copy Markdown
Collaborator Author

watson commented Apr 2, 2025

This stack of pull requests is managed by Graphite. Learn more about stacking.

@watson watson added semver-patch debugger Dynamic Instrumentation & Live Debugger labels Apr 2, 2025
@watson watson requested a review from shatzi April 2, 2025 11:21
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 2, 2025

Overall package size

Self size: 9.24 MB
Deduped: 101.55 MB
No deduping: 102.06 MB

Dependency sizes | name | version | self size | total size | |------|---------|-----------|------------| | @datadog/libdatadog | 0.5.0 | 29.83 MB | 29.83 MB | | @datadog/native-appsec | 8.5.1 | 19.26 MB | 19.27 MB | | @datadog/native-iast-taint-tracking | 3.3.0 | 13.77 MB | 13.78 MB | | @datadog/pprof | 5.6.0 | 9.79 MB | 10.16 MB | | @opentelemetry/core | 1.30.1 | 908.66 kB | 7.16 MB | | protobufjs | 7.4.0 | 2.77 MB | 5.42 MB | | @datadog/wasm-js-rewriter | 3.1.0 | 2.37 MB | 2.52 MB | | @datadog/native-metrics | 3.1.0 | 1.06 MB | 1.46 MB | | @opentelemetry/api | 1.8.0 | 1.21 MB | 1.21 MB | | import-in-the-middle | 1.13.1 | 117.64 kB | 839.26 kB | | source-map | 0.7.4 | 226 kB | 226 kB | | opentracing | 0.14.7 | 194.81 kB | 194.81 kB | | lru-cache | 7.18.3 | 133.92 kB | 133.92 kB | | pprof-format | 2.1.0 | 111.69 kB | 111.69 kB | | @datadog/sketches-js | 2.1.1 | 109.9 kB | 109.9 kB | | lodash.sortby | 4.7.0 | 75.76 kB | 75.76 kB | | ignore | 5.3.2 | 53.63 kB | 53.63 kB | | istanbul-lib-coverage | 3.2.0 | 29.34 kB | 29.34 kB | | rfdc | 1.4.1 | 27.15 kB | 27.15 kB | | @isaacs/ttlcache | 1.4.1 | 25.2 kB | 25.2 kB | | tlhunter-sorted-set | 0.1.0 | 24.94 kB | 24.94 kB | | dc-polyfill | 0.1.6 | 24.56 kB | 24.56 kB | | shell-quote | 1.8.2 | 23.54 kB | 23.54 kB | | limiter | 1.1.5 | 23.17 kB | 23.17 kB | | retry | 0.13.1 | 18.85 kB | 18.85 kB | | semifies | 1.0.0 | 15.84 kB | 15.84 kB | | jest-docblock | 29.7.0 | 8.99 kB | 12.76 kB | | crypto-randomuuid | 1.0.0 | 11.18 kB | 11.18 kB | | ttl-set | 1.0.0 | 4.61 kB | 9.69 kB | | path-to-regexp | 0.1.12 | 6.6 kB | 6.6 kB | | koalas | 1.0.2 | 6.47 kB | 6.47 kB | | module-details-from-path | 1.0.3 | 4.47 kB | 4.47 kB |

🤖 This report was automatically generated by heaviest-objects-in-the-universe

@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 2, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 79.33%. Comparing base (1db78a6) to head (73ba1d4).
Report is 1 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #5520   +/-   ##
=======================================
  Coverage   79.33%   79.33%           
=======================================
  Files         513      513           
  Lines       23248    23248           
=======================================
  Hits        18443    18443           
  Misses       4805     4805           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@datadog-datadog-prod-us1
Copy link
Copy Markdown

datadog-datadog-prod-us1 Bot commented Apr 2, 2025

Datadog Report

Branch report: watson/DEBUG-2626/probe-condition-instanceof
Commit report: 95df5f9
Test service: dd-trace-js-integration-tests

✅ 0 Failed, 922 Passed, 0 Skipped, 11m 36.88s Total Time

@pr-commenter
Copy link
Copy Markdown

pr-commenter Bot commented Apr 2, 2025

Benchmarks

Benchmark execution time: 2025-04-02 11:29:47

Comparing candidate commit 14a5d17 in PR branch watson/DEBUG-2626/probe-condition-instanceof with baseline commit b94052c in branch master.

Found 0 performance improvements and 0 performance regressions! Performance is the same for 944 metrics, 19 unstable metrics.

@watson watson marked this pull request as ready for review April 4, 2025 12:15
@watson watson requested review from a team as code owners April 4, 2025 12:15
@watson watson enabled auto-merge (squash) April 4, 2025 12:16
@watson watson merged commit ca02e1d into master Apr 4, 2025
337 of 426 checks passed
@watson watson deleted the watson/DEBUG-2626/probe-condition-instanceof branch April 4, 2025 12:16
@wconti27 wconti27 mentioned this pull request Apr 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

debugger Dynamic Instrumentation & Live Debugger semver-patch

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants