ExHarness.ReachRunner (ex_harness v0.1.3)

Copy Markdown View Source

Runs Reach across the host project and returns the data the audit renderer needs (scope, taints, dead-code candidates).

The default sources / sinks / sanitizers are tuned for plain Phoenix projects. Projects with custom Repo modules or HTTP clients can pass their own filters via opts.

Summary

Functions

Run reach in root. Discovers lib/**/*.ex and src/**/*.erl.

Types

result()

@type result() :: %{
  scope: %{modules: non_neg_integer(), nodes: non_neg_integer()},
  taints: [map()],
  dead_code: [map()]
}

Functions

run(root, opts \\ [])

@spec run(
  String.t(),
  keyword()
) :: result()

Run reach in root. Discovers lib/**/*.ex and src/**/*.erl.

Options:

  • :sources — override default taint sources
  • :sinks — override default sinks
  • :sanitizers — override default sanitizers