mate_common.models.manticore module¶
- class mate_common.models.manticore.ExploreFunctionOptions(*, docker_image: str = None, docker_memory_limit_mb: Mebibytes = 65536, explore_msg: mate_common.models.integration.ExploreFunction)¶
Bases:
mate_common.models.manticore._MantiserveTaskOptions
- Parameters
docker_image (Optional[str]) –
docker_memory_limit_mb (Mebibytes) –
explore_msg (mate_common.models.integration.ExploreFunction) –
- Return type
None
- explore_msg: mate_common.models.integration.ExploreFunction¶
An Explore message that directs Manticore to explore one function using underconstrained symbolic execution.
- class mate_common.models.manticore.ExploreOptions(*, docker_image: str = None, docker_memory_limit_mb: Mebibytes = 65536, explore_msg: mate_common.models.integration.Explore)¶
Bases:
mate_common.models.manticore._MantiserveTaskOptions
- Parameters
docker_image (Optional[str]) –
docker_memory_limit_mb (Mebibytes) –
explore_msg (mate_common.models.integration.Explore) –
- Return type
None
- explore_msg: mate_common.models.integration.Explore¶
An Explore message that allows Manticore to explore the executable without much direction. See the schema model for more information.
- class mate_common.models.manticore.MantiserveTaskInformation(*, task_id: str, build_id: str, artifact_ids: List[str], kind: mate_common.models.manticore.MantiserveTaskKind, request: Dict[str, Any], result: Dict[str, Any] = None, state: mate_common.models.manticore.MantiserveTaskState, docker_image: str = None)¶
Bases:
pydantic.main.BaseModel
Metadata about a Mantiserve task.
- Parameters
task_id (str) –
build_id (str) –
artifact_ids (List[str]) –
request (Dict[str, Any]) –
result (Optional[Dict[str, Any]]) –
docker_image (Optional[str]) –
- Return type
None
- artifact_ids: List[str]¶
The IDs of any artifacts associated with this Mantiserve task.
- build_id: str¶
The associated MATE build’s ID.
- docker_image: Optional[str]¶
The Docker image that the task was configured with, if any.
- kind: mate_common.models.manticore.MantiserveTaskKind¶
The kind of Mantiserve task.
- request: Dict[str, Any]¶
The request that kicked off this Mantiserve task.
- result: Optional[Dict[str, Any]]¶
The task’s result, if any.
- state: mate_common.models.manticore.MantiserveTaskState¶
The task’s state.
- task_id: str¶
The unique ID for this Mantiserve task.
- class mate_common.models.manticore.MantiserveTaskKind(value)¶
Bases:
str
,enum.Enum
Supported Mantiserve tasks.
- Explore = 'Explore'¶
- ExploreFunction = 'ExploreFunction'¶
- Reachability = 'Reachability'¶
- class mate_common.models.manticore.MantiserveTaskState(value)¶
Bases:
mate_common.state_machine.StateMachineMixin
,str
,enum.Enum
An enumeration of the different states that a
MantiserveTask
can be in.- Completed = 'completed'¶
- Created = 'created'¶
- Failed = 'failed'¶
- Running = 'running'¶
- class mate_common.models.manticore.ReachabilityOptions(*, docker_image: str = None, docker_memory_limit_mb: Mebibytes = 65536, reach_msg: mate_common.models.integration.Reachability)¶
Bases:
mate_common.models.manticore._MantiserveTaskOptions
- Parameters
docker_image (Optional[str]) –
docker_memory_limit_mb (Mebibytes) –
reach_msg (mate_common.models.integration.Reachability) –
- Return type
None
- reach_msg: mate_common.models.integration.Reachability¶
A Reachability message that directs Manticore along a path.
- class mate_common.models.manticore.UnderConstrainedOptions(*, target_function: str, init_until: int = None, native_array_size_policy: mate_common.models.integration.UnboundedPtrPolicy, complex_array_size_policy: mate_common.models.integration.UnboundedPtrPolicy, auto_fix_errors: bool = False, input_constraints: List[mate_common.models.manticore.UserDefinedConstraint] = [])¶
Bases:
pydantic.main.BaseModel
Input to the under-constrained plugin.
- Parameters
target_function (str) –
init_until (Optional[int]) –
native_array_size_policy (mate_common.models.integration.UnboundedPtrPolicy) –
complex_array_size_policy (mate_common.models.integration.UnboundedPtrPolicy) –
auto_fix_errors (bool) –
input_constraints (List[mate_common.models.manticore.UserDefinedConstraint]) –
- Return type
None
- auto_fix_errors: bool¶
Automatically fix out-of-bounds errors: - When False, manticore will terminate a state as soon as it results in a possible OOB error - When True, if manticore detects a possible OOB error, it will try to harden the state constraints to enforce the OOB to become a correct memory access, and then resume exploring the state
- complex_array_size_policy: mate_common.models.integration.UnboundedPtrPolicy¶
Policy used to handle under-constrained raw pointers to complex types (SomeClass*, vector<SomeClass>*, …)
- init_until: Optional[int]¶
Address until which to run the program before jumping to the target function. If not specified, program will be initialised until it reaches main()
- input_constraints: List[mate_common.models.manticore.UserDefinedConstraint]¶
Additional symbolic constraints to initialise manticore with
- native_array_size_policy: mate_common.models.integration.UnboundedPtrPolicy¶
Policy used to handle under-constrained raw pointers to native types (int*, char*, …)
- target_function: str¶
Function to execute in under-constrained mode
- class mate_common.models.manticore.UserDefinedConstraint¶
Bases:
str
A symbolic constraint defined by the user.
It consists simply in a string that will later be translated into actual Constraint objects by manticore itself