Observe
Collect kernel events once, in causal delivery order, with explicit loss and coverage state.
syscalls · task identity · security transitionsCuscuta reconstructs process and object channels from runtime evidence, preserves their security predicates over time, and measures the surface gained by each compromise hypothesis.
Runtime observability usually tells you what happened.
Cuscuta asks what becomes reachable if this node is compromised.
Follow one supported path from a content-locked runtime to an auditable state graph. Every command either names its completed evidence product or refuses without launching the target.
$ python3 provenance/tools/cuscuta.py install \
--runtime-root /absolute/path/to/cuscuta-runtime-linux-x86_64-v1Copies the CLI, semantics, and five content-locked executables into ~/.local without building on the target host.
INSTALL PASS · COMMAND READYCapture: Linux/x86-64 · Python 3.10+ · PyYAML · util-linux · active BPF LSM · root
Analyze: accepted capture + installed runtime · no KVM/QEMU requirement
TRUE opens a required clause, FALSE blocks it, and UNKNOWN stays visible. No second best-effort mode exists.
The process graph is a readable projection—not the source of truth. Security state stays attached to the smallest observed execution context at the exact interaction order.
Collect kernel events once, in causal delivery order, with explicit loss and coverage state.
syscalls · task identity · security transitionsTurn raw events into typed, replayable observations without silently inventing missing facts.
stable IDs · evidence links · field statusRecover FD/OFD lifetimes, task security state, inheritance, transfers, and communication channels.
ledger · intervals · cross-process edgesProduce human-sized process views while keeping every security decision attached to its exact task.
timelines · channel graph · evidence drill-downEvery graph edge is backed by typed observations and causal order. Missing evidence remains visible, so downstream analysis can distinguish “not observed” from “proved absent.”
process, task, image and files-table identity across fork, clone and exec
credentials, capabilities, namespaces, no_new_privs and seccomp mode over time
open-file descriptions, FD slots, access modes, mappings and object identity
pipes, AF_UNIX sockets, producer/consumer operations and message correlation
fork inheritance, dup lineage and SCM_RIGHTS transfer between subjects
coverage, loss boundaries, provenance IDs and replay authority for every result
Switch between retained Chrome and Firefox capture artifacts. Process groups make the topology legible; task endpoints retain the actual security state.
The projection joins task identity, FD holdings, seccomp state, channel actions, inheritance, and descriptor transfer at each interaction endpoint.