FB | System Design | Multi-Engine Malware Analyzer

Desgin a multi-engine Malware scanner system which allows users to upload files to be scanned by multiple Anti Virus engines and extraction scripts. Stores and returns metadata and results about the uploaded files by each engine.

Requirements:

uploaded files should be forever accessible. (file size can be ~500MB)
engines and extraction scripts can run on any platform. we dont have control on which platform each engine may use.
Addition on new engines or scripts on the fly with minimal/zero down time.
How to store the data ?

A sample report contains:

Tt number of engines that consider this file/url as harmful
Calssification of the file
it's cryto hash func
contents of the file extracted by each engine.

P.S: The focus was more on the sharding and partitioning aspect

Comments (7)