Skip to content

fix(agents): replace blanket network ban with safelisted registries#306

Merged
peteroden merged 1 commit intomainfrom
fix/301-developer-agent-network-safelist
Mar 16, 2026
Merged

fix(agents): replace blanket network ban with safelisted registries#306
peteroden merged 1 commit intomainfrom
fix/301-developer-agent-network-safelist

Conversation

@peteroden
Copy link
Owner

@peteroden peteroden commented Mar 16, 2026

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 init and 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

  1. Dispatch a developer agent for a Terraform task — should no longer self-limit on registry access
  2. Dispatch a developer agent to add a Python dependency — should update pyproject.toml + uv sync, not pip install
  3. Verify agent still refuses arbitrary curl/wget to non-safelisted URLs

Design Decisions

  • Safelist is behavioral, not technical. The project devcontainer never used --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.com included because Terraform downloads provider binaries from there, not just registry.terraform.io.
  • Safelist scoped to current project stack. Other ecosystems (npm, cargo) not included — expand when those stacks are used.

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

@peteroden peteroden force-pushed the fix/301-developer-agent-network-safelist branch from 17dd60a to e386932 Compare March 16, 2026 15:35
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>
@peteroden peteroden force-pushed the fix/301-developer-agent-network-safelist branch from e386932 to 6b4eadb Compare March 16, 2026 17:35
@peteroden peteroden merged commit a5721f0 into main Mar 16, 2026
11 checks passed
@peteroden peteroden deleted the fix/301-developer-agent-network-safelist branch March 16, 2026 17:39
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.

Developer agent cannot validate Terraform or access worktree paths

1 participant