Skip to content

Add opt-in SSRF validation to Apps-Engine HTTP accessor#38730

Draft
Copilot wants to merge 5 commits intochange-checkforssrffrom
copilot/sub-pr-38044
Draft

Add opt-in SSRF validation to Apps-Engine HTTP accessor#38730
Copilot wants to merge 5 commits intochange-checkforssrffrom
copilot/sub-pr-38044

Conversation

Copy link
Contributor

Copilot AI commented Feb 16, 2026

  • Understand the current implementation and patterns in apps-engine package
  • Add ssrfValidation option to IHttpRequest interface in definition
  • Update Http accessor to pass the option through to the bridge
  • Update HttpBridge to include the option in IHttpBridgeRequestInfo
  • Update AppHttpBridge in meteor app to use the option for ignoreSsrfValidation
  • Ensure default value evaluates to true (no SSRF validation by default for backward compatibility)
  • Update Deno runtime HTTP accessor to pass the option
  • Add appropriate tests for the new functionality
  • Address code review feedback (improve logic explicitness and fix documentation)
  • Fix CI test failure - update test to properly capture bridge calls
  • Verify CI passes

💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

@changeset-bot
Copy link

changeset-bot bot commented Feb 16, 2026

⚠️ No Changeset found

Latest commit: 41c9a03

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@dionisio-bot
Copy link
Contributor

dionisio-bot bot commented Feb 16, 2026

Looks like this PR is not ready to merge, because of the following issues:

  • This PR is missing the 'stat: QA assured' label
  • This PR is missing the required milestone or project
  • This PR has an invalid title

Please fix the issues and try again

If you have any trouble, please check the PR guidelines

Copilot AI and others added 2 commits February 16, 2026 17:07
Co-authored-by: d-gubert <1810309+d-gubert@users.noreply.github.com>
Co-authored-by: d-gubert <1810309+d-gubert@users.noreply.github.com>
Copilot AI changed the title [WIP] Update SSRF validation in checkUrlForSsrf implementation Add opt-in SSRF validation to Apps-Engine HTTP accessor Feb 16, 2026
Copilot AI requested a review from d-gubert February 16, 2026 17:10
@github-actions
Copy link
Contributor

github-actions bot commented Feb 16, 2026

📦 Docker Image Size Report

📈 Changes

Service Current Baseline Change Percent
sum of all images 1.1GiB 1.1GiB +11MiB
rocketchat 360MiB 349MiB +11MiB
omnichannel-transcript-service 134MiB 134MiB -992B
queue-worker-service 134MiB 134MiB +194B
ddp-streamer-service 128MiB 128MiB -1.2KiB
account-service 115MiB 115MiB -37B
authorization-service 112MiB 112MiB -1.1KiB
presence-service 112MiB 112MiB -187B

📊 Historical Trend

---
config:
  theme: "dark"
  xyChart:
    width: 900
    height: 400
---
xychart
  title "Image Size Evolution by Service (Last 30 Days + This PR)"
  x-axis ["11/24 17:34", "11/27 22:32", "11/28 19:05", "12/01 23:01", "12/02 21:57", "12/03 21:00", "12/04 18:17", "12/05 21:56", "12/08 20:15", "12/09 22:17", "12/10 23:26", "12/11 21:56", "12/12 22:45", "12/13 01:34", "12/15 22:31", "12/16 22:18", "12/17 21:04", "12/18 23:12", "12/19 23:27", "12/20 21:03", "12/22 18:54", "12/23 16:16", "12/24 19:38", "12/25 17:51", "12/26 13:18", "12/29 19:01", "12/30 20:52", "02/12 22:57", "02/13 22:38", "02/16 14:04", "02/17 15:11 (PR)"]
  y-axis "Size (GB)" 0 --> 0.5
  line "account-service" [0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11]
  line "authorization-service" [0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11]
  line "ddp-streamer-service" [0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12]
  line "omnichannel-transcript-service" [0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13]
  line "presence-service" [0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11]
  line "queue-worker-service" [0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13]
  line "rocketchat" [0.34, 0.34, 0.34, 0.34, 0.34, 0.34, 0.34, 0.34, 0.34, 0.34, 0.34, 0.34, 0.34, 0.34, 0.34, 0.34, 0.34, 0.34, 0.34, 0.34, 0.34, 0.34, 0.34, 0.34, 0.34, 0.34, 0.34, 0.34, 0.34, 0.34, 0.35]
Loading

Statistics (last 30 days):

  • 📊 Average: 1.5GiB
  • ⬇️ Minimum: 1.4GiB
  • ⬆️ Maximum: 1.6GiB
  • 🎯 Current PR: 1.1GiB
ℹ️ About this report

This report compares Docker image sizes from this build against the develop baseline.

  • Tag: pr-38730
  • Baseline: develop
  • Timestamp: 2026-02-17 15:11:59 UTC
  • Historical data points: 30

Updated: Tue, 17 Feb 2026 15:12:00 GMT

Co-authored-by: d-gubert <1810309+d-gubert@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Feb 16, 2026

@copilot fix the following CI errors

https://github.com/RocketChat/Rocket.Chat/actions/runs/22071685141/job/63779382230?pr=38730
...

Fixed the test failure in commit 2530b93. The test was using an incorrect pattern to access spy call arguments. I've updated it to properly capture the bridge call parameters using a simpler pattern that overrides the doCall method.

The failing tests were:

  1. Unit Tests: ssrfValidationOption test - now fixed
  2. TypeScript check - should pass now that the test file is corrected

CI should pass on the next run.

@codecov
Copy link

codecov bot commented Feb 16, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 70.50%. Comparing base (18365fe) to head (2530b93).

Additional details and impacted files

Impacted file tree graph

@@                   Coverage Diff                   @@
##           change-checkforssrf   #38730      +/-   ##
=======================================================
- Coverage                70.50%   70.50%   -0.01%     
=======================================================
  Files                     3178     3176       -2     
  Lines                   111281   111226      -55     
  Branches                 20059    20099      +40     
=======================================================
- Hits                     78464    78415      -49     
+ Misses                   30771    30765       -6     
  Partials                  2046     2046              
Flag Coverage Δ
unit 71.49% <ø> (-0.01%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

🚀 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants