-
Notifications
You must be signed in to change notification settings - Fork 1
Contributing
Emirhan Uçan edited this page Jul 31, 2026
·
3 revisions
Thank you for your interest in contributing. This guide covers everything you need to get started.
| Contribution Type | Description |
|---|---|
| Bug Reports | Report crashes, false positives, or false negatives |
| Malware Samples | Submit undetected samples (hash + description only) |
| Code | Fix bugs, add features, improve performance |
| Documentation | Improve wiki pages, add examples, fix typos |
| YARA Rules | Write new Android malware detection rules |
| Localization | Add or improve translations for the 20 supported languages |
| Testing | Test on different devices and Android versions |
git clone https://github.com/YOUR_USERNAME/HydraDragonAV-Mobile.git
cd HydraDragonAV-Mobile
git remote add upstream https://github.com/HydraDragonAntivirus/HydraDragonAV-Mobile.gitThe native engine pulls the custom YARA-X fork as a git dependency — cargo fetches it automatically, so no --recurse-submodules is needed. If you need to modify the hydradragon module itself, clone that fork separately.
git checkout -b feature/your-feature-name-
Zero-warning policy:
cargo clippy -- -D warningsmust pass. - Use
rustfmtfor formatting. - JNI functions follow the
Java_com_hydradragon_antivirus_engine_NativeScanner_<name>naming convention. - All
unsafeblocks require safety comments. - Android-specific code must use
#[cfg(target_os = "android")]where appropriate.
- Follow Android AOSP code style.
- Use AndroidX APIs where available.
- Handle runtime permissions gracefully.
- Follow PEP 8.
- Use type hints where practical.
- Rules should target Android malware specifically (use the
hydradragonmodule — including its static APK-analysis exports — where applicable). - Include
author,date,description, andreferencemetadata. - Test rules with
yara-x checkbefore submitting.
- Ensure your code compiles:
- Rust:
cargo checkinhydradragonandroid/ - Android:
./gradlew assembleDebug
- Rust:
- Run clippy:
cargo clippy -- -D warnings(Rust changes) - Test on a physical device or emulator (Android 10+)
- Write a clear PR description explaining what changed and why
- Reference any related issues
[Component] Brief description
- Detail 1
- Detail 2
Fixes #123
Component prefixes:
-
[Engine]— Native Rust engine changes -
[App]— Android app / Java changes -
[Rules]— YARA rule changes -
[Pipeline]— Data pipeline scripts -
[CI]— Workflow / CI changes -
[Docs]— Documentation changes -
[L10n]— Localization changes
Include:
- Device model and Android version
- HydraDragonAV Mobile version/commit
- Which component failed (ScanEngine, GuardService, etc.)
- Steps to reproduce
- Logcat output (if available)
Submit via GitHub Issues (hash + description only — never upload malware to GitHub):
- SHA256 hash of the sample
- VirusTotal link (if available)
- Which engines missed it
Include:
- App name and package name
- SHA256 hash
- Description of the legitimate app
- Which engine triggered the detection
- Developer-Guide — Codebase deep-dive
- Quick-Start-Guide — Build instructions
- Detection-Engines — Understanding the detection stack