npx skills add smithery/githubnext --skill debug-firewall
github/gh-aw-firewall · Archived
debug-firewall
Debug the AWF firewall by inspecting Docker containers (awf-squid, awf-agent), analyzing Squid access logs, checking iptables rules, and troubleshooting blocked domains or network issues.
Installation
npx skills add github/gh-aw-firewall --skill debug-firewall
Stronger alternatives
This repository is archived — consider an actively maintained alternative.
Use the AWF (Agentic Workflow Firewall) to run commands with network isolation and domain white…
30 installsPractical Python scripts for debugging awf - parse logs, diagnose issues, inspect containers, t…
10 installsRegenerate and post-process all agentic workflows. Use when gh-aw is updated, workflow .md file…
9 installsDebug GitHub Actions workflows by downloading logs, analyzing summaries, and understanding how …
8 installsSimilar popular skills
Related neighbors and high-traction skills in the same topics — useful to compare before installing.
Browser automation CLI for AI agents. Use when the user needs to interact with websites, includ…
810.4K installsPostgres best practices maintained by Supabase, for Postgres running anywhere. Load this skill …
391.6K installsReview UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "chec…
617.3K installsBuild, deploy, evaluate, optimize, fine-tune, and manage Microsoft Foundry agents, models, and …
576.5K installsDebug Azure production issues on Azure using AppLens, Azure Monitor, resource health, and safe …
568.9K installsAlso in this package
Other skills from github/gh-aw-firewall.
npx skills add github/gh-aw-firewall
More details
Agent compatibility
Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.
Also listed on
Alternate registries and mirrors of this skill.
Repository health
main
Skill metadata
Parsed from SKILL.md frontmatter.
Bash(docker:*), Bash(sudo:*), Bash(dmesg:*), Bash(ls:*), Bash(cat:*), ReadPackage contents
Files included with this skill beyond the listing page.
-
skill md
SKILL.md4,362 B -
docs
SUMMARY.md209 B
History
- First seen on skills.sh
- First recorded snapshot · 11 installs
SKILL.md
AWF Firewall Debugging Skill
Use this skill when you need to debug the awf firewall, inspect container state, analyze traffic, or troubleshoot network issues.
Container Information
Container Names:
awf-squid- Squid proxy container (IP: 172.30.0.10)awf-agent- Agent execution container (IP: 172.30.0.20)
Network: awf-net (subnet: 172.30.0.0/24)
Quick Debugging Commands
Check Container Status
docker ps | grep awf
docker inspect awf-squid --format='{{.State.Running}}'
docker inspect awf-agent --format='{{.State.ExitCode}}'
View Logs
# Real-time logs
docker logs -f awf-squid
docker logs -f awf-agent
# Squid access log (traffic decisions)
docker exec awf-squid cat /var/log/squid/access.log
Analyze Traffic
Squid Decision Codes:
TCPTUNNEL:HIERDIRECT= ALLOWED (HTTPS)TCPMISS:HIERDIRECT= ALLOWED (HTTP)TCPDENIED:HIERNONE= BLOCKED
# Find blocked domains
docker exec awf-squid grep "TCP_DENIED" /var/log/squid/access.log | awk '{print $3}' | sort -u
# Count blocked by domain
docker exec awf-squid grep "TCP_DENIED" /var/log/squid/access.log | awk '{print $3}' | sort | uniq -c | sort -rn
# All unique domains accessed
docker exec awf-squid awk '{print $3}' /var/log/squid/access.log | sort -u
# Real-time blocked traffic
docker exec awf-squid tail -f /var/log/squid/access.log | grep --line-buffered TCP_DENIED
Inspect iptables Rules
# Host-level firewall chain
sudo iptables -t filter -L FW_WRAPPER -n -v
# Agent container NAT rules (redirects to Squid)
docker exec awf-agent iptables -t nat -L OUTPUT -n -v
# Kernel logs for blocked non-HTTP traffic
sudo dmesg | grep "FW_BLOCKED"
Network Inspection
# Network details
docker network inspect awf-net
# Test Squid connectivity
docker exec awf-agent nc -zv 172.30.0.10 3128
# DNS configuration
docker exec awf-agent cat /etc/resolv.conf
View Configuration
# Squid config
docker exec awf-squid cat /etc/squid/squid.conf
# Docker compose config
cat /tmp/awf-*/docker-compose.yml
# Agent environment
docker exec awf-agent env | grep -E "PROXY|DNS"
Preserved Logs Locations
With --keep-containers: Logs remain at work directory
- Squid:
/tmp/awf-<timestamp>/squid-logs/access.log - Agent:
/tmp/awf-<timestamp>/agent-logs/(only if Copilot CLI logs exist)
Normal execution: Logs moved after cleanup
- Squid:
/tmp/squid-logs-<timestamp>/access.log - Agent:
/tmp/awf-agent-logs-<timestamp>/
# Find work directories and preserved logs
ls -ldt /tmp/awf-* /tmp/squid-logs-* 2>/dev/null | head -5
# View Squid logs from work dir (with --keep-containers)
sudo cat /tmp/awf-*/squid-logs/access.log
# View preserved Squid logs (after normal cleanup)
sudo cat $(ls -t /tmp/squid-logs-*/access.log 2>/dev/null | head -1)
Debug Mode Workflow
# 1. Run with debug logging and keep containers
sudo awf \
--allow-domains github.com \
--log-level debug \
--keep-containers \
'curl https://api.github.com'
# 2. Inspect containers (they remain running)
docker ps | grep awf
docker logs awf-squid
docker exec awf-squid grep "TCP_DENIED" /var/log/squid/access.log
# 3. Check iptables
sudo iptables -t filter -L FW_WRAPPER -n
# 4. Manual cleanup when done
docker rm -f awf-squid awf-agent
docker network rm awf-net
Common Issues
Domain blocked unexpectedly:
# Check exact domain being requested
docker exec awf-squid tail -20 /var/log/squid/access.log
# Look at the Host header (3rd column) - may need subdomain allowlisted
DNS resolution failing:
# Check DNS servers in use
docker exec awf-agent cat /etc/resolv.conf
# Verify DNS allowed in iptables
sudo dmesg | grep "FW_DNS"
Cleanup
# Manual cleanup
./scripts/ci/cleanup.sh
# Or individually:
docker rm -f awf-squid awf-agent
docker network rm awf-net
sudo iptables -t filter -F FW_WRAPPER 2>/dev/null
sudo iptables -t filter -X FW_WRAPPER 2>/dev/null
rm -rf /tmp/awf-*