You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -274,6 +278,25 @@ Docker's embedded DNS (127.0.0.11) is always allowed for container name resoluti
274
278
AWF always runs in chroot mode, making the host filesystem appear as the root filesystem inside the container. This provides transparent access to host-installed binaries (Python, Node.js, Go, etc.) while maintaining network isolation. See [Chroot Mode Documentation](/gh-aw-firewall/docs/chroot-mode/) for details.
275
279
:::
276
280
281
+
### `--dns-over-https [resolver-url]`
282
+
283
+
Enable DNS-over-HTTPS (DoH) via a sidecar proxy. When enabled, DNS queries are encrypted and sent over HTTPS instead of plaintext UDP, preventing DNS-based traffic inspection or tampering.
-**Requirement**: Resolver URL must start with `https://`
295
+
296
+
:::tip
297
+
Use `--dns-over-https` without a value to use the Google DNS default. Provide a custom URL only if your environment requires a specific resolver.
298
+
:::
299
+
277
300
### `--enable-host-access`
278
301
279
302
Enable access to host services via `host.docker.internal`. This allows containers to connect to services running on the host machine (e.g., local development servers, MCP gateways).
Always explicitly specify `--allow-host-ports` to ensure consistent behavior across versions.
315
338
:::
316
339
340
+
### `--allow-host-service-ports <ports>`
341
+
342
+
Comma-separated ports to allow **only** to the host gateway (`host.docker.internal`). Designed for GitHub Actions `services:` containers (e.g., PostgreSQL, Redis) whose ports are exposed to the host gateway.
|**Requires `--enable-host-access`**| Yes | No (auto-enables it) |
358
+
|**Use case**| Local dev servers | GitHub Actions `services:`|
359
+
360
+
-**Auto-enables host access**: No need to also pass `--enable-host-access`
361
+
-**Bypasses dangerous port restrictions**: Ports like 5432 (PostgreSQL) and 6379 (Redis) are normally blocked when using `--allow-host-ports` to prevent unintended database access, but are safe with `--allow-host-service-ports` because traffic is restricted to the host gateway only
362
+
363
+
:::danger[Security Warning]
364
+
Allowing port 22 grants SSH access to the host machine. Only allow ports for services you explicitly need.
365
+
:::
366
+
317
367
### `--proxy-logs-dir <path>`
318
368
319
369
Save Squid proxy logs directly to a custom directory instead of the default temporary location. Useful for preserving logs across multiple runs or integrating with log aggregation systems.
@@ -364,6 +414,32 @@ Custom images are validated against approved patterns to prevent supply chain at
Enable Docker-in-Docker by mounting the host Docker socket (`/var/run/docker.sock`) into the agent container. This allows the agent to run Docker commands.
Enabling Docker-in-Docker allows the agent to **bypass all firewall restrictions** by spawning new containers that are not subject to the firewall's network rules. Only enable this when you trust the command being executed and Docker access is required.
428
+
:::
429
+
430
+
### `--enable-dlp`
431
+
432
+
Enable Data Loss Prevention (DLP) scanning on outbound requests. When enabled, the firewall inspects outbound request URLs for patterns that match common credentials (API keys, tokens, passwords) and blocks requests that appear to exfiltrate secrets.
Enable DLP scanning as a defense-in-depth measure when running untrusted code that has access to environment variables or files containing credentials.
0 commit comments