Visual Guide
Work in progress
Projects
The MAST-Framework offers users to create projects in order to organize scans of a specific app. Each project may contain multiple scans for multiple files and it stores the detected software packages for all uploaded app files. The directory structure of a simple project can be summarized to the following:
projects/
<uuid:project_uuid>/
<str:internal_name>.[apk|ipa]
semgrep-<internal_name>.json
libscout-<internal_name>.json
<internal_name>/
info.json # PlayStore, AppStore information
src/
[ java/ ]
[ smali/ ]
contents/
# initial ZIP-File data
Note
The internal name will be generated based on the MD5 hash value of the uploaded file’s name and the current datetime:
internal_name := MD5(uploaded_file.name) "_" DATETIME.now
Bundles
TODO
ScanTask design
After a new scan has been requested, it will be executed on the target scan date. Before each scanner is executed, there is a preparation task, that is called asynchronously:
Preparation: create directories, extract ZIP Files, decompile binaries
Call Plugins: each scanner comes with a
task
field that should be a function that takes aScan
andScanTask
object as input.