mate.poi.analysis.PointerDisclosure module

class mate.poi.analysis.PointerDisclosure.PointerDisclosure

Bases: mate.poi.poi_types.Analysis

run(session: Session, graph: db.Graph, _inputs: Dict[str, Any]) Iterator[POIGraphsPair]
Return type


class mate.poi.analysis.PointerDisclosure.PointerDisclosurePOI(*, insight: str, source: str = None, sink: str = None, salient_functions: List[mate_common.models.analyses.SalientFunction] = [])

Bases: mate_common.models.analyses.POI

This POI represents a potential pointer address leak to a public output.

It consists of an LLVM pointer value and an output signature where that pointer might be leaked to the user.

Return type


insight: str

A human-readable piece of “insight” for the POI, in Markdown format.

salient_functions: List[SalientFunction]

A list of SalientFunction models.

Each POI analysis determines which, if any, functions to include in this list.

sink: Optional[str]

A human readable location string for the “sink” of the POI.

source: Optional[str]

A human readable location string for the “source” of the POI.

mate.poi.analysis.PointerDisclosure.compute_cfl_pointer_disclosure(session: Session, cpg: db.Graph) Iterable[Tuple[Instruction, Instruction, List[OutputSignature]]]
Return type

Iterable[Tuple[Instruction, Instruction, List[OutputSignature]]]

mate.poi.analysis.PointerDisclosure.compute_pointer_disclosure(session: Session, cpg: db.Graph) Iterable[Tuple[Instruction, OutputSignature]]
Return type

Iterable[Tuple[Instruction, OutputSignature]]