Skip to content

[SDK] Node SDK rejects network.proxy on LXC, which the backend has supported since #798 #1074

Closed

Description

@theelliotm

Relevant area(s)

Linux

Brief description of your issue

The Node SDK rejects network.proxy on Linux for containment: 'lxc', but LXC has supported it since #798 (iptables deny-all-except-proxy + HTTP_PROXY injection + /etc/hosts pin). The SDK gate predates that work and was never revisited, so LXC callers can't use a proxy from the SDK at all.

Gate: sdk/node/src/sandbox.ts:350-358 allows only bubblewrap and process.
Native: src/core/wxc_common/src/config_parser.rs:962-972 accepts lxc.

Two things need deciding together, since lifting the gate alone isn't enough:

  1. LXC additionally requires network.enforcementMode: 'firewall' or 'both' with a proxy (config_parser.rs:1123-1137) — native rejects capabilities rather than auto-promoting.
  2. SandboxPolicy.network (sdk/node/src/types.ts:428-445) exposes no enforcementMode, so there is no way for a caller to supply it. Either the SDK promotes an unset mode to firewall for LXC, or SandboxPolicy gains the field.

The JSDoc on SandboxPolicy.network.proxy (types.ts:437) also lists only "Windows ProcessContainer, Linux Bubblewrap, and macOS Seatbelt" and needs updating either way.

Steps to reproduce

  1. On Linux, call createConfigFromPolicy({ version: '0.6.0-alpha', network: { proxy: { url: 'http://proxy.example:8080' } } }, 'lxc').
  2. Observe the throw.

Expected behavior

The config is produced (with whatever enforcementMode the chosen fix implies), and the same policy runs on LXC with the proxy enforced.

Actual behavior

Throws Proxy configuration is not supported on Linux containment='lxc'. Use containment 'bubblewrap' (or the abstract 'process') for proxy-based host filtering. - even though the executor would have accepted it.

Activity

  1. github-actions commented on Aug 31, 2026

    @github-actions

    Triage summary

    Labels applied: Container-Process, Area-SDK-Api (in addition to existing OS-Linux, Issue-Bug).

    Assigned: @SohamDas2021 (LXC/Linux proxy) and @huzaifa-d (SDK API).

    Needs-Triage removed.


    Maintainers: Comment /investigate to check whether this issue or bug is valid against the most current code. Copilot will also produce a report with the changes that will be needed. For a small, unambiguous documentation or test fix, it may also create one draft PR.

    Generated by 🏷️ Issue Triage for #1074 · sonnet46 · 26.9 AIC · ⌖ 5.39 AIC · ⊞ 7.8K · ◷

  2. added
    Priority2High-impact issue affecting key functionality; prioritize for the next appropriate release.
    on Sep 2, 2026
  3. kanismohammed commented on Sep 21, 2026

    @kanismohammed
    Collaborator

    Scenario works in v0.8. GHCP is on 0.8

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

Issue-BugSomething is not working as intended.OS-LinuxApplies specifically to Linux hosts or Linux behavior.Priority2High-impact issue affecting key functionality; prioritize for the next appropriate release.

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions