Skip to content

Pass catalog

Every analysis in Tenet is a pass. This page lists all passes in the catalog, grouped by category. Default-on passes run when the Tauri Web frontend asks the backend to run the default pass set, or when analysis is started in the TUI; others are started on demand.

Pass CLI flag Default Summary
function --run-pass function Yes Discover call/return pairs, build function list
xref --run-pass xref Yes PC → inst_ids cross-reference index
cfg --run-pass cfg Yes Control-flow graph (basic blocks + edges)
cfg_layout --run-pass cfg_layout No Graph layout coordinates for CFG view
call_graph --run-pass call_graph Yes Inter-function call graph
loop --run-pass loop Yes Detect loops via back-edges in CFG
vm_abstract --vm-abstract No Use a static-analysis-provided dispatcher anchor plus optional indirect-branch/handler hints to build VM step sequences, decode opcodes/operands, and capture context/register/stack snapshots; does not discover dispatchers automatically
Pass CLI flag Default Summary
taint --taint No Forward taint from current register
backward_taint --backward-taint No Backward taint from current instruction
taint_source_annotation --taint-source-annotation No Annotate backward-taint endpoints (ObjC/mem/const)
Pass CLI flag Default Summary
pattern --pattern Yes Crypto/anti-debug patterns + materialized constants (constant_materialization merged into pattern)
loop_semantics --loop-semantics Yes Classify loops (Feistel/SPN/ARX/memcpy…)
algorithm_summary --algorithm-summary Yes Cross-reference constants+patterns → algorithm ID
objc_crypto --objc-crypto No Correlate crypto patterns with ObjC call stacks
Pass CLI flag Default Summary
strings --strings Yes String accesses in the trace
memory_strings --memory-strings No Time-aware string discovery via memory reconstruction
memory_snapshot --memory-snapshot No Capture memory snapshots at call sites / inst_ids
mem_search --run-pass mem_search No Multi-pattern + exact-value/immediate search (literal_search deprecated alias)
entropy --entropy No Shannon entropy of a memory region
yara_mem_scan --yara-mem-scan No YARA scan of heap/stack memory
Pass CLI flag Default Summary
objc --objc No Objective-C message send analysis
syscall_intercept --syscall-intercept No Intercept crypto/system API calls (platform-aware)
Pass CLI flag Default Summary
trace_fold --trace-fold No Fold repetitive loop iterations into summaries
reg_timeline --reg-timeline No Timeline of all writes to a register
call_context --call-context No Call stack + loop position + neighbors at an inst
window_stats --window-stats No Sliding window statistics (hot regions, entropy…)
trace_diff --trace-diff No Compare two trace regions for divergence
dataflow_graph --dataflow-graph No Register-level data-flow graph for a region
Pass CLI flag Default Summary
thread --run-pass thread Yes Thread timeline / switching statistics for multi-thread traces
thread_filter --thread-filter [tid,…] No Per-thread instruction bitmaps; restricts the instruction view to the given tids (re-configurable — the pass is re-registered on each new selection)
cross_thread_dataflow --cross-thread-dataflow No Shared-memory handoffs between threads: writer→reader edges aggregated into channels with producer→consumer statistics
function ──> call_graph
├───────────────> algorithm_summary
└───────────────> call_context
xref ──> cfg ──> cfg_layout
│ └──> loop ──> loop_semantics
│ │ └──> algorithm_summary
│ ├──────────────> trace_fold
│ ├──────────────> call_context
│ └──────────────> vm_abstract
├──────────────> loop_semantics
├──────────────> trace_fold
└──────────────> vm_abstract
pattern ─────────> algorithm_summary
└──────────────> objc_crypto
call_graph ──────> algorithm_summary
objc ────────────> objc_crypto
└──────────────> taint_source_annotation
backward_taint ──> taint_source_annotation
cfg ─────────────> vm_abstract
thread ──────────> thread_filter

The graph above shows the main dependencies declared in the source; taint depends on xref only when xref acceleration is enabled. For the complete current set, refer to --list-passes and each pass’s dependencies() declaration.