You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
python -m ruff format --check invokeai/app/util/ssrf.py tests/app/util/test_ssrf.py
Python compilation and git diff --check pass.
Merge Plan
This is intentionally limited to the proxy-manager path described in #9493. It does not change the explicit private-download opt-out or the separate injected-session follow-up.
Checklist
I have performed a self-review of my own code
I have added or updated focused tests
I have checked the diff for secrets and unrelated files
Synced this branch with current main (ef832d1aa) in merge commit 1b66e1299. The PR diff remains limited to ssrf.py and its focused test. Revalidation on the updated tree: the explicit-loopback-proxy regression passed; 68 additional SSRF tests passed; Ruff check/format, Python compilation, and git diff --check passed. One unrelated host-specific test (test_no_warning_without_a_proxy) sees the Windows system proxy registry and fails even after proxy environment variables are cleared; I reproduced the identical failure on a clean detached origin/main, so it is not introduced by this PR. Fresh full CI is now running.
Added HTTPS CONNECT-tunnel coverage in e92a43935 so the regression now proves the connected-peer guard rejects a loopback explicit proxy for both plain HTTP requests and HTTPS tunnels. Focused proxy cases: 2/2 passed. The broader SSRF file passed 69 tests with only the previously documented host-dependent system-proxy case excluded; Ruff check/format and git diff --check passed.
The latest Windows 3.11 matrix failed in the unrelated PID decoder test TestNameEvidence::test_one_component_naming_two_backbones_decides_nothing (DID NOT RAISE NotAMatchError); the job otherwise completed 5,603 tests. Windows 3.12 was then cancelled by fail-fast. This PR's latest commit changes only the SSRF proxy test, and the same merged base passed both Windows matrices on the immediately preceding head, so no PID/model-manager code is in the diff.
I also reran that exact failing test locally on Windows with the repository's full dependency environment; it passed (1 passed in 0.27s). I attempted to rerun the failed Actions jobs, but fork authors do not have the repository permission required. Could a maintainer rerun the failed workflow when convenient?
Windows Python 3.11 completed with 5,603 passed and one failure in tests/backend/model_manager/configs/test_pid_decoder_config.py::TestNameEvidence::test_one_component_naming_two_backbones_decides_nothing (NotAMatchError was not raised).
Windows Python 3.12 was cancelled after 5,514 tests had passed when the matrix failed.
All eight non-test workflows passed.
The failing test is outside this PR's two changed files (invokeai/app/util/ssrf.py and tests/app/util/test_ssrf.py). I also cannot rerun the upstream workflow from the fork integration (GitHub returns 403). Could a maintainer rerun the failed Python jobs? I do not see a source change in this PR that would address this unrelated model-identification failure.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
pythonPRs that change python filespython-testsPRs that change python tests
1 participant
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
download_proxyfrom bypassing the connected-peer SSRF checkRelated Issues / Discussions
Refs #9493 (download-queue SSRF follow-up, item 2).
QA Instructions
UnsafeDownloadURLException.python -m ruff check invokeai/app/util/ssrf.py tests/app/util/test_ssrf.pypython -m ruff format --check invokeai/app/util/ssrf.py tests/app/util/test_ssrf.pygit diff --checkpass.Merge Plan
This is intentionally limited to the proxy-manager path described in #9493. It does not change the explicit private-download opt-out or the separate injected-session follow-up.
Checklist