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
Limited-depth review. No new critical or high findings. The escape-test summary (/tmp/gh-aw/escape-test-summary.txt) was empty (0 bytes), so there is no cross-reference data from that run.
🔍 Findings from Firewall Escape Test
None available. ls -la showed the file at 0 bytes. Check that the pre-fetch step is working.
🛡️ Architecture Security Analysis
Container (src/services/agent-service.ts:55-85):
NET_ADMIN is not granted to the agent. iptables setup runs in the separate awf-iptables-init container, which gets NET_ADMIN and NET_RAW with cap_drop: ALL.
The agent drops NET_RAW, SYS_PTRACE, SYS_MODULE, SYS_RAWIO and MKNOD.
no-new-privileges:true and a custom seccomp profile are applied.
The agent is granted SYS_CHROOT and SYS_ADMIN. Both are dropped via capsh before user code runs.
Memory and pids limits are set.
Weakness (Medium): apparmor:unconfined (line 82) plus SYS_ADMIN leave a window during entrypoint.sh startup. Safety depends entirely on the capsh drop happening before user code runs. This is documented and covered by tests.
Network:
setup-iptables.sh ends with a final -p tcp -j DROP and -p udp -j DROP (lines 480-482).
Dangerous ports are blocked, including SSH 22 (line 107).
DNS is restricted to configured servers.
Host-level iptables logic lives in host-iptables-*.ts.
Domain validation: src/domain-patterns.ts (137 lines) and src/squid/domain-acl.ts handle normalization and ACL generation.
Dependencies: npm audit produced no output in this environment, so nothing is confirmed.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
📊 Executive Summary
Limited-depth review. No new critical or high findings. The escape-test summary (
/tmp/gh-aw/escape-test-summary.txt) was empty (0 bytes), so there is no cross-reference data from that run.🔍 Findings from Firewall Escape Test
None available.
ls -lashowed the file at 0 bytes. Check that the pre-fetch step is working.🛡️ Architecture Security Analysis
src/services/agent-service.ts:55-85):NET_ADMINis not granted to the agent. iptables setup runs in the separateawf-iptables-initcontainer, which getsNET_ADMINandNET_RAWwithcap_drop: ALL.NET_RAW,SYS_PTRACE,SYS_MODULE,SYS_RAWIOandMKNOD.no-new-privileges:trueand a custom seccomp profile are applied.SYS_CHROOTandSYS_ADMIN. Both are dropped viacapshbefore user code runs.apparmor:unconfined(line 82) plusSYS_ADMINleave a window duringentrypoint.shstartup. Safety depends entirely on the capsh drop happening before user code runs. This is documented and covered by tests.setup-iptables.shends with a final-p tcp -j DROPand-p udp -j DROP(lines 480-482).host-iptables-*.ts.src/domain-patterns.ts(137 lines) andsrc/squid/domain-acl.tshandle normalization and ACL generation.npm auditproduced no output in this environment, so nothing is confirmed.NET_RAWdropped🎯 Attack Surface Map
containers/agent/setup-iptables.sh, Squidsrc/services/agent-service.tssrc/domain-patterns.tssrc/cli.ts, execa callerscontainers/agent/entrypoint.sh(1868 lines)📋 Evidence Collection
wc -l:host-iptables.ts10,setup-iptables.sh540,domain-patterns.ts137,entrypoint.sh1868.grep cap_add|cap_drop|no-new-privileges: confirmed inagent-service.ts:66-82.✅ Recommendations
SYS_ADMIN.entrypoint.shinto smaller auditable modules.npm auditin CI and publish the result.📈 Security Metrics
All reactions