• Decision: Load/attach eBPF in pure Go via cilium/ebpf + bpf2go (no CGO); target kernel ≥ 5.10 (BTF/CO-RE); sidecar caps CAP_BPF + CAP_NET_ADMIN + CAP_PERFMON.
  • Reason: Pure-Go loader keeps the build CGO-free; CO-RE lets one object run across kernels; those caps are the least-privilege set for cgroup + uprobe attach on ≥ 5.8.
  • Trade-off: Excludes kernels < 5.10 and rootless Podman (these program types need rootful).
  • Scope: Whole project.
  • Date: 2026-09-09
  • Status: active — cap list amended: CAP_PERFMON dropped by AD-010 (it was uprobe-attach-only); CAP_SYS_RESOURCE (AD-009) and CAP_NET_RAW (AF_PACKET capture) added. Live set: CAP_BPF+CAP_NET_ADMIN+CAP_SYS_RESOURCE+CAP_NET_RAW after --cap-drop ALL.