The McritClient class provides a comprehensive Python interface for interacting with the MCRIT (Malware Code Reuse Identification Tool) API. It handles all communication with the MCRIT server, including sample submission, family management, function analysis, and matching operations.
from mcrit.client.McritClient import McritClientclient = McritClient(mcrit_server="http://localhost:8000")# Get server statusstatus = client.getStatus()print(f"Server status: {status}")# Get server versionversion = client.getVersion()print(f"MCRIT version: {version}")
400/404/410: Client errors return None for most methods
200/202: Successful responses return parsed data
try: sample = client.getSampleById(12345) if sample is None: print("Sample not found") else: print(f"Found sample: {sample.filename}")except Exception as e: print(f"Error: {e}")
When waiting for job results, handle potential job termination:
from mcrit.client.McritClient import McritClient, JobTerminatedErrorclient = McritClient()try: result = client.awaitResult(job_id) print(f"Job completed: {result}")except JobTerminatedError: print("Job was terminated before completion")