Skip to main content
aspex trace reads what your clients log. It never captures payloads and never sits in the request path, so every conclusion carries one of four labels.

Sequence is never causality

A kill chain is a set of OBSERVED steps whose link is INFERRED and whose harm is POSSIBLE. Aspex says so in the output, every time. Provenance (which ingested content preceded a suspicious call) carries a timed confidence:

Per session, always

Analysis is per session. A file read in one conversation and a network call in another are never joined, even if they are a minute apart.

What this means for scan

A scan finding is a path: a composition that exists in your configuration. A trace finding is an observation: something that happened. aspex scan --with-trace puts them side by side so you can see which risky compositions are actually exercised, and aspex tighten uses observations to recommend narrower permissions. Neither one turns the other into proof.
Connectors added through claude.ai are configured in the cloud and have no local file. They appear in trace output as in use, never scanned, with their call counts, so you know how much of your agents’ activity runs through servers no static scan has looked at.