Android Malware Detection from Permissions
Static malware detection from the permissions an app requests, on 29,332 apps from the NATICUSdroid dataset (permission flags only - no malware is shipped). Logistic regression, random forest, gradient boosting, a PyTorch MLP and a monotone model are tested on permission sets they have never seen. Tick permissions or paste an app's permission list in the demo and see the score, the permissions behind it, and how an attacker could lower it.
Secure checkout by Dodo Payments (UPI, cards). Your personalised download link is e-mailed within 24 hours. One purchase covers one project team of up to 4 students. See terms and refunds.


Our honest results
| ROC-AUC on unseen permission sets - mean of 5 splits, all four main models | 0.988 |
| Gradient boosting detection rate at 1.9% false positives (5,860 test apps) | 0.866 |
| Test apps with an identical twin in training, random split | 80% |
| Gradient boosting detection after an attacker adds 2 permissions | 0.000 |
The guide shows why 29,332 apps are really 7,395 examples, why none of the malware uses a modern Android permission (concept drift), and what a monotone model that cannot be evaded this way costs in accuracy. Trains in under 10 seconds on a laptop CPU.
What's included
- Readable source codeSmall, commented modules you can explain line by line in your viva.
- Demo appA local web app to show your examiners - runs offline on your laptop.
- Trained model + reference resultsSo you can compare your own runs fairly.
- Learning guide with viva Q&ABackground, design choices explained, limitations and extension ideas.
- One-click setup & testsWindows setup script and tests that prove it works on your PC.
- Dataset download scriptFetches the public data from its original source, with the citation.
Dataset credit
Mathur A. (2021). NATICUSdroid (Android Permissions). UCI Machine Learning Repository. doi:10.24432/C5FS64 - CC BY 4.0.
Academic integrity
We sell code and teaching, not finished projects. You must understand, extend and write up the work yourself, acknowledge the kit and cite the dataset. No ready-made reports.