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
Copy file name to clipboardExpand all lines: ROADMAP.md
+6Lines changed: 6 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,6 +19,12 @@ This document outlines the planned features and improvements for RustNet.
19
19
- BPF device access and permissions setup
20
20
- Native libpcap packet capture
21
21
- Cross-compilation support from Linux
22
+
-[ ]**FreeBSD Capsicum Full Sandbox** (`cap_enter()`): Replace per-FD `cap_rights_limit()` with full capability mode to prevent file access and data exfiltration. Requires:
23
+
- Switch from `sockstat` subprocess to `libprocstat(3)` library calls for process lookup (eliminates `fork()`/`execve()` dependency)
24
+
- Integrate `libcasper` for privileged sysctl access from inside capability mode (`kern.proc.filedesc` is blocked in `cap_enter()`)
25
+
- Architecture: pre-fork a Casper service before `cap_enter()`, communicate over socket pair at runtime
26
+
- Write FFI bindings for `libprocstat` and `libcasper` (no Rust crate exists)
27
+
- Link against `-lprocstat -lcasper -lcap_sysctl` (system libraries on FreeBSD 10+)
22
28
-[ ]**OpenBSD and NetBSD Support**: Future platforms to support
23
29
-[x]**Linux Process Identification**: **Experimental eBPF Support Implemented** - Basic eBPF-based process identification now available with `--features ebpf`. Provides efficient kernel-level process-to-connection mapping with lower overhead than procfs. Currently has limitations (see eBPF Improvements section below).
@@ -116,6 +117,10 @@ Unlike Linux Landlock, clipboard copy (`c` key) works normally under Seatbelt. m
116
117
117
118
On Linux, clipboard requires access to Wayland sockets (`/run/user/UID/wayland-0`) or X11 sockets (`/tmp/.X11-unix/`). Landlock's deny-default model blocks these because they are not in the write-path allowlist, so clipboard is unavailable when Landlock is active.
118
119
120
+
## FreeBSD Sandboxing
121
+
122
+
FreeBSD does not currently have sandboxing enabled. A full Capsicum sandbox using `cap_enter()` with `libcasper` for privileged process lookup is planned — see [ROADMAP.md](ROADMAP.md) for details.
123
+
119
124
## Privilege Requirements
120
125
121
126
RustNet requires privileged access for packet capture:
0 commit comments