fix seed SSRF - #942
Conversation
|
ⓘ Qodo reviews are paused because the subscription is no longer active. Ask your workspace admin to reactivate the subscription to resume reviews. Manage billing |
PR Summary by QodoHarden SeedDataManager API loading with SSRF-guarded requests
AI Description
Diagram
High-Level Assessment
Files changed (2)
|
🔒 Security Scan ResultsSafety — dependency vulnerabilities✅ No findings. Bandit — HIGH-severity code issues✅ No findings. Semgrep — static analysis patternsFound 55. Show all findings
This security scan runs automatically on source-code PRs and bi-weekly (skipped for doc/markdown-only changes). 📊 Security Policy: CI fails on Safety vulnerabilities and Bandit HIGH-severity findings. Semgrep findings above are informational and do not block merge. |
Code Review by Qodo
1. No private-IP escape hatch
|
|
Qodo bot's finding is irrelevant to this PR and that is intentional for this PR.
|
Understood. The current PR review index contains no active findings, so there is nothing here to dismiss. Treating |
🔒 Security Scan ResultsSafety — dependency vulnerabilities✅ No findings. Bandit — HIGH-severity code issues✅ No findings. Semgrep — static analysis patternsFound 55. Show all findings
This security scan runs automatically on source-code PRs and bi-weekly (skipped for doc/markdown-only changes). 📊 Security Policy: CI fails on Safety vulnerabilities and Bandit HIGH-severity findings. Semgrep findings above are informational and do not block merge. |
🔒 Security Scan ResultsSafety — dependency vulnerabilities✅ No findings. Bandit — HIGH-severity code issues✅ No findings. Semgrep — static analysis patternsFound 55. Show all findings
This security scan runs automatically on source-code PRs and bi-weekly (skipped for doc/markdown-only changes). 📊 Security Policy: CI fails on Safety vulnerabilities and Bandit HIGH-severity findings. Semgrep findings above are informational and do not block merge. |
Sameer6305
left a comment
There was a problem hiding this comment.
Verified the fix end-to-end against upstream/main. The original SSRF vulnerability is confirmed, and the change to request_with_ssrf_guard() correctly closes the affected path.
I also verified the redirect protection, DNS/IP validation, blocked internal addresses, and relevant error handling. The focused tests and existing SSRF coverage pass successfully, with no blocking regressions found.
I found a few unrelated pre-existing issues during the review as well:
Authorizationheaders can be forwarded across cross-origin redirects.- The caller-provided
headersdictionary can be mutated when addingAuthorization. - There is a now-unnecessary
except (ImportError, OSError)around the old lazyrequestsimport.
These are outside the scope of this PR, so I’ll file separate issues for them.
The PR is correct and approved from my side.
Summary
Fixed SSRF issue in
SeedDataManager.load_from_api().Previously it was directly using
requests.get()with the user provided API URL. Now it uses the existingrequest_with_ssrf_guard()helper.Changes
requests.get()call withrequest_with_ssrf_guard()Testing