Harden enclave-only GitHub Issues smoke test - #8102
Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 77d87aa0-d2a1-439a-a514-a0938b8239ca
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
The enclave prompt uses an incompatible state value and misinterprets the list_issues response shape, preventing successful validation.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Review tier: Balanced
Findings: 2
New issues introduced by this change (2)
| Severity | Finding |
|---|---|
.github/workflows/smoke-enclave-issues-read.md — The pinned github-mcp-server:v1.11.0 advertises state as an enum containing only OPEN and… |
|
.github/workflows/smoke-enclave-issues-read.md — In the pinned GitHub MCP server, list_issues returns an object shaped like `{issues, totalCount,… |
What changed in this PR
Hardens the enclave Issues smoke test by isolating GitHub access to the enclave and bounding its output.
Changes:
- Removes primary-agent GitHub credentials, tools, and network access.
- Limits enclave execution and dynamically selects an open issue.
- Expands tests for gateway policy and disclosure bounds.
| File | Description |
|---|---|
.github/workflows/smoke-enclave-issues-read.md |
Defines hardened workflow behavior. |
.github/workflows/smoke-enclave-issues-read.lock.yml |
Regenerates the compiled workflow. |
scripts/ci/smoke-enclave-workflow.test.ts |
Verifies isolation and limits. |
.github/aw/actions-lock.json |
Pins the updated setup action. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 77d87aa0-d2a1-439a-a514-a0938b8239ca
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 77d87aa0-d2a1-439a-a514-a0938b8239ca
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 77d87aa0-d2a1-439a-a514-a0938b8239ca
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 77d87aa0-d2a1-439a-a514-a0938b8239ca
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 77d87aa0-d2a1-439a-a514-a0938b8239ca
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Resolve generated workflow conflicts by recompiling the enclave issue-read workflow and reapplying repository post-processing. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 77d87aa0-d2a1-439a-a514-a0938b8239ca
…oke' into copilot/harden-enclave-issues-smoke
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 77d87aa0-d2a1-439a-a514-a0938b8239ca
|
✅ Copilot review passed with no inline comments. @lpcox Add the |
|
🌑 The shadows whisper... Smoke Codex failed. The oracle requires further meditation...
|
|
✅ Smoke Copilot BYOK AOAI (api-key) completed. Copilot AOAI BYOK (api-key) mode operational. 🔓
|
|
✅ Build Test Suite completed successfully!
|
|
🔌 Smoke Services — All services reachable! ✅
|
|
✅ Smoke Copilot BYOK completed. Copilot BYOK mode operational. 🔓
|
|
🚀 Security Guard has started processing this pull request |
|
🛡️ Smoke Copilot Network Isolation confirmed the egress allowlist is enforced. ✅ Warning Firewall blocked 1 domainThe following domain was blocked by the firewall during workflow execution:
To allow these domains, add them to the network:
allowed:
- defaults
- "example.com"See Network Configuration for more information.
|
|
Chroot tests passed! Smoke Chroot - All security and functionality tests succeeded.
|
|
📰 VERDICT: Smoke Copilot has concluded. All systems operational. This is a developing story. 🎤
|
|
❌ Smoke Claude failed
|
|
📰 DEVELOPING STORY: Smoke Docker Sbx reports failed. Our correspondents are investigating the incident...
|
|
❌ Smoke Gemini reports failed. Facets need polishing...
|
|
✅ Smoke Copilot BYOK AOAI (Entra) completed. Copilot AOAI BYOK (Entra) mode operational. 🔓
|
|
❌ Contribution Check failed. Please review the logs for details.
|
|
📡 Smoke OTel Tracing completed. All tracing scenarios validated. ✅
|
|
Smoke Test: Copilot BYOK (Direct Mode) — PASS ✅
Running in direct BYOK mode via
|
|
@lpcox Smoke test results for Copilot network-isolation egress enforcement: EGRESS_RESULT allow=pass deny=pass ✅ Allowed domain (api.github.com) reachable: Overall: PASS Warning Firewall blocked 1 domainThe following domain was blocked by the firewall during workflow execution:
To allow these domains, add them to the network:
allowed:
- defaults
- "example.com"See Network Configuration for more information.
|
|
Smoke Test: Copilot Engine — @lpcox
Overall: PASS
|
Smoke Test Results: FAIL ❌
Overall: FAIL —
|
|
@lpcox
|
|
chore: upgrade gh-aw workflows to v0.88.4
Running in direct BYOK mode (AWF_AUTH_TYPE=github-oidc + AWF_AUTH_AZURE_* + COPILOT_PROVIDER_BASE_URL) via api-proxy → Azure OpenAI (Foundry, o4-mini-aw) authenticated via Microsoft Entra Overall status: PASS
|
Chroot Version Comparison Results
Overall: FAILED — Node.js version mismatch between host and chroot environments. The
|
|
OTel Tracing Smoke Test Results
All scenarios pass. No regressions detected.
|
🏗️ Build Test Suite Results
Overall: 8/8 ecosystems passed — PASS Notes:
|

Summary
github/gh-awissue inside the enclave and return only bounded metadataValidation
gh aw compile smoke-enclave-issues-read --approvenpx ts-node scripts/ci/postprocess-smoke-workflows.tsnpm test -- --runInBand scripts/ci/smoke-enclave-workflow.test.ts scripts/ci/apply-general-workflow-patches.test.ts