Skip to content

Contain workspace clone targets - #1782

Merged
codeforester merged 1 commit into
mainfrom
security/1771-20260726-workspace-clone-containment
Jul 28, 2026
Merged

Contain workspace clone targets#1782
codeforester merged 1 commit into
mainfrom
security/1771-20260726-workspace-clone-containment

Conversation

@codeforester

Copy link
Copy Markdown
Collaborator

Summary

  • Resolve the workspace root before cloning repositories.
  • Reject repository targets whose symlinks resolve outside that root.
  • Report the invalid target and continue with the remaining repositories.

Issue

Closes #1771

Validation

  • Workspace-clone focused tests: 5 passed.
  • Full base_projects Python suite: 1057 passed, 1 skipped, 251 subtests passed.
  • compileall and git diff --check passed.

Security Notes

Repository clone destinations are checked after symlink resolution and must remain descendants of the resolved workspace root. A repository entry that escapes the workspace is rejected before invoking the clone operation.

Demo Impact

None.

Notes

  • .ai-context/ is unchanged because this is a narrow implementation and regression-test fix.
  • pylint was not run because it is not installed in the local environment.

Checklist

  • Tests added or updated
  • No unrelated changes

@codeforester
codeforester marked this pull request as ready for review July 28, 2026 03:11
@codeforester
codeforester requested a review from a team as a code owner July 28, 2026 03:11
@codeforester
codeforester merged commit e876d2f into main Jul 28, 2026
28 checks passed
@codeforester
codeforester deleted the security/1771-20260726-workspace-clone-containment branch July 28, 2026 03:11
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.

Keep workspace clone targets inside the workspace root

1 participant