fix(policy): allow credentialed L4 GitHub endpoints in default policies - #93
Closed
russellb wants to merge 1 commit into
Closed
fix(policy): allow credentialed L4 GitHub endpoints in default policies#93russellb wants to merge 1 commit into
russellb wants to merge 1 commit into
Conversation
The base and per-agent sandbox policies list github.com and api.github.com as plain L4 (uninspected) endpoints in rules such as pypi, copilot, and the agent rules. On their own these are fine, but when a GitHub credential provider is attached to a sandbox the gateway marks every endpoint that reaches a credentialed host as a credentialed endpoint and rejects any that are L4-only. As a result, any `openshell policy set` or `openshell policy update` on a provider-backed sandbox fails with: credentialed endpoint 'github.com:443' in rule 'pypi' uses L4-only; configure L7 inspection or explicitly set allow_uninspected_credentials: true These endpoints are intentionally uninspected (uv downloading python-build-standalone assets, Copilot auth/user management, agent binary updates from GitHub release assets), so set allow_uninspected_credentials: true to make that intent explicit and keep the default policies applyable on provider-backed sandboxes. Signed-off-by: Russell Bryant <russell.bryant@gmail.com>
This was referenced Sep 2, 2026
Contributor
Author
|
Closing in favor of NVIDIA/OpenShell#3129, which fixes the underlying gateway behavior directly: it makes the credential gate differential so inherited uninspected endpoints from a sandbox's baked default policy no longer block unrelated |
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
What
Mark the plain L4
github.comandapi.github.comendpoints in the default sandbox policies asallow_uninspected_credentials: true.Affected policies:
base,droid,gemini,pi,ollama.Why
These policies list
github.com/api.github.comas plain L4 (uninspected) endpoints in rules such aspypi,copilot, and the agent rules. On their own that is fine. But when a GitHub credential provider is attached to a sandbox, the gateway marks every endpoint that reaches a credentialed host as a credentialed endpoint and rejects any that are L4-only (to stop an injected token leaking over an uninspected connection).The result: on a provider-backed sandbox, any
openshell policy setoropenshell policy updatefails — even when the change is unrelated to GitHub — with:This is the root cause behind NVIDIA/OpenShell#2998 for users who create a sandbox with a GitHub provider on the default policy.
Approach
These endpoints are intentionally uninspected —
uvdownloadingpython-build-standalonerelease assets, Copilot auth/user management, and agent binaries fetching updates from GitHub release assets. Settingallow_uninspected_credentials: truemakes that intent explicit and restores the policies' behavior on provider-backed sandboxes, without changing anything for sandboxes that have no provider attached.A more restrictive alternative would be to convert each endpoint to L7-inspected rules, but the affected rules bind to binaries (uv/python, copilot, agents) whose GitHub flows include
POST(e.g. Copilot device-auth) and non-REST traffic, so an L7 read-only rule would break them. The explicit opt-in is the lowest-risk, behavior-preserving fix; maintainers can tighten specific endpoints to L7 later.Testing
python3 -c "import yaml; yaml.safe_load(...)"on all five policies — valid.Related: NVIDIA/OpenShell#2998