Network egress
Records every outbound connection - PID, process, IP, port, and domain when DNS is correlated. See exactly what your build talks to.
Features
Egret runs your command under eBPF and records what it actually does. In audit mode it only logs; in block mode it enforces a default-deny egress policy. Same binary, one flag.
Records every outbound connection - PID, process, IP, port, and domain when DNS is correlated. See exactly what your build talks to.
Block mode is default-deny with a domain allowlist, backed by a local DNS proxy and an nftables dynamic allow set. Fail-closed teardown.
Observes execve/fork through eBPF to reconstruct the whole process tree of a run - what spawned what.
Flags writes to protected paths - .git/, ~/.ssh/, /etc/ - so a compromised step tampering with your source is visible.
Observe a run, then emit a ready-to-paste suggested allowlist. Start in audit, graduate to block with confidence.
Markdown + JSON + SARIF, written to the GitHub Actions job summary and uploaded to Code Scanning. No server required.
Two modes
The safe default. Watches and reports - never interrupts a build. Use it to learn what your pipeline legitimately talks to, then generate a policy from the observed run.
Default-deny egress with a domain allowlist, backed by a local DNS proxy and an nftables dynamic allow set. Non-allowlisted connections are dropped and logged; teardown is fail-closed.
A validated confinement boundary on bare/VM hosts; container & GitHub-hosted runner enforcement is still being validated - use audit there.
Zero infrastructure
Egret writes Markdown, JSON, and SARIF reports and appends to the GitHub Actions job summary. Nothing leaves your runner unless you explicitly point it at an ingest URL you control. The agent never requires the GitHub App or the Nest dashboard.