Pimp My IDE / garage dispatch
Back to garage
Linux network tracing / agent egress / 15 Oct 2026

Trace the socket before blaming the agent.

A surprise network connection can belong to the coding agent, its language server, a package manager, or a child process. Pick a witness that can name the caller and the route.

A packet proves that traffic crossed one point. It does not prove which process asked for it, why it happened, or whether policy allowed it.

Start with the question, not the tracer

A traffic graph can answer where bytes moved. It may not tell you which executable opened the socket. A process event can name the binary and parent. It may not show the final service after address translation or a proxy hop.

The useful move is to write the question first. If the question is "which child process called connect?" capture process identity at the socket call. If the question is "which cluster service received it?" inspect the network flow where workload identity exists.

Network proof gets stronger when each witness keeps its own job.

The socket layer catches intent early

The eBPF socket-address program type can run when a process in an attached cgroup calls socket operations. The documented connect hooks cover IPv4 and IPv6. The context exposes the requested address, port, address family, socket type, protocol, and socket pointer.

This is a good point to observe or enforce an outbound destination for a bounded process group. It still needs a process record. A destination alone does not tell you whether the IDE, the agent, or a child command initiated the call.

Process filters cut the noise

Tetragon tracing-policy selectors can filter by binary path, parent binary, process ID, command arguments, namespaces, capabilities, and workload. The actions can post a matching event. Socket tracking can map sockets to processes, but the documentation requires a matching untrack action so stale entries do not break the map.

That warning belongs in every long-running witness plan. State that is added must have a removal path. A trace that quietly accumulates stale socket ownership can produce a confident answer about the wrong process.

Cluster flow tools answer a different question

Hubble observes traffic seen by Cilium. Its local API covers one node by default. Hubble Relay widens visibility across a cluster or Cluster Mesh. The CLI can filter by workload, protocol, dropped verdict, encryption state, and reply direction.

Those fields help explain what the cluster saw. They do not reconstruct a laptop process tree outside that cluster. If the agent runs on a workstation and reaches a remote service, pair a process-side witness with the service or cluster record. Keep their clocks and identifiers in the receipt.

Do not capture payload by default

Process name, parent, destination, port, protocol, direction, time, and policy verdict answer many routing questions. Payload capture can expose prompts, source code, credentials, and customer data. Add it only when the question requires content and the owner has approved the scope.

The first pass should prefer metadata. Record how the trace starts, what it can see, how it stops, how long records remain, and who can read them.

Build a matched witness packet

  1. Pin the executable, parent, cgroup or workload, and exact time window.
  2. Capture the requested destination before proxying or translation.
  3. Capture the observed flow and verdict at the service boundary.
  4. Join records with time, process identity, socket identity, and destination.
  5. Stop the tracer, remove temporary policy, and record the cleanup result.
Interactive makeover / evidence routing

Traffic witness lane

Replace a vague "monitor network" checkbox with one ordered inspection depth and a receipt that names missing evidence. This teaching control drafts a plan. It does not observe traffic.

Set the witness depth

Use the range control or the three jump targets. The native range value drives the scanner, labels, and receipt.

Inspection depth
Receipt sections
Witness plan previewPROCESS / CALLER
Selected observation point

Name the caller first

Best answerBinary, parent, and execution identity.
Blind spotThe final route after proxying or address translation.

Process witness selected. Route and flow evidence remain open.

What this component proves It keeps process, socket, and flow questions separate and drafts required fields. It does not attach a tracer, validate a policy, identify a destination, or prove that any traffic occurred.

Sources read / 15 Oct 2026

Evidence bay

Current signal

Hacker News item 50071068

The item pointed to a network-tracing story. The linked publisher page returned HTTP 403 during this run, so no claims from that story appear here.

Open the discussion
Kernel interface reference

cgroup socket address programs

Documents connect, bind, send, receive, peer-name, and socket-name hooks plus the available address and protocol fields.

Read the eBPF reference
Process observability

Tetragon selectors

Documents binary, parent, process, argument, namespace, capability, workload, socket-track, and cleanup controls.

Read the selector guide
Cluster flow observability

Hubble CLI

Documents workload and protocol views plus dropped, encrypted, and reply-flow filters in a Cilium cluster.

Read the Hubble guide