Skip to content

Harden workspace manifest HTTPS redirects - #1781

Merged
codeforester merged 2 commits into
mainfrom
security/1770-20260726-manifest-https-redirect
Jul 28, 2026
Merged

Harden workspace manifest HTTPS redirects#1781
codeforester merged 2 commits into
mainfrom
security/1770-20260726-manifest-https-redirect

Conversation

@codeforester

@codeforester codeforester commented Jul 28, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Reject workspace manifest redirects that leave HTTPS.
  • Verify the final manifest response URL is also HTTPS.
  • Add redirect-handler coverage for allowed and rejected targets.
  • Suppress only the framework-mandated argument-count diagnostics on the urllib redirect override.

Issue

Closes #1770

Validation

  • Workspace-pull focused tests: 12 passed.
  • Full pinned Pylint matrix for Python 3.10–3.13 passed locally and on GitHub Actions.
  • Full base_projects Python suite: 1058 passed, 1 skipped, 251 subtests passed.
  • compileall and git diff --check passed.

Security Notes

Manifest contents are now read only when the redirect chain and final response remain on HTTPS. HTTP redirect targets are rejected before their response body is consumed.

Demo Impact

None.

Notes

  • .ai-context/ is unchanged because this is a narrow implementation and regression-test fix.

Checklist

  • Tests added or updated
  • No unrelated changes

@codeforester
codeforester marked this pull request as ready for review July 28, 2026 03:45
@codeforester
codeforester requested a review from a team as a code owner July 28, 2026 03:45
@codeforester
codeforester merged commit 61ba9c9 into main Jul 28, 2026
28 checks passed
@codeforester
codeforester deleted the security/1770-20260726-manifest-https-redirect branch July 28, 2026 03:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Reject HTTPS workspace-manifest redirects to HTTP

1 participant