Skip to content

fix(mxc): complete proxy CA staging isolation - #3535

Merged
pkhodade-NV merged 2 commits into
NVIDIA:fix/mxc-egress-proxy-ca-staging-env-tierfrom
prekshivyas:fix/pr3496-qualification-fixture
Sep 22, 2026
Merged

pkhodade-NV merged 2 commits into
NVIDIA:fix/mxc-egress-proxy-ca-staging-env-tierfrom
prekshivyas:fix/pr3496-qualification-fixture

Conversation

@prekshivyas

@prekshivyas prekshivyas commented Sep 21, 2026

Copy link
Copy Markdown
Contributor

Follow-up for #3496 from the holistic Windows qualification run. This branch is based directly on #3496 and is intended for the owner to merge or cherry-pick.

It completes the change in two places:

  • Gives the existing governed-egress lifecycle fixture a real temporary workload directory, matching production and allowing unconditional CA staging to be exercised.
  • Resolves the requested security review: every environment tier uses public CA copies staged under <cwd>/.openshell-proxy/<sandbox-id>, the host proxy's private temporary CA directory is no longer added to MXC readwritePaths, and the source comments and MXC README now describe that behavior.

The lifecycle regression test inspects the effective MXC configuration for the default (pc_minimal_env = false) tier. It requires all six TLS trust variables to reference existing staged files and verifies that the host proxy source directory is absent from readwritePaths.

Native Windows ARM64 validation:

  • cargo fmt --all -- --check
  • strict cargo clippy -p openshell-driver-mxc --all-targets --target aarch64-pc-windows-msvc -- -D warnings ...
  • driver::lifecycle_tests::governed_egress_puts_only_provider_placeholder_in_mxc_process_env (1 passed)
  • driver::lifecycle_tests::explicit_network_policies_start_and_cleanup_host_proxy (1 passed)
  • repository Markdown lint (0 errors)

Signed-off-by: Prekshi Vyas prekshiv@nvidia.com

Signed-off-by: Prekshi Vyas <prekshivyas@nvidia.com>
Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>
@prekshivyas prekshivyas changed the title test(mxc): provide workload dir for CA staging fix(mxc): complete proxy CA staging isolation Sep 22, 2026
@prekshivyas

Copy link
Copy Markdown
Contributor Author

Final holistic Windows qualification

The corrected head ff6cf09b861abfee99fe4807bbc554bdc32324b0 was included in the final exact combined tree d71a58949, alongside all 12 open PR heads targeting windows at the final check.

Focused validation:

  • Native Windows ARM64 lifecycle test explicit_network_policies_start_and_cleanup_host_proxy: passed
  • Provider credential fixture test: passed
  • Strict package all-target ARM64 Clippy: passed
  • Rust formatting and Markdown lint: passed
  • GitHub CI for this handoff PR: all checks green

Combined validation:

  • Native Windows ARM64 suite: 4,994 passed, 29 skipped, 0 failed (4 leaky)
  • Strict Windows ARM64 workspace/e2e/governance lint: passed
  • Authoritative Windows ARM64 NemoClaw run: 1 Vitest passed, 0 failed, containing two full lifecycle cycles
  • OpenShell package: 0.0.117-dev.223+gd71a58949, distribution SHA-256 c69ec5069319b604fe48ef8ffc8e9e69bdfd237177c496394af4217ef9f5d5a0
  • Both schema-v10 receipts: verdict: pass, 14/14 checks true, clean cleanup, no emergency termination
  • Receipt SHA-256: c055a6f6238517bd40ef7e55827fcc95f6e52d48d2620c4831f3460d6228aac5 and b86cac260faa7532ed936721e078a0da53d6a5ef1a789a8a70df165e544f23c1

@shailendra-nv

Copy link
Copy Markdown
Collaborator

@prekshivyas you want to migrate changes required in #3496 from this PR ?

@pkhodade-NV
pkhodade-NV merged commit 92e2f2a into NVIDIA:fix/mxc-egress-proxy-ca-staging-env-tier Sep 22, 2026
63 checks passed
shailendra-nv pushed a commit that referenced this pull request Sep 22, 2026
* fix(mxc): stage egress-proxy CA files regardless of env tier

stage_tls_ca_files was only invoked when pc_minimal_env was set, but a
curated ProcessContainer can't read the host proxy's private temp
folder under any env tier. With the default pc_minimal_env=false, the
CA env vars pointed at a path the sandboxed process couldn't read at
all, breaking TLS validation for allow-listed HTTPS requests through
the egress proxy. Extract the staging decision into
resolve_agent_proxy_ca_paths, which takes no env-tier argument, so the
gap can't silently regress; existing tests never exercised this path
since mocked invokers skip host-proxy startup entirely.

Signed-off-by: Prashant Khodade <pkhodade@nvidia.com>
(cherry picked from commit d0346af96aef9a93aca26a7e1825d8678a25567d)

* fix(mxc): complete proxy CA staging isolation (#3535)

* test(mxc): provide workload dir for CA staging

Signed-off-by: Prekshi Vyas <prekshivyas@nvidia.com>

* fix(mxc): isolate staged proxy CA files

Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>

---------

Signed-off-by: Prekshi Vyas <prekshivyas@nvidia.com>
Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>

---------

Signed-off-by: Prashant Khodade <pkhodade@nvidia.com>
Signed-off-by: Prekshi Vyas <prekshivyas@nvidia.com>
Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>
Co-authored-by: Prekshi Vyas <34834085+prekshivyas@users.noreply.github.com>
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.

3 participants