Egress proxy
The egress proxy observes an agent's real outbound connections without kernel access. You run it in your own tenant, point an agent at it, and every connection it opens is reported to Kaizen as a connect action. The Observer learns the agent's normal destinations and flags new ones.
TLS stays end to end: Kaizen sees the destination (host and port, and the TLS SNI), not the payload. This is the deepest rung you can reach without an in-tenant kernel collector, and it works for any agent whose traffic you can route. See How you attach for where this sits on the ladder.
Run it
The proxy is in the egress/ folder of github.com/getkaizen/kaizen-security. It is stdlib only, no dependencies.
docker build -t kaizen-egress ./egress
docker run -p 8080:8080 \
-e KAIZEN_API_KEY=kz_live_... \
-e KAIZEN_AGENT=my-agent \
kaizen-egress
Or directly: KAIZEN_API_KEY=kz_live_... KAIZEN_AGENT=my-agent python egress/proxy.py. In Kubernetes, run it as a sidecar and redirect egress to it; the agent needs no change.
Point your agent at it
export HTTPS_PROXY=http://localhost:8080
export HTTP_PROXY=http://localhost:8080
# run your agent; its connections now appear in the console
What you get
Each connection becomes a connect action under your chosen agent name, with source=egress. The agent shows up in the console at the Ground truth tier, and a connection to a destination the agent has never used is flagged as a behavioral anomaly:
this agent did a destination it has never connected to (example.org).
Limits
- Sees only traffic routed through it. An agent that ignores the proxy is invisible at this rung; use an in-tenant eBPF collector for a no-bypass guarantee.
- Sees destinations, not TLS payloads (payload inspection is opt-in, behind a customer-trusted CA).
- Does not see in-process compute or local file activity; that is the kernel rung.
Config
| Env | Default | |
|---|---|---|
KAIZEN_API_KEY |
required | your org API key |
KAIZEN_AGENT |
egress-agent |
the agent name to report under |
KAIZEN_API_URL |
https://api.getkaizen.io |
control plane |
PORT |
8080 |
listen port |