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
Assessment: Overall coverage is strong and well above industry standards (>85%). All security-critical paths are well-covered except where noted below.
🛡️ Security-Critical Path Status
Component
Statements
Branches
Functions
Status
host-iptables-shared.ts
100%
100%
100%
✅ Full Coverage
host-iptables-rules.ts
100%
100%
100%
✅ Full Coverage
host-iptables-chain.ts
100%
100%
100%
✅ Full Coverage
domain-patterns.ts
100%
89.47%
100%
✅ Full Coverage
squid/acl-generator.ts
100%
100%
100%
✅ Full Coverage
squid/domain-acl.ts
100%
100%
100%
✅ Full Coverage
squid/config-sections.ts
100%
100%
100%
✅ Full Coverage
docker-manager.ts
100%
100%
100%
✅ Full Coverage
cli.ts
85.71%
50%
100%
⚠️Minor Gap
Key Finding: All core firewall policy engines (iptables, domain ACLs, Squid config) have 100% statement coverage. The CLI wrapper has minor branch gaps that don't affect firewall security logic.
📋 Coverage Table
✅ Perfect Coverage (100%)
File
Statements
Branches
Functions
squid/access-rules.ts
100% (44/44)
100% (42/42)
100% (4/4)
squid/acl-generator.ts
100% (53/53)
100% (20/20)
100% (4/4)
squid/config-generator.ts
100% (27/27)
100% (22/22)
100% (2/2)
squid/config-sections.ts
100% (67/67)
100% (37/37)
100% (11/11)
squid/domain-acl.ts
100% (29/29)
100% (12/12)
100% (8/8)
squid/ssl-bump.ts
100% (16/16)
100% (15/15)
100% (2/2)
squid/upstream-proxy.ts
100% (16/16)
100% (8/8)
100% (1/1)
squid/validation.ts
100% (36/36)
100% (34/34)
100% (5/5)
squid/policy-rules/section-builders.ts
100% (66/66)
100% (30/30)
100% (21/21)
host-iptables-shared.ts
100% (91/91)
100% (20/20)
100% (15/15)
host-iptables-rules.ts
100% (97/97)
100% (36/36)
100% (9/9)
host-iptables-chain.ts
100% (42/42)
100% (10/10)
100% (3/3)
domain-patterns.ts
100% (25/25)
89.47% (17/19)
100% (3/3)
services/squid-service.ts
100% (30/30)
100% (13/13)
100% (1/1)
docker-manager.ts
100% (20/20)
100% (0/0)
100% (15/15)
⚠️ Good Coverage (80-99%)
File
Statements
Branches
Functions
Gap
cli.ts
85.71% (6/7)
50% (1/2)
100% (0/0)
1 uncovered branch
squid-log-reader.ts
91.52% (54/59)
84.84% (28/33)
83.33% (5/6)
1 function uncovered
🔴 Coverage Gaps (50-79%)
File
Statements
Branches
Functions
Lines
Issue
enclave/runtime-preflight.ts
66.66% (24/36)
41.02% (16/39)
75% (6/8)
66.66%
Pre-flight validations need testing
microvm/rootfs.ts
71.69% (38/53)
54.54% (12/22)
83.33% (5/6)
71.69%
Root filesystem setup partially tested
commands/validators/config-assembly.ts
73.68% (28/38)
25% (3/12)
100% (3/3)
73.68%
Branch coverage weak
microvm/network-reservation.ts
50.22% (111/221)
54.26% (70/129)
59.09% (13/22)
50.22%
Major gap in network resource allocation
🔴 Critical Gaps (<50%)
File
Statements
Branches
Functions
Lines
Severity
bounded-execution/finite-disclosure.ts
38.12% (183/480)
25.89% (101/390)
55.31% (26/47)
44.32%
CRITICAL — Process isolation untested
🔧 Function Audit
Uncovered Functions & Branches
finite-disclosure.ts (Critical)
Statements: Only 183 of 480 covered (38.12%)
Branches: Only 101 of 390 covered (25.89%)
Risk: Core process isolation and credential-hiding logic is largely untested
Impact: Sandbox escape or credential leakage possible if regression introduced
Root Cause: Bounded execution / process isolation is complex and requires deep kernel knowledge; many edge cases aren't tested
network-reservation.ts (High)
Statements: 111 of 221 covered (50.22%)
Branches: 70 of 129 covered (54.26%)
Risk: Network resource allocation (/32 IP reservations, VLAN isolation) may have untested failure paths
Impact: Multi-user runner scenarios could leak traffic between agents
config-assembly.ts (Medium)
Statements: 28 of 38 covered (73.68%)
Branches: Only 3 of 12 covered (25%)
Risk: Configuration validation has untested conditional paths
Impact: Invalid configs might not be caught during preflight
Risk: MicroVM root filesystem setup has untested branches
Impact: Edge cases in fsverity, verity setup, or chroot operations untested
📅 Recent Source Changes (last 7 days)
Unable to determine recent changes due to repository access restrictions. Coverage report reflects the current state of the codebase.
🔎 Notable Findings
Firewall Core Is Well-Protected: All Squid ACL, iptables rule generation, and domain pattern matching code has 100% statement coverage. This is excellent for a security-critical system.
Process Isolation Needs Urgent Testing:finite-disclosure.ts (38% coverage) is the highest-risk gap. This module handles credential hiding, process namespace isolation, and capability dropping—all critical to sandbox security. A regression here could expose agent processes to each other or to host credentials.
MicroVM/Enclave Paths Have Gaps: The newer microVM and enclave subsystems (network-reservation, runtime-preflight, rootfs) have 50–67% coverage. These are newer code paths and may benefit from integration tests.
Branch Coverage Lags Statement Coverage: Even well-covered files sometimes have branch gaps (e.g., config-assembly.ts 74% statements but only 25% branches). Error handling paths and conditional fallbacks need more test cases.
🎯 Recommendations
1. [HIGH] Test Finite Disclosure Process Isolation
Priority: Urgent
Effort: 3–5 days
Target: Increase bounded-execution/finite-disclosure.ts statements from 38% → 75%+
Action:
Add unit tests for credential-hiding overlays (/dev/null mounts)
Test capability drop sequences (SYS_CHROOT, SYS_ADMIN)
Add negative tests: verify that agent cannot read /etc/shadow, host env, or sibling process memory
Test edge cases: missing home dir, unusual UID/GID mappings
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.
📊 Test Coverage Report — 2026-09-04
Overall Coverage
Assessment: Overall coverage is strong and well above industry standards (>85%). All security-critical paths are well-covered except where noted below.
🛡️ Security-Critical Path Status
host-iptables-shared.tshost-iptables-rules.tshost-iptables-chain.tsdomain-patterns.tssquid/acl-generator.tssquid/domain-acl.tssquid/config-sections.tsdocker-manager.tscli.tsKey Finding: All core firewall policy engines (iptables, domain ACLs, Squid config) have 100% statement coverage. The CLI wrapper has minor branch gaps that don't affect firewall security logic.
📋 Coverage Table
✅ Perfect Coverage (100%)
squid/access-rules.tssquid/acl-generator.tssquid/config-generator.tssquid/config-sections.tssquid/domain-acl.tssquid/ssl-bump.tssquid/upstream-proxy.tssquid/validation.tssquid/policy-rules/section-builders.tshost-iptables-shared.tshost-iptables-rules.tshost-iptables-chain.tsdomain-patterns.tsservices/squid-service.tsdocker-manager.tscli.tssquid-log-reader.ts🔴 Coverage Gaps (50-79%)
enclave/runtime-preflight.tsmicrovm/rootfs.tscommands/validators/config-assembly.tsmicrovm/network-reservation.ts🔴 Critical Gaps (<50%)
bounded-execution/finite-disclosure.ts🔧 Function Audit
Uncovered Functions & Branches
finite-disclosure.ts(Critical)network-reservation.ts(High)/32IP reservations, VLAN isolation) may have untested failure pathsconfig-assembly.ts(Medium)runtime-preflight.ts(Medium)rootfs.ts(Medium)📅 Recent Source Changes (last 7 days)
Unable to determine recent changes due to repository access restrictions. Coverage report reflects the current state of the codebase.
🔎 Notable Findings
Firewall Core Is Well-Protected: All Squid ACL, iptables rule generation, and domain pattern matching code has 100% statement coverage. This is excellent for a security-critical system.
Process Isolation Needs Urgent Testing:
finite-disclosure.ts(38% coverage) is the highest-risk gap. This module handles credential hiding, process namespace isolation, and capability dropping—all critical to sandbox security. A regression here could expose agent processes to each other or to host credentials.MicroVM/Enclave Paths Have Gaps: The newer microVM and enclave subsystems (
network-reservation,runtime-preflight,rootfs) have 50–67% coverage. These are newer code paths and may benefit from integration tests.Branch Coverage Lags Statement Coverage: Even well-covered files sometimes have branch gaps (e.g.,
config-assembly.ts74% statements but only 25% branches). Error handling paths and conditional fallbacks need more test cases.🎯 Recommendations
1. [HIGH] Test Finite Disclosure Process Isolation
bounded-execution/finite-disclosure.tsstatements from 38% → 75%+/dev/nullmounts)/etc/shadow, host env, or sibling process memory2. [MEDIUM] Add Network Reservation Integration Tests
microvm/network-reservation.tsbranches from 54% → 80%+/32IP allocation and conflict detection in multi-agent scenarios3. [MEDIUM] Improve Config Validation Branch Coverage
commands/validators/config-assembly.tsbranches from 25% → 80%+Report Generated: 2026-09-04
Coverage Tool: Jest Istanbul
Repository: github/gh-aw-firewall
All reactions