| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
GetIssueParent returned the parent issue title raw and ungated by lockdown mode, so an agent could read an unverified, possibly cross-repo parent title even with lockdown enabled. Always sanitize the parent title and, under lockdown mode, only return the parent when its author has push access to the parent repository, failing closed otherwise. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
This PR closes a security/lockdown gap in issue_read’s get_parent method by ensuring the parent issue title is sanitized and (when lockdown mode is enabled) only returned if the parent author’s content can be verified as safe via push-access checks.
Changes:
| File | Description |
|---|---|
| pkg/github/issues.go | Adds sanitization + lockdown safe-content gating to GetIssueParent and threads deps into the handler. |
| pkg/github/issues_test.go | Updates mocked GraphQL shape and adds lockdown-mode test coverage for get_parent. |
Sorry, something went wrong.
Embed a U+202E BiDi control char in the mocked parent title so the happy-path assertion fails if Sanitize is removed, and tighten the GetIssueParent comments. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
| Back | FazBrowse Home | New Git URL |
Summary
Closes a pre-existing gap where issue_read get_parent returned the parent issue's title raw — unsanitized and not gated by lockdown mode at all.
Why
Found while reviewing #2764 (which adds parent-issue hierarchy to issue_read get and gates the parent reference under lockdown). The sibling get_parent handler (GetIssueParent) had no such protection, so an agent could read an unverified, possibly cross-repo parent title even with lockdown enabled. This is on main today, independent of #2764, so it's intentionally a separate, minimal PR rather than folded into #2764.
What changed
MCP impact
Prompts tested (tool changes only)
Security / limits
Tool renaming
Lint & tests
Docs