A realtime malware scanner
Find a file
2024-04-20 02:39:21 -03:00
.idea Directly load the pre-processed bloom filters 2023-12-21 23:30:41 -05:00
app Add credits for PT-BR 2024-04-20 02:39:21 -03:00
fastlane/metadata/android Add PT-BR translations to Fastlane 2024-04-20 02:35:41 -03:00
gradle Make the app smaller 2023-12-28 22:09:35 -05:00
graphics Many small improvements 2021-02-22 14:26:23 -05:00
scripts Database generation updates 2024-04-11 21:04:55 -04:00
.gitignore Initial commit 2017-12-13 22:44:56 -05:00
.gitlab-ci.yml CI Improvements 2021-09-24 16:04:57 -04:00
build.gradle Update dependencies 2022-08-21 19:42:41 -04:00
debugkey.pk8 CI Improvements 2021-09-24 16:04:57 -04:00
debugkey.x509.pem CI Improvements 2021-09-24 16:04:57 -04:00
gradle.properties Enable strict dependency verification 2022-08-22 12:50:51 -04:00
gradlew Update dependencies 2022-08-21 19:42:41 -04:00
gradlew.bat Update dependencies 2022-08-21 19:42:41 -04:00
LICENSE Much more scaffolding 2017-12-13 23:42:10 -05:00
README.de.md add & change to german translations 2024-03-04 17:30:02 +00:00
README.es.md Bump for release 2024-02-27 01:46:45 -05:00
README.fr.md Bump for release 2024-02-27 01:46:45 -05:00
README.it.md Bump for release 2024-02-27 01:46:45 -05:00
README.md Bump for release 2024-02-27 01:46:45 -05:00
README.pl.md Bump for release 2024-02-27 01:46:45 -05:00
README.tr.md Bump for release 2024-02-27 01:46:45 -05:00
settings.gradle Bump app version 2017-12-26 18:54:57 -05:00

Banner

Hypatia

Overview

Hypatia is the world's first FOSS malware scanner for Android. It is powered by ClamAV style signature databases.

Get it on F-Droid

Features

  • Near zero battery impact: you'll never notice any impact on battery at all
  • Extremely fast: it can scan small files (1MB) in <20ms, and even large files (40MB) in 1000ms.
  • Memory efficient: with the default databases enabled it uses under 120MB.
  • Regular scan: allowing selection of /system, internal storage, external storage, and installed apps
  • Realtime scanner: can detect malware in realtime on write/rename in internal storage
  • Completely offline: Internet is only used to download signature databases, files will never ever leave your device
  • Persistence: will automatically restart on boot/update
  • Tiny codebase: coming in at under 1000 sloc, it can be audited by even someone with basic programming experience
  • Minimal dependencies: the app only uses libraries when necessary
  • Signature databases can be enabled/disabled at the users demand

Technical Details

  • Signature databases are serialized Guava BloomFilter object format
  • Signature databases will not be redownloaded if the file hasn't changed on the server (304 not modified)
  • Signatures are stored using BloomFilters for O(k) lookup
  • Files have their MD5/SHA-1/SHA-256 hashes calculated in one pass
  • Realtime scanner is multithreaded and will use half of the device's core count for scanning multiple files asynchronously
  • Realtime scanning powered by a recursive FileObserver
  • Network connections will be made to the following: https://divested.dev/MalwareScannerSignatures/hypatia-*-bloom.bin{,.sig}
  • Statistics & generation output of the current database is available via https://divested.dev/MalwareScannerSignatures/

Planned Updates

  • Option to scan on access
  • Scan files via share intent
  • Scan newly installed/updated apps
  • Option to let 3rd-party apps invoke scans
  • Automatic database updates
  • Automatic database generation
  • Database sanity checks
  • Testing
  • Better GUI
  • Translations
  • Scanning entire system using root (low priority)

Goals

  • Be fast
  • Don't eat batteries
  • Use minimal permissions
  • Use libraries only when necessary

Credits

  • ClamAV for the databases (GPLv2)
  • ESET for extra databases (BSD 2-Clause)
  • Nex (@botherder) for extra databases (CC BY-SA 4.0)
  • Amnesty International for extra databases (CC BY 2.0)
  • Echap for extra databases (CC BY 4.0)
  • MalwareBazaar for extra databases (CC0)
  • RecursiveFileObserver.java (GPL-3.0-or-later): Daniel Gultsch, ownCloud Inc., Bartek Przybylski
  • GPGDetachedSignatureVerifier.java (GPL-2.0-or-later): Federico Fissore, Arduino LLC
  • Petra Mirelli for the German/Spanish/Italian translations, the app banner/feature graphic, and various tweaks.
  • Jean-Luc Tibaux and Petra Mirelli for the French translations.
  • @srccrow for the Italian translations.
  • @inkhorn for the Portuguese translations.
  • @jontaix for Portuguese translations.
  • @q1011 for the Russian translations.
  • Oswald van Ginkel for the Afrikaans translations.
  • huuhaa for the Finnish translations.
  • Marcin Mikołajczak for Polish translations.
  • @Manuel-Senpai for the Spanish translations.
  • @Balthazar1234 for German translations.
  • @Sdarfeesh for the simplified Chinese translations.
  • @cardpuncher for French and the Turkish translations.
  • Tommaso Fonda for Italian translations.
  • Dimitris Vagiakakos for the Greek translations.
  • @gallegonovato for the Spanish translations.
  • @Fjuro for the Czech translations.
  • Icons: Google/Android/AOSP, License: Apache 2.0, https://google.github.io/material-design-icons/

Notices

  • Divested Computing Group is not affiliated with Cisco or ESET
  • Hypatia is not sponsored or endorsed by Cisco or ESET

Donate