gh-aw-firewall

Enforce HTTP/HTTPS egress domain whitelisting for AI agent commands.

3|1|Updated Apr 12, 2026
One-click install
npx skills add https://github.com/Cogni-AI-OU/cogni-ai-agent-skills --skill gh-aw-firewall
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: gh-aw-firewall
Source: https://github.com/Cogni-AI-OU/cogni-ai-agent-skills/tree/main/gh-aw-firewall
Command: npx skills add https://github.com/Cogni-AI-OU/cogni-ai-agent-skills --skill gh-aw-firewall

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Prevents AI agents and untrusted commands from reaching unauthorized external sites by enforcing HTTP/HTTPS egress controls with domain whitelisting and network isolation.

Core Features & Use Cases

  • L7 domain whitelisting for HTTP/HTTPS: Restricts outbound traffic at the application layer so only approved domains are reachable.
  • Host-level enforcement across containers: Uses an iptables DOCKER-USER chain to apply the firewall policy to all containers.
  • Sandboxed execution with optional chroot host access: Keeps network isolation while optionally allowing transparent access to host binaries (Python/Node/Go).
  • Use cases: Running Copilot/Claude CLI with controlled egress, testing tools (e.g., Playwright) against local services, and debugging workflow connectivity while generating Squid-backed logs and statistics.

Quick Start

Use the gh-aw-firewall skill to run a command with only GitHub allowed by instructing it to execute: sudo awf --allow-domains github.com -- curl https://api.github.com

Frequently Asked Questions about gh-aw-firewall

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I restrict HTTP and HTTPS egress to specific domains when running AI agents?

You restrict HTTP and HTTPS egress by applying L7 domain whitelisting that enforces network isolation, ensuring AI agents can only reach explicitly approved external domains during execution. It uses iptables DOCKER-USER chains to apply firewall policies across all containers.

What is L7 domain whitelisting for sandboxed command execution?

L7 domain whitelisting for sandboxed execution is an application-layer traffic control mechanism that prevents untrusted commands from reaching unauthorized external sites. It enforces network isolation by permitting only matching HTTP and HTTPS traffic patterns to approved domains.

How do I run Copilot or Claude CLI with controlled network access?

To run Copilot or Claude CLI with controlled network access, execute the command through the firewall utility with an allow-domains flag. This restricts outbound traffic to only the specified domains, such as allowing github.com, while blocking all other external egress.

Can I use iptables to apply firewall policies across all Docker containers?

Yes, you can apply firewall policies across all Docker containers by using the iptables DOCKER-USER chain. This host-level enforcement ensures network isolation rules are applied container-wide, restricting HTTP and HTTPS egress traffic to only domain-whitelisted endpoints.

How do I generate Squid logs for debugging workflow connectivity?

You generate Squid logs for debugging workflow connectivity by routing agent commands through the firewall, which uses Squid-based logging to record permitted traffic patterns. This provides statistics and logs that help diagnose network isolation issues and verify domain whitelisting behavior.

Does sandboxed execution with network isolation allow access to host binaries?

Yes, sandboxed execution with network isolation can optionally allow transparent access to host binaries like Python, Node, or Go through a chroot mechanism. This keeps network egress restricted while enabling the execution of necessary local tools.