polytracker.taint_forest

taint_forest classes

ExportTaintForest

class polytracker.taint_forest.ExportTaintForest(argument_parser: ArgumentParser)

Bases: Command

__init__(argument_parser: ArgumentParser)
extension_types: List[Type[CommandExtension]] | None = None

An auto-populated list of eny extensions to this command.

extensions: List[CommandExtension]
property full_name: str
help: str = 'export a taint forest to GraphViz (DOT) format'

Help string for this command.

name: str = 'forest'

The name of this plugin.

parent: 'Plugin' | None

The parent of this plugin, if it is a sub-plugin.

parent_parsers: Tuple[ArgumentParser, ...] = ()

An optional sequence of parent argument parsers from which to parse options.

run(args)

Callback for when the command is run.

Parameters:

args – The result of parsing the commandline arguments set up by Command.__init_arguments__().

subcommand_types: List[Type[Subcommand]] | None = None

An auto-populated list of subcommands of this command.

subcommands: List[Subcommand]
subparser: Any | None = None

A subparser, auto-populated if subcommand_types is not None.

TaintForest

class polytracker.taint_forest.TaintForest

Bases: object

__init__()
abstract get_node(label: int, source: Input | None = None) TaintForestNode
abstract nodes() Iterator[TaintForestNode]

Iterates over the nodes in order of decreasing label

to_graph() DAG[TaintForestNode]

TaintForestNode

class polytracker.taint_forest.TaintForestNode(label: int, source: Input | None, affected_control_flow: bool = False)

Bases: object

__init__(label: int, source: Input | None, affected_control_flow: bool = False)
is_canonical() bool
abstract property parent_labels: Tuple[int, int] | None
abstract property parent_one: TaintForestNode | None
abstract property parent_two: TaintForestNode | None