Overlay attacks
Fake screens drawn on top of legitimate banking apps to capture credentials.
On-premises Android malware analysis
APKScan pulls apart suspicious Android apps with deterministic static analysis, a grounded local-GenAI layer, an ML classifier, and an isolated sandbox — and hands you an explainable, auditable risk score for the banking-fraud threat model.
The threat model
Indian banking-fraud campaigns don't look like textbook viruses. APKScan's rules and detections are shaped around the techniques these apps really use.
Fake screens drawn on top of legitimate banking apps to capture credentials.
Accessibility services hijacked to read screens, tap buttons, and grant permissions.
Silent reading and forwarding of one-time passwords to defeat 2FA.
Recording keystrokes and screen content to harvest sensitive input.
Remote-access trojans and staged droppers that fetch payloads after install.
ATS logic that moves money directly from a compromised device.
How it works
An APK enters a single-host async pipeline. Each stage records its evidence, so the final score is explainable end to end.
GenAI explains — the deterministic rule layer decides the verdict.
What's inside
Features pulled from a battery of analyzers, plus certificate, Firebase, and domain checks.
Permission weights, dangerous combinations, Quark behavior scores, and YARA hits — the layer that decides every verdict.
Qwen2.5-Coder via Ollama interprets code. Every claim must cite a concrete artifact; ungrounded claims are withheld.
RandomForest & XGBoost over permission/API features, with SHAP feature-importance explanations and drift monitoring.
A 0–100 risk score, a Benign / Suspicious / Malicious band, severity and confidence — backed by a full evidence log.
PDF & JSON reports, MITRE ATT&CK mapping, STIX 2.1 IOC export, and analyst sign-off on high-severity verdicts.
Governance posture
Everything runs on your own hardware. No sample or report data leaves the host.
Local models only. External LLM egress stays disabled unless governance explicitly enables it.
Every APK-derived string is treated as data, never instructions — prompt-injection is isolated by design.
A hash-chained, tamper-evident audit log, with JWT auth across admin / analyst / viewer roles.
Drop an APK into the dashboard and watch the pipeline turn raw bytes into an explainable verdict.