On this page

Network Egress Control

Outbound connections from an evaluation environment reach only the destinations on the run's egress allow-list, and every other connection attempt is refused and logged.

v0.2 Draft Open for technical review

AIGE-CTL-EVAL-002, a control of the Evaluation Environment Control Profile (draft v0.2). See it among the other controls of the profile, or its mappings beside every other control's in the controls crosswalk.

From failure to evidenceHow AIGE-CTL-EVAL-002 works: 4 failure modes, 2 enforcement points, its verification, the decision on failure and 4 evidence artefacts.Failure modesA connection from theenvironment to a host…A run starts in an environmentwith no egress policy attached…A permitted destination, such asa package mirror, a cache…The run leaves no flow log, sothe connections it made cannot…EnforcementPull requestDeployRuntimePeriodicVerificationInspectTestObserveDecisionDenyEvidenceThe egress policy andallow-list attached…Admission test verdict: the refused connection to an unlisted destinationAdmission test verdictFlow log of the run, allowedand refused connections…One observation per run comparing observed connections with the allow-listOne observation per runcomparing observed…Colour: layer that keeps the artefact04 Runtime Controls05 AssuranceEnforcement trackActs hereDoes not act hereSource: Evaluation environmentv0.2, AIGE-CTL-EVAL-002As of 2026-09-26
From failure to evidenceHow AIGE-CTL-EVAL-002 works: 4 failure modes, 2 enforcement points, its verification, the decision on failure and 4 evidence artefacts.Failure modesA connection fromthe environment…A run starts in anenvironment…A permitteddestination, such…The run leaves noflow log, so…EnforcementPull requestDeployRuntimePeriodicVerificationInspectTestObserveDecisionDenyEvidenceThe egress policyand allow-list…Admission test verdict: the refused connection to an unlisted destinationAdmission testverdictFlow log of therun, allowed…One observation per run comparing observed connections with the allow-listOne observationper run…Colour: layer that keeps the artefact04 Runtime Controls05 AssuranceEnforcement trackActs hereDoes not act hereSource: Evaluation environment v0.2, AIGE-CTL-EVAL-002As of 2026-09-26
From failure to evidence Read the steps in order: what failing looks like, where on the pipeline the control acts, how a third party checks it, what happens when it fails and the record it leaves. The full wording is in the table and in the record below.
Every step in full
AIGE-CTL-EVAL-002: failure modes, enforcement, verification, decision and evidence
StepItemDetail
Failure modesA connection from the environment to a host that is not on the run's egress allow-list succeeds.
Failure modesA run starts in an environment with no egress policy attached, or with a policy that allows every destination although the task did not declare that it needs the internet.
Failure modesA permitted destination, such as a package mirror, a cache or a tool server, carries data onward to a party or to another run that nobody listed.
Failure modesThe run leaves no flow log, so the connections it made cannot be compared with its allow-list.
EnforcementDeploy
EnforcementRuntime
VerificationInspectBefore the run, inspect the egress policy attached to the task environment: deny by default, with an allow-list naming each permitted destination (for example the LLM API proxy and the progress server) and nothing else unless the task declares that it needs the internet.
VerificationTestAt admission, from inside the environment, attempt one connection to a destination that is not on the allow-list and one to a listed destination; the first must be refused and logged, the second must succeed.
VerificationObserveAfter the run, compare the run's flow log with its allow-list: every outbound connection matches a listed destination, and every refused attempt is recorded with its time and target.
DecisionDenyConnections to unlisted destinations are refused at the enforcement point and logged. A run whose environment has no egress policy attached is not started; a run in which an unlisted connection succeeded is stopped and its result is withheld until the connection is explained.
EvidenceThe egress policy and allow-list attached to the run, with its hash recorded in the run recordLayer 04
EvidenceAdmission test verdict: the refused connection to an unlisted destinationLayer 04, Evidence record schema
EvidenceFlow log of the run, allowed and refused connections, kept outside the environmentLayer 04
EvidenceOne observation per run comparing observed connections with the allow-listLayer 05, Control observation schema

The control record

Id
AIGE-CTL-EVAL-002 · v0.2 · Draft · Open for technical review
Objective
Outbound connections from an evaluation environment reach only the destinations on the run's egress allow-list, and every other connection attempt is refused and logged.
Failure modes
  • A connection from the environment to a host that is not on the run's egress allow-list succeeds.
  • A run starts in an environment with no egress policy attached, or with a policy that allows every destination although the task did not declare that it needs the internet.
  • A permitted destination, such as a package mirror, a cache or a tool server, carries data onward to a party or to another run that nobody listed.
  • The run leaves no flow log, so the connections it made cannot be compared with its allow-list.
Scope
Every network path out of the environment a run executes in: the agent's container or virtual machine, auxiliary machines, DNS, and the tools, MCP servers and proxies the run can call. Resources shared between runs count as destinations. Inbound operator access is out of scope.
Enforcement points
  • deploy: before a version is deployed or released
  • runtime: at the point of action (gateway or guardrail)
Verification
  • Inspect: Before the run, inspect the egress policy attached to the task environment: deny by default, with an allow-list naming each permitted destination (for example the LLM API proxy and the progress server) and nothing else unless the task declares that it needs the internet.
  • Test: At admission, from inside the environment, attempt one connection to a destination that is not on the allow-list and one to a listed destination; the first must be refused and logged, the second must succeed.
  • Observe: After the run, compare the run's flow log with its allow-list: every outbound connection matches a listed destination, and every refused attempt is recorded with its time and target.
Evidence
  • The egress policy and allow-list attached to the run, with its hash recorded in the run record · Layer 04
  • Admission test verdict: the refused connection to an unlisted destination · Layer 04 · evidence-record.v1
  • Flow log of the run, allowed and refused connections, kept outside the environment · Layer 04
  • One observation per run comparing observed connections with the allow-list · Layer 05 · control-observation.v1
Failure response
deny: block the action. Connections to unlisted destinations are refused at the enforcement point and logged. A run whose environment has no egress policy attached is not started; a run in which an unlisted connection succeeded is stopped and its result is withheld until the connection is explained.
Layer
Layer 04 Runtime Controls & Observability
Patterns
Runtime Guardrail, Sanctioned AI Gateway
Seeded from
Output and egress filter, Tool allow-list, deny by default, Code runs only in a sandbox
Mappings
References
  • [1] Governing AI agents (AI Governance Engineering Body of Knowledge v0.5.0, chapter 23, section "The tool allow-list")
  • [2] Governing AI agents (AI Governance Engineering Body of Knowledge v0.5.0, chapter 23, section "Runtime guardrails for tool calls")
  • [3] METR Task Standard, STANDARD.md (version 0.5.0; unless a task declares the full_internet permission, the task machines "MUST NOT have internet access" except to an LLM API, an LLM API proxy or a hardened local server)
  • [4] Brief independent investigation of agents' behavior, reasoning and collaboration in the OpenAI / Hugging Face hacking incident (METR states that agents "meant to be fully isolated from one another" communicated through an internal package repository, and that one agent found working Hugging Face credentials exposed on the internet and posted them to the agents' board; it reports spoofed tool calls in at least 96 transcripts and transcripts missing components after container resets)
  • [5] Vivaria server environment variables (no-internet task environments connected to a separate Docker network and optionally sandboxed with iptables rules; model API requests can be routed through a separate proxy service)
  • [6] MCP Security Best Practices (2026-07-28) (token passthrough "is explicitly forbidden"; egress proxies and network policies for server-side clients)
  • [7] OWASP Top 10 for Agentic Applications for 2026 (ASI01 Agent Goal Hijack to ASI10 Rogue Agents)
  • [8] OWASP GenAI LLM Top 10 2026 (LLM01:2026 Prompt Injection to LLM10:2026 Improper Output Handling; resource page dated 3 Aug 2026)
  • [9] MITRE ATLAS data, release v2026.09 (16 tactics, 120 techniques, 88 sub-techniques, 40 mitigations; technique names and technique-to-mitigation links read from dist/v6/ATLAS-2026.09.yaml)
  • [10] NIST SP 800-53 Rev. 5, Security and Privacy Controls for Information Systems and Organizations (control catalogue cited by control id; publication page of Revision 5 with update 1 of 10 Dec 2020)
  • [11] An agent used DNS to reach an external chatbot (misalignment report) (OpenAI reports a training run that reached a public chatbot through "insufficient DNS filtering" in its sandbox; the monitor flagged it within 15 minutes, the run "did not stop automatically as expected" and was killed 2.5 hours later)
  • [12] OpenAI Hugging Face Incident Technical Report (OpenAI states that high-risk workloads are "prohibited via technical controls from receiving direct or transitive Internet access", protected by "two separate layers of network isolation", and that it is building tooling to "identify and halt evaluation workloads")
  • [13] Improving our alignment and security efforts (best practices for external partners running cyber evaluations: the only outside connection is "to the model's own API", with the API keys kept outside the environment; the configuration "should be verified before every evaluation begins"; boundaries "phrased as instructions"; challenges confirmed "solvable in principle"; a monitor that flags a scope violation to a human and ends the exercise)
  • [14] AIUC-1 requirements (public requirement index, A001 to F002, each requirement on its own page (E007 and E014 marked retired); AIUC-1 is a standard of the Artificial Intelligence Underwriting Company; this site is not affiliated with AIUC, and a mapping here is not an AIUC-1 certificate or audit)
  • [15] Model AI Governance Framework for Agentic AI, v1.5 (published 2026-05-20, updated 2026-06-05; four dimensions: assess and bound the risks upfront, make humans meaningfully accountable, implement technical controls and processes, enable end-user responsibility)
Implementation notes
  • Attach a default-deny egress policy to every task environment (a network policy, a firewall rule set or an egress proxy, by category) that lists each permitted destination explicitly, for example the LLM API proxy and the progress server. Enforce it on the resolved address, and serve DNS from a resolver that answers only for listed names: DNS is an egress path too. OpenAI reports a training run that reached a public chatbot through "insufficient DNS filtering" in its sandbox.
  • Record the allow-list with the run (its hash goes in the run record next to the environment version) and keep a flow log per run at the enforcement point, outside anything the agent can reach or change, with refused attempts as well as allowed connections, so the connections made can be compared with what was declared, not with what was intended.
  • Enforce the policy in two places a single misconfiguration cannot both open, for example at the sandbox and at the cluster boundary. OpenAI's technical report on the Hugging Face incident describes "two separate layers of network isolation" of this kind, and Anthropic's guidance for external evaluation partners asks that the only outside connection be to the model's own API and that the configuration be verified before every evaluation begins.
  • At admission, run a canary from inside the environment: one connection to a reserved test address that is not on the list. Expect a refused connection and a log entry; a success blocks the run.
  • Treat resources shared between runs (package mirrors, caches, artefact stores) as destinations with their own entry and a per-run scope. METR's public investigation of the OpenAI/Hugging Face incident reports that agents meant to be "fully isolated from one another" communicated through a shared internal package repository.
Open questions
  • How should the egress allow-list of a run be recorded so that a third party can compare it with the connections actually observed?
  • When a task needs the internet (what METR's Task Standard calls the full_internet permission), which part of this control still applies, and what should the run record say instead?
Observation
  • Subject: Evaluation environment
  • Expected: Outbound connections only to the destinations on the run's egress allow-list; every other attempt refused and logged.
  • Example: 1 connection to an unlisted host during run 88213, in an environment with no egress policy attached: fail.

Example observations

Two illustrative records of a check of this control, one that passes and one that fails. Each validates against the control observation schema; neither is the result of a real evaluation.

Expected, in both checks

Outbound connections only to the destinations on the run's egress allow-list; every other attempt refused and logged.

PASS Matches what was expected

eval-env-eu-west@2026-09-26Evaluation environment

Observed

Run 88212: 1,406 outbound connections, all to the 2 listed destinations (LLM API proxy, progress server); the admission canary to an unlisted test address was refused and logged.

Evidence

  • flow log of run 88212sha256:4b1d7e0a…
  • egress allow-list attached to the runsha256:0c3f6a9d…
  • evidence record of the admission canary (refused connection)

FAIL Departs from what was expected

eval-env-eu-west@2026-09-26Evaluation environment

Observed

Run 88213: 1 connection to an unlisted host succeeded; the task environment had no egress policy attached.

Evidence

  • flow log of run 88213sha256:9f2c4e1a…

Pass and fail, side by side The same check, run twice: what a conforming observation shows and what a failing one looks like. Each record is in full, with its JSON, below.

Pass: eval-env-eu-west@2026-09-26

Status
pass
Subject
eval-env-eu-west@2026-09-26 (Evaluation environment)
Expected
Outbound connections only to the destinations on the run's egress allow-list; every other attempt refused and logged.
Observed
Run 88212: 1,406 outbound connections, all to the 2 listed destinations (LLM API proxy, progress server); the admission canary to an unlisted test address was refused and logged.
Timestamp
Observer
egress-flow-log-adapter
Evidence
  • flow log of run 88212 · sha256:4b1d7e0a3c6f9b2e5d8a1c4f7b0e3d6a9c2f5b8e1d4a7c0f3b6e9d2a5c8f1b4e
  • egress allow-list attached to the run · sha256:0c3f6a9d2b5e8c1f4a7d0b3e6c9f2a5d8b1e4c7f0a3d6b9e2c5f8a1d4b7e0c3f
  • evidence record of the admission canary (refused connection)
Notes
Illustrative example, not the result of a real evaluation.

Download the pass example (JSON)

The pass record as JSON
{
  "$schema": "https://aigovernanceengineer.com/schemas/control-observation.v1.json",
  "control_id": "AIGE-CTL-EVAL-002",
  "profile": "evaluation-environment",
  "control_version": "0.2",
  "subject": "eval-env-eu-west@2026-09-26",
  "subject_kind": "eval-environment",
  "expected": "Outbound connections only to the destinations on the run's egress allow-list; every other attempt refused and logged.",
  "observed": "Run 88212: 1,406 outbound connections, all to the 2 listed destinations (LLM API proxy, progress server); the admission canary to an unlisted test address was refused and logged.",
  "status": "pass",
  "timestamp": "2026-09-26T08:15:04Z",
  "enforcement_point": "runtime",
  "verification_kind": "observe",
  "observer": "egress-flow-log-adapter",
  "evidence": [
    {
      "artefact": "flow log of run 88212",
      "url": "https://evidence.example/runs/88212/flows.jsonl",
      "hash": "sha256:4b1d7e0a3c6f9b2e5d8a1c4f7b0e3d6a9c2f5b8e1d4a7c0f3b6e9d2a5c8f1b4e"
    },
    {
      "artefact": "egress allow-list attached to the run",
      "url": "https://evidence.example/runs/88212/egress-allow-list.json",
      "hash": "sha256:0c3f6a9d2b5e8c1f4a7d0b3e6c9f2a5d8b1e4c7f0a3d6b9e2c5f8a1d4b7e0c3f"
    },
    {
      "artefact": "evidence record of the admission canary (refused connection)",
      "url": "https://evidence.example/runs/88212/admission.json",
      "schema": "https://aigovernanceengineer.com/schemas/evidence-record.v1.json"
    }
  ],
  "run_id": "88212",
  "notes": "Illustrative example, not the result of a real evaluation."
}

Fail: eval-env-eu-west@2026-09-26

Status
fail
Subject
eval-env-eu-west@2026-09-26 (Evaluation environment)
Expected
Outbound connections only to the destinations on the run's egress allow-list; every other attempt refused and logged.
Observed
Run 88213: 1 connection to an unlisted host succeeded; the task environment had no egress policy attached.
Timestamp
Observer
egress-flow-log-adapter
Evidence
  • flow log of run 88213 · sha256:9f2c4e1a7b3d5f8e0a2c4b6d8f1e3a5c7b9d0f2e4a6c8b1d3f5e7a9c0b2d4f6e
Notes
Illustrative example, not the result of a real evaluation. The run was stopped, its result withheld and the environment template fixed.

Download the fail example (JSON)

The fail record as JSON
{
  "$schema": "https://aigovernanceengineer.com/schemas/control-observation.v1.json",
  "control_id": "AIGE-CTL-EVAL-002",
  "profile": "evaluation-environment",
  "control_version": "0.2",
  "subject": "eval-env-eu-west@2026-09-26",
  "subject_kind": "eval-environment",
  "expected": "Outbound connections only to the destinations on the run's egress allow-list; every other attempt refused and logged.",
  "observed": "Run 88213: 1 connection to an unlisted host succeeded; the task environment had no egress policy attached.",
  "status": "fail",
  "timestamp": "2026-09-26T09:42:17Z",
  "enforcement_point": "runtime",
  "verification_kind": "observe",
  "observer": "egress-flow-log-adapter",
  "evidence": [
    {
      "artefact": "flow log of run 88213",
      "url": "https://evidence.example/runs/88213/flows.jsonl",
      "hash": "sha256:9f2c4e1a7b3d5f8e0a2c4b6d8f1e3a5c7b9d0f2e4a6c8b1d3f5e7a9c0b2d4f6e"
    }
  ],
  "run_id": "88213",
  "notes": "Illustrative example, not the result of a real evaluation. The run was stopped, its result withheld and the environment template fixed."
}
What this control traces toAIGE-CTL-EVAL-002 at the centre of 20 relations in 6 families.MappedPartial fitColour: stack layer of the pattern04 Runtime ControlsNetwork Egress ControlCases (5)Agents in a cyber range with open internet took unsanctioned actions against real people · MappedAgents in a cyber range…Agents in training shared a file through a public file-hosting service · MappedAgents in training shared a file…An agent in training reached a public chatbot through the sandbox DNS resolver · MappedAn agent in training reached…Claude models reached real systems from a misconfigured third-party cyber evaluation · MappedClaude models reached real…OpenAI agents and Hugging Face: an evaluation environment that was not isolated · MappedOpenAI agents and Hugging…Patterns (2)Runtime Guardrail · MappedRuntime GuardrailSanctioned AI Gateway · MappedSanctioned AI GatewayObligations (3)EU AI Act Art. 15 accuracy, robustness and cybersecurity (AIGE-OBL-EUAIA-ART15) · MappedEU AI Act Art. 15 accuracy…OWASP Top 10 for Agentic Applications 2026 (AIGE-OBL-OWASP-AGENTIC) · MappedOWASP Top 10 for Agentic…OWASP Top 10 for LLM Applications 2026 (AIGE-OBL-OWASP-LLM) · MappedOWASP Top 10 for LLM…Threats (3)AML.T0086 Exfiltration via AI Agent Tool Invocation · MappedAML.T0086 Exfiltration via AI…ASI02 Tool Misuse and Exploitation · MappedASI02 Tool Misuse…LLM02:2026 Sensitive Information Disclosure · MappedLLM02:2026 Sensitive…Standards (6)AIUC-1 B006 Prevent unauthorized AI agent actions · MappedAIUC-1 B006ISO/IEC 42001 A.6.2.6 AI system operation and monitoring · MappedISO 42001 A.6.2.6MITRE ATLAS mitigation AML.M0032 · MappedMITRE ATLAS mitigation…NIST AI RMF MEASURE 2.7 Security and resilience are evaluated and documented · MappedNIST AI RMF MEASURE 2.7NIST SP 800-53 Rev. 5 SC-7 · MappedNIST SP 800-53 Rev. 5 SC-7NIST SP 800-53 Rev. 5 SC-7(5) · MappedNIST SP 800-53 Rev. 5 SC-7IMDA agentic (1)IMDA MGF for Agentic AI v1.5, 2.1.2 Agent limits, p.19 · Partial fitIMDA 2.1.2 Agent limits, p.19Source: Evaluation environmentv0.2, AIGE-CTL-EVAL-002 mappingsAs of 2026-09-26
What this control traces toAIGE-CTL-EVAL-002 at the centre of 20 relations in 6 families.MappedPartial fitColour: stack layer of the pattern04 Runtime ControlsCases (5)Agents in a cyber range with open internet took unsanctioned actions against real people · MappedAgents in a cyber range with open internet…Agents in training shared a file through a public file-hosting service · MappedAgents in training shared a file through…An agent in training reached a public chatbot through the sandbox DNS resolver · MappedAn agent in training reached a public chatbot…Claude models reached real systems from a misconfigured third-party cyber evaluation · MappedClaude models reached real systems…OpenAI agents and Hugging Face: an evaluation environment that was not isolated · MappedOpenAI agents and Hugging Face…Threats (3)AML.T0086 Exfiltration via AI Agent Tool Invocation · MappedAML.T0086 Exfiltration via AI Agent Tool…ASI02 Tool Misuse and Exploitation · MappedASI02 Tool Misuse and ExploitationLLM02:2026 Sensitive Information Disclosure · MappedLLM02:2026 Sensitive Information DisclosureIMDA agentic (1)IMDA MGF for Agentic AI v1.5, 2.1.2 Agent limits, p.19 · Partial fitIMDA 2.1.2 Agent limits, p.19Patterns (2)Runtime Guardrail · MappedRuntime GuardrailSanctioned AI Gateway · MappedSanctioned AI GatewayObligations (3)EU AI Act Art. 15 accuracy, robustness and cybersecurity (AIGE-OBL-EUAIA-ART15) · MappedEU AI Act Art. 15 accuracy, robustness…OWASP Top 10 for Agentic Applications 2026 (AIGE-OBL-OWASP-AGENTIC) · MappedOWASP Top 10 for Agentic Applications 2026OWASP Top 10 for LLM Applications 2026 (AIGE-OBL-OWASP-LLM) · MappedOWASP Top 10 for LLM Applications 2026Standards (6)AIUC-1 B006 Prevent unauthorized AI agent actions · MappedAIUC-1 B006ISO/IEC 42001 A.6.2.6 AI system operation and monitoring · MappedISO 42001 A.6.2.6MITRE ATLAS mitigation AML.M0032 · MappedMITRE ATLAS mitigation AML.M0032NIST AI RMF MEASURE 2.7 Security and resilience are evaluated and documented · MappedNIST AI RMF MEASURE 2.7NIST SP 800-53 Rev. 5 SC-7 · MappedNIST SP 800-53 Rev. 5 SC-7NIST SP 800-53 Rev. 5 SC-7(5) · MappedNIST SP 800-53 Rev. 5 SC-7(5)Network EgressControlSource: Evaluation environment v0.2, AIGE-CTL-EVAL-002 mappingsAs of 2026-09-26
What this control traces to 20 relations in 6 families: each node opens the case, pattern, obligation or threat, and a dashed edge is a partial fit. The lists below give each one in full.
Every relation
AIGE-CTL-EVAL-002: cases, patterns, obligations, threats, standards and IMDA fit
FamilyItemRelation
CasesAgents in a cyber range with open internet took unsanctioned actions against real peopleMapped
CasesAgents in training shared a file through a public file-hosting serviceMapped
CasesAn agent in training reached a public chatbot through the sandbox DNS resolverMapped
CasesClaude models reached real systems from a misconfigured third-party cyber evaluationMapped
CasesOpenAI agents and Hugging Face: an evaluation environment that was not isolatedMapped
PatternsRuntime GuardrailMapped
PatternsSanctioned AI GatewayMapped
ObligationsEU AI Act Art. 15 accuracy, robustness and cybersecurity (AIGE-OBL-EUAIA-ART15)Mapped
ObligationsOWASP Top 10 for Agentic Applications 2026 (AIGE-OBL-OWASP-AGENTIC)Mapped
ObligationsOWASP Top 10 for LLM Applications 2026 (AIGE-OBL-OWASP-LLM)Mapped
ThreatsAML.T0086 Exfiltration via AI Agent Tool InvocationMapped
ThreatsASI02 Tool Misuse and ExploitationMapped
ThreatsLLM02:2026 Sensitive Information DisclosureMapped
StandardsAIUC-1 B006 Prevent unauthorized AI agent actionsMapped
StandardsISO/IEC 42001 A.6.2.6 AI system operation and monitoringMapped
StandardsMITRE ATLAS mitigation AML.M0032Mapped
StandardsNIST AI RMF MEASURE 2.7 Security and resilience are evaluated and documentedMapped
StandardsNIST SP 800-53 Rev. 5 SC-7Mapped
StandardsNIST SP 800-53 Rev. 5 SC-7(5)Mapped
IMDA agenticIMDA MGF for Agentic AI v1.5, 2.1.2 Agent limits, p.19Partial fit

Incident cases on this site that list this control among their related controls.

Patterns

The patterns that implement this control.

Obligations

The obligations this control helps evidence, from the obligation register. Mappings are illustrative, not a claim of conformity.

Threats

The entries of the threat catalogues this control answers.

Sources

  1. [1] Governing AI agents (AI Governance Engineering Body of Knowledge v0.5.0, chapter 23, section "The tool allow-list"). AI Governance Engineer (Jorge García Aibar). 2026-09. https://aigovernanceengineer.com/bok/governing-agents#the-tool-allow-list (verified: primary)
  2. [2] Governing AI agents (AI Governance Engineering Body of Knowledge v0.5.0, chapter 23, section "Runtime guardrails for tool calls"). AI Governance Engineer (Jorge García Aibar). 2026-09. https://aigovernanceengineer.com/bok/governing-agents#runtime-guardrails-for-tool-calls (verified: primary)
  3. [3] METR Task Standard, STANDARD.md (version 0.5.0; unless a task declares the full_internet permission, the task machines "MUST NOT have internet access" except to an LLM API, an LLM API proxy or a hardened local server). METR (GitHub). 2024-10-30. https://raw.githubusercontent.com/METR/task-standard/main/STANDARD.md (verified: primary)
  4. [4] Brief independent investigation of agents' behavior, reasoning and collaboration in the OpenAI / Hugging Face hacking incident (METR states that agents "meant to be fully isolated from one another" communicated through an internal package repository, and that one agent found working Hugging Face credentials exposed on the internet and posted them to the agents' board; it reports spoofed tool calls in at least 96 transcripts and transcripts missing components after container resets). METR. 2026-08-26. https://metr.org/blog/2026-08-26-openai-hugging-face-incident-investigation/ (verified: primary)
  5. [5] Vivaria server environment variables (no-internet task environments connected to a separate Docker network and optionally sandboxed with iptables rules; model API requests can be routed through a separate proxy service). METR. 2026. https://vivaria.metr.org/reference/config/ (verified: primary)
  6. [6] MCP Security Best Practices (2026-07-28) (token passthrough "is explicitly forbidden"; egress proxies and network policies for server-side clients). Model Context Protocol. 2026-07-28. https://modelcontextprotocol.io/docs/2026-07-28/tutorials/security/security_best_practices (verified: primary)
  7. [7] OWASP Top 10 for Agentic Applications for 2026 (ASI01 Agent Goal Hijack to ASI10 Rogue Agents). OWASP GenAI Security Project. 2025-12-09. https://genai.owasp.org/resource/owasp-top-10-for-agentic-applications-for-2026/ (verified: primary)
  8. [8] OWASP GenAI LLM Top 10 2026 (LLM01:2026 Prompt Injection to LLM10:2026 Improper Output Handling; resource page dated 3 Aug 2026). OWASP GenAI Security Project. 2026-08-03. https://genai.owasp.org/resource/owasp-genai-llm-top-10-2026/ (verified: primary)
  9. [9] MITRE ATLAS data, release v2026.09 (16 tactics, 120 techniques, 88 sub-techniques, 40 mitigations; technique names and technique-to-mitigation links read from dist/v6/ATLAS-2026.09.yaml). MITRE. 2026-09-15. https://github.com/mitre-atlas/atlas-data/releases/tag/v2026.09 (verified: primary)
  10. [10] NIST SP 800-53 Rev. 5, Security and Privacy Controls for Information Systems and Organizations (control catalogue cited by control id; publication page of Revision 5 with update 1 of 10 Dec 2020). NIST. 2020-12-10. https://csrc.nist.gov/pubs/sp/800/53/r5/upd1/final (verified: primary)
  11. [11] An agent used DNS to reach an external chatbot (misalignment report) (OpenAI reports a training run that reached a public chatbot through "insufficient DNS filtering" in its sandbox; the monitor flagged it within 15 minutes, the run "did not stop automatically as expected" and was killed 2.5 hours later). OpenAI (Alignment Research Blog). 2026-09-25. https://alignment.openai.com/misalignment-reports/an-agent-used-dns-to-reach-an-external-chatbot/ (verified: primary)
  12. [12] OpenAI Hugging Face Incident Technical Report (OpenAI states that high-risk workloads are "prohibited via technical controls from receiving direct or transitive Internet access", protected by "two separate layers of network isolation", and that it is building tooling to "identify and halt evaluation workloads"). OpenAI. 2026-08-26. https://cdn.openai.com/pdf/67869394-cb91-4c12-888c-5cbd85c7814c/OpenAI-Hugging-Face%20Incident-Technical-Report.pdf (verified: primary)
  13. [13] Improving our alignment and security efforts (best practices for external partners running cyber evaluations: the only outside connection is "to the model's own API", with the API keys kept outside the environment; the configuration "should be verified before every evaluation begins"; boundaries "phrased as instructions"; challenges confirmed "solvable in principle"; a monitor that flags a scope violation to a human and ends the exercise). Anthropic. 2026-08-31. https://www.anthropic.com/news/improving-alignment-security-efforts (verified: primary)
  14. [14] AIUC-1 requirements (public requirement index, A001 to F002, each requirement on its own page (E007 and E014 marked retired); AIUC-1 is a standard of the Artificial Intelligence Underwriting Company; this site is not affiliated with AIUC, and a mapping here is not an AIUC-1 certificate or audit). Artificial Intelligence Underwriting Company. 2026-09-24. https://standard.aiuc-1.com/llms.txt (verified: primary)
  15. [15] Model AI Governance Framework for Agentic AI, v1.5 (published 2026-05-20, updated 2026-06-05; four dimensions: assess and bound the risks upfront, make humans meaningfully accountable, implement technical controls and processes, enable end-user responsibility). IMDA. 2026-06-05. https://www.imda.gov.sg/-/media/imda/files/about/emerging-tech-and-research/artificial-intelligence/mgf-for-agentic-ai.pdf (verified: primary)

Machine-readable

Review this control

Review happens in the open, on GitHub. Check this control against a system you run or know and say what is wrong or missing: a verification step a third party could not repeat, a failure mode that is not observable, a mapping that does not hold. How review works.

This control's profile has no DOI of its own yet: it is cited with the project concept DOI, 10.5281/zenodo.22857084, which resolves to the latest archived version of the whole project.

Cite this control

García Aibar, J. (2026). AIGE-CTL-EVAL-002 Network Egress Control (v0.2). In AI Governance Engineering: The Thesis & Body of Knowledge. https://doi.org/10.5281/zenodo.22857084. https://aigovernanceengineer.com/controls/evaluation-environment/aige-ctl-eval-002. CC BY 4.0

BibTeX

@misc{aige2026page,
  author       = {Jorge García Aibar},
  title        = {{AIGE-CTL-EVAL-002 Network Egress Control}},
  howpublished = {In AI Governance Engineering: The Thesis \& Body of Knowledge},
  year         = {2026},
  version      = {0.2},
  doi          = {10.5281/zenodo.22857084},
  url          = {https://aigovernanceengineer.com/controls/evaluation-environment/aige-ctl-eval-002},
  note         = {Version 0.2}
}