Skip to content

Fix Linux sandbox filtered network fail-open#112

Draft
cursor[bot] wants to merge 3 commits into
mainfrom
cursor/critical-bug-investigation-314b
Draft

Fix Linux sandbox filtered network fail-open#112
cursor[bot] wants to merge 3 commits into
mainfrom
cursor/critical-bug-investigation-314b

Conversation

@cursor

@cursor cursor Bot commented Jul 7, 2026

Copy link
Copy Markdown

Summary

  • Fixes a critical Linux sandbox fail-open where ProxyFiltered domain allowlists were not enforceable under bwrap/firejail. The sandbox previously shared or enabled networking while relying on proxy environment variables, so skill code could bypass the allowlist with direct sockets.
  • Adds an explicit Linux network policy validation step that rejects domain-filtered egress before launching a skill, including before weak fallback selection. BlockAll and explicit wildcard direct egress (network_outbound: ["*"]) remain supported.
  • Updates EN/ZH architecture docs to document Linux fail-closed behavior for domain allowlists.

Task Linkage

  • Task ID: TASK-2026-070
  • Task folder: tasks/TASK-2026-070-linux-proxy-fail-closed/

Injected Specs

  • spec/architecture-boundaries.md (if architecture/layering changed)
  • spec/security-nonnegotiables.md (if sandbox/security changed)
  • spec/testing-policy.md (required for any code change)
  • spec/docs-sync.md (if behavior/docs/env/commands changed)

Validation Evidence

  • Commands executed:
    • cargo fmt --check
    • cargo clippy --all-targets -- -D warnings
    • cargo test -p skilllite-sandbox
    • cargo test
    • python3 scripts/validate_tasks.py
  • Key results:
    • cargo fmt --check: passed
    • cargo clippy --all-targets -- -D warnings: Finished dev profile
    • cargo test -p skilllite-sandbox: test result: ok. 84 passed; 0 failed; 0 ignored
    • cargo test: passed through workspace tests/doc-tests
    • python3 scripts/validate_tasks.py: Task validation passed (70 task directories checked).

Regression Scope

  • Areas likely affected:
    • Linux sandbox network policy enforcement
    • Skills declaring domain-specific network_outbound on Linux
  • Explicit non-goals:
    • macOS Seatbelt behavior
    • Network proxy internals
    • Runtime dependency provisioning

Docs Sync (EN/ZH)

  • Not needed
  • Updated EN + ZH docs
  • Files:
    • docs/en/ARCHITECTURE.md
    • docs/zh/ARCHITECTURE.md

Review Checklist

  • Acceptance criteria in tasks/.../TASK.md satisfied (or explicitly deferred)
  • tasks/.../STATUS.md updated with latest progress
  • tasks/.../REVIEW.md includes merge readiness decision
  • tasks/board.md status is up to date
Open in Web View Automation 

cursoragent and others added 3 commits July 7, 2026 11:14
Co-authored-by: EXboy <EXboys@users.noreply.github.com>
Co-authored-by: EXboy <EXboys@users.noreply.github.com>
Co-authored-by: EXboy <EXboys@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.

1 participant