@@ -48,7 +48,7 @@ This document describes the architecture and components of boundary, a network i
4848│ │ │ TARGET COMMAND │ │ │
4949│ │ │ │ │ │
5050│ │ │ npm install │ ◄── HTTP_PROXY/HTTPS_PROXY env vars │ │
51- │ │ │ curl https://... │ ◄── Network isolation (Linux/macOS) │ │
51+ │ │ │ curl https://... │ ◄── Network isolation (Linux) │ │
5252│ │ │ git clone │ ◄── DNS redirection │ │
5353│ │ │ │ │ │
5454│ │ └─────────────────────┘ │ │
@@ -61,7 +61,7 @@ This document describes the architecture and components of boundary, a network i
6161## Component Details
6262
6363### 1. CLI Layer
64- ** Input** : Command line arguments (` --allow ` , ` --log-level ` , ` --unprivileged ` , target command)
64+ ** Input** : Command line arguments (` --allow ` , ` --log-level ` , target command)
6565** Output** : Configured boundary instance and executed target command
6666
6767** Responsibilities** :
@@ -106,57 +106,7 @@ Platform-specific implementations:
106106└─────────────────────────────────────────────┘
107107```
108108
109- #### macOS Jailer
110- ```
111- ┌─────────────────────────────────────────────┐
112- │ MACOS JAILER │
113- ├─────────────────────────────────────────────┤
114- │ │
115- │ PF (Packet Filter) Rules │
116- │ │ │
117- │ ├─ Create custom anchor │
118- │ ├─ REDIRECT HTTP → proxy (127.0.0.1:8080) │
119- │ ├─ REDIRECT HTTPS → proxy (127.0.0.1:8080) │
120- │ └─ Apply rules to specific process group │
121- │ │
122- │ Process Group Isolation │
123- │ │ │
124- │ ├─ Create restricted group │
125- │ ├─ Set process group ID │
126- │ └─ Configure environment variables │
127- │ │
128- │ Process Execution │
129- │ │ │
130- │ ├─ Set HTTP_PROXY env var │
131- │ ├─ Set HTTPS_PROXY env var │
132- │ ├─ Set SSL_CERT_FILE (custom CA) │
133- │ └─ Execute with group restrictions │
134- │ │
135- └─────────────────────────────────────────────┘
136- ```
137109
138- #### Unprivileged Jailer
139- ```
140- ┌─────────────────────────────────────────────┐
141- │ UNPRIVILEGED JAILER │
142- ├─────────────────────────────────────────────┤
143- │ │
144- │ Environment Variables Only │
145- │ │ │
146- │ ├─ Set HTTP_PROXY env var │
147- │ ├─ Set HTTPS_PROXY env var │
148- │ ├─ Set SSL_CERT_FILE (custom CA) │
149- │ └─ No network isolation │
150- │ │
151- │ Process Execution │
152- │ │ │
153- │ ├─ Execute with proxy env vars │
154- │ └─ Relies on application proxy support │
155- │ │
156- │ Note: Less secure but works without sudo │
157- │ │
158- └─────────────────────────────────────────────┘
159- ```
160110
161111### 3. Proxy Server Component
162112** Input** : HTTP/HTTPS requests from jailed processes
@@ -427,15 +377,15 @@ Platform-specific implementations:
427377
428378## Platform Differences
429379
430- | Aspect | Linux | macOS | Unprivileged |
431- | --------| -------- | -------- | -------------- |
432- | ** Isolation** | Network namespaces | Process groups + PF | Environment variables only |
433- | ** Traffic Interception** | iptables REDIRECT | PF rdr rules | HTTP_PROXY/HTTPS_PROXY |
434- | ** DNS** | Custom resolv.conf | System DNS + PF | System DNS |
435- | ** Privileges** | Requires sudo | Requires sudo | No privileges required |
436- | ** Security** | Strong isolation | Moderate isolation | Weak (app-dependent) |
437- | ** Compatibility** | Linux kernel 3.8+ | macOS with PF | Any platform |
438- | ** Process Control** | Network namespace | Process group | Standard process |
380+ | Aspect | Linux |
381+ | --------| -------|
382+ | ** Isolation** | Network namespaces |
383+ | ** Traffic Interception** | iptables REDIRECT |
384+ | ** DNS** | Custom resolv.conf |
385+ | ** Privileges** | Requires network capabilities (e.g., CAP_NET_ADMIN) |
386+ | ** Security** | Strong isolation |
387+ | ** Compatibility** | Linux kernel 3.8+ |
388+ | ** Process Control** | Network namespace |
439389
440390## Security Model
441391
@@ -445,7 +395,7 @@ Platform-specific implementations:
445395- Fail-safe behavior: unknown requests are denied
446396
447397### Network Isolation
448- - Process cannot bypass boundary (except in unprivileged mode)
398+ - Process cannot bypass boundary
449399- All traffic routed through proxy server
450400- TLS interception prevents encrypted bypass
451401
0 commit comments