polytracker.taint_forest

taint_forest classes

ExportTaintForest

class polytracker.taint_forest.ExportTaintForest(argument_parser: ArgumentParser)

Bases: Command

__init__(argument_parser: ArgumentParser)
extension_types: Optional[List[Type[CommandExtension]]] = 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: Optional['Plugin']

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: Optional[List[Type[Subcommand]]] = None

An auto-populated list of subcommands of this command.

subcommands: List[Subcommand]
subparser: Optional[Any] = 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: Optional[Input] = 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: Optional[Input], affected_control_flow: bool = False)

Bases: object

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