fix(agents): replace blanket network ban with safelisted registries#306
Merged
fix(agents): replace blanket network ban with safelisted registries#306
Conversation
17dd60a to
e386932
Compare
Replace 'no network access' restriction in developer agent with an explicit safelist of allowed destinations: Terraform registry, PyPI, and Azure/Jira/GitLab documentation sites. Update devcontainer-setup and worktree-setup skills to remove --network=none mandate. Add dependency installation policy: all deps must go through declarative config (pyproject.toml, devcontainer.json, package.json) — never ad-hoc runtime installation. Agents can add new dependencies by updating config files and running the appropriate lockfile installer. The previous blanket ban caused developer agents to silently skip terraform init and other registry-dependent operations, requiring fallback to general-purpose agents for all infra tasks. Closes #301 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
e386932 to
6b4eadb
Compare
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
Replace the unenforceable "no network access" restriction in the developer agent with an explicit safelist of allowed network destinations. Add a dependency installation policy enforcing reproducible, declarative dependency management. Update devcontainer-setup and worktree-setup skills to match.
Why
The blanket network ban caused developer agents to silently skip
terraform initand other registry-dependent operations, requiring fallback to general-purpose agents for all infrastructure tasks (issue #301).Changes
developer.agent.md: Replace "no network" with safelist table (Terraform, PyPI, Azure/Jira/GitLab docs). Add "Adding Dependencies" section requiring declarative config for all new deps.devcontainer-setup/SKILL.md: Update yolo tier (remove--network=none). Add "Dependency Installation Policy" section with allowed/prohibited table.worktree-setup/SKILL.md: Remove"network": "none"mandate for yolo agents.How to Test
pyproject.toml+uv sync, notpip installcurl/wgetto non-safelisted URLsDesign Decisions
--network=none(runs curl/uv/npm in postCreateCommand). The safelist is an agent instruction, not a firewall rule. The devcontainer sandbox provides real isolation.releases.hashicorp.comincluded because Terraform downloads provider binaries from there, not justregistry.terraform.io.OWASP Self-Review
All N/A or improvement (agent instruction files, not application code). Explicit allowlist is a security improvement over an unenforceable blanket ban.
Closes #301