MCRITweb is a Flask-based user interface for MCRIT, the MinHash-based Code Recognition & Investigation Toolkit.
It has been developed by Daniel Enders, Manuel Blatt, and Daniel Plohmann.
We highly recommend using the dockerized deployment available at docker-mcrit.
If you instead want to go for a direct installation (e.g. to simplify development), a few dependencies have to be installed.
First, ensure that Python is available, then simply use pip to cover the requirements:
# install python and MCRIT dependencies
$ sudo apt install python3 python3-pip
$ pip install -r requirements.txt
Obviously, also make sure that the backend MCRIT is fully installed, configured, and running.
If you want to run MCRITweb as a standalone tool, the following steps will enable this:
Running flask commands requires you to set environment variables in your shell:
$ source ./flask_env.sh
before the first usage, create an empty database:
$ flask init-db
and then to run MCRITweb, execute:
$ flask run
Alternatively, we recommend to use the fully packaged docker-mcrit for trivial deployment and usage.
First and foremost, this will ensure that you have fully compatible versions across all components.
- 2023-01-15 v0.9.12: Allow filtering matching results by score, number of family matches, and exclude library matches.
- 2022-12-15 v0.9.10: Allow setting Minhash fuzziness for candidate selection.
- 2022-12-13 v0.9.7: Allow matching of arbitrary functions by their IDs.
- 2022-11-18 v0.9.5: Modify and Delete functions for samples and families.
- 2022-11-03 v0.9.1: Improved Unique Blocks Isolation and added YARA generation.
- 2022-10-14 v0.9.0: Initial public beta release.
MCRITweb uses the following projects:
- the awesome CFGExplorer library published by the Humans, Data, and Computers Lab at CS Arizona in order to visualize disassembly.
bootstrap
,jquery
, andfont-awesome
for its appearence.
Pull requests welcome! :)
MCRITweb
Copyright (C) 2022 Daniel Enders, Manuel Blatt, Daniel Plohmann
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Some plug-ins and libraries may have different licenses.
If so, a license file is provided in the plug-in's folder.